Files
@ b8abad0605a9
Branch filter:
Location: FVDE/ennstatus/Scripts/check_servers.py - annotation
b8abad0605a9
1.2 KiB
text/x-python
a perlized 'Update Server' script which should run out of the box
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()
|