diff --git a/ennstatus/status/functions.py b/ennstatus/status/functions.py --- a/ennstatus/status/functions.py +++ b/ennstatus/status/functions.py @@ -12,15 +12,15 @@ from flask_mail import Mail, Message mail = Mail() -def _send_mail(server_name, status, last_updated): +def _send_mail(server_name, last_updated): current_app.logger.info('Try sending mail') try: - msg = Message('[Ennstatus] %s went %s' % (server_name, status), + msg = Message('[Ennstatus] %s went offline' % (server_name), sender='ennstatus@enn.lu') msg.add_recipient(current_app.config['SERVER_ADMINS'][server_name]) - msg.body = ('%s went to %s. I received the last update at %s' - % (server_name, status, last_updated)) + msg.body = ('%s went offline. I received the last update at %s' + % (server_name, last_updated)) mail.send(msg) except KeyError: current_app.logger.error('Admin for %s not found!' % server_name) @@ -36,6 +36,7 @@ def _check_server(data): server_name = data['server_name'] last_updated = data['last_updated'] + current_status = data['server_status'] filename = os.path.join('data', '.'.join([server_name.lower(), 'json'])) date = datetime.strptime(last_updated, '%d-%m-%Y %H:%M:%S') @@ -46,7 +47,7 @@ def _check_server(data): os.remove(filename) current_app.logger.error('%s was removed!' % server_name) return False - elif data['server_status'] == 'Offline': + elif current_status == 'Offline': return data if delta.seconds >= 3600: @@ -60,9 +61,9 @@ def _check_server(data): current_app.logger.error('%s is set to %s' % (server_name, status)) - if (data['server_status'] == 'Unknown' and status == 'Offline') \ - or (data['server_status'] == 'Online' and status == 'Unknown'): - _send_mail(server_name, status, last_updated) + if (current_status == 'Online' or current_status == 'Unknown') and \ + status == 'Offline': + _send_mail(server_name, last_updated) for key in ('server_status', 'tor_status'): data[key] = status