Files
@ f0c4f1476771
Branch filter:
Location: FVDE/ennstatus/Scripts/check_servers.py - annotation
f0c4f1476771
1.2 KiB
text/x-python
multiple instances now fully supported
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 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 707908d9cfa7 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.second >= 1200:
status = 'Unkown'
else:
status = None
if status:
for key in ('server_status', 'tor_status'):
data[key] = status
json.dump(data, file_object)
except:
continue
if __name__ == '__main__':
check_all_servers()
|