diff --git a/ennstatus/status/functions.py b/ennstatus/status/functions.py --- a/ennstatus/status/functions.py +++ b/ennstatus/status/functions.py @@ -14,15 +14,22 @@ mail = Mail() def _check_server(data): - if data['server_status'] == 'Offline': - return data - + server_name = data['server_name'] last_updated = data['last_updated'] date = datetime.strptime(last_updated, '%d-%m-%Y %H:%M:%S') now = datetime.utcnow() delta = now - date + print(server_name) + print(delta.days) + if delta.days >= 7: + os.remove(os.path.join('data', server_name.lower()+'.json')) + current_app.logger.error('%s was removed!' % server_name) + return False + elif data['server_status'] == 'Offline': + return data + if delta.seconds >= 3600: status = 'Offline' elif delta.seconds >= 1200: @@ -31,7 +38,6 @@ def _check_server(data): status = None if status is not None: - server_name = data['server_name'] current_app.logger.error('%s is set to %s' % (server_name, status)) try: @@ -92,8 +98,11 @@ def all_servers(): def all_servers_by_type(type): for server in all_servers(): - if server['server_type'] == type: - yield server + try: + if server['server_type'] == type: + yield server + except TypeError: + continue def split_all_servers_to_types(): @@ -101,6 +110,9 @@ def split_all_servers_to_types(): servers = defaultdict(list) for server in all_servers(): - servers[server['server_type']].append(server) + try: + servers[server['server_type']].append(server) + except TypeError: + continue return servers