diff --git a/src/gameservers/management/commands/update_population.py b/src/gameservers/management/commands/update_population.py index 9ac418c..61d7d19 100755 --- a/src/gameservers/management/commands/update_population.py +++ b/src/gameservers/management/commands/update_population.py @@ -48,14 +48,20 @@ class ServerParser(object): soup_data = BeautifulSoup(raw_data) for server_data in soup_data.find_all('div', 'live_game_status'): server = self._parse_server_data(server_data) - servers.append(server) + if server: + servers.append(server) logging.info('Number of servers parsed: {}'.format(len(servers))) return servers def _parse_server_data(self, data): '''Parse the individual parts of each server.''' - title = data.find('b').text.splitlines()[0].strip() + try: + title = data.find('b').text.splitlines()[0].strip() + except AttributeError: + # HACK: I think this happends because the raw data was incomplete. + # No complete data, no server update. + return None game_url = data.find('span', 'smaller').text tmp = data.find('a')