Files
@ 900c8c223170
Branch filter:
Location: FVDE/ennstatus/Scripts/check_servers.py - annotation
900c8c223170
1.2 KiB
text/x-python
fixed twitter link and removed links to stats temp
707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 6632069b797d 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 6632069b797d 6632069b797d 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 |
import os
import os.path
import json
from datetime import datetime
DATE_FORMAT = '%d-%m-%Y %H:%M:%S'
DATADIR = './data'
def get_json_files():
for root, _, files in os.walk(DATADIR):
for f in files:
if f.endswith('.json'):
yield os.path.join(root, f)
def check_all_servers():
for f in get_json_files():
try:
with open(f, encoding='utf-8') as file_object:
data = json.load(file_object)
with open(f, mode='w', encoding='utf-8') as file_object:
date = datetime.strptime(data['last_updated'],
DATE_FORMAT)
now = datetime.utcnow()
delta = now - date
if delta.seconds >= 3600:
status = 'Offline'
elif delta.seconds >= 1200:
status = 'Unkown'
else:
status = None
if status:
for key in ('server_status', 'tor_status'):
data[key] = status
json.dump(data, file_object)
except Exception as e:
print(e)
continue
if __name__ == '__main__':
check_all_servers()
|