Human friendly uptime

This commit is contained in:
spla 2021-08-22 12:46:43 +02:00
pare 8c7b01cbc7
commit 72279e5e3c
S'han modificat 2 arxius amb 39 adicions i 2 eliminacions

Veure arxiu

@ -3,3 +3,4 @@ psycopg2-binary>=2.8.4
aiohttp>=3.6.2
aiodns>=2.0.0
matplotlib>=3.3.4
humanfriendly>=9.2

Veure arxiu

@ -1,6 +1,7 @@
import time
import os
from datetime import datetime, timedelta
import humanfriendly
from mastodon import Mastodon
import psycopg2
@ -64,6 +65,40 @@ def get_uptime():
conn.close()
def get_percentage(uptime_servers, software):
try:
conn = None
conn = psycopg2.connect(database=fediverse_db, user=fediverse_db_user, password="", host="/var/run/postgresql", port="5432")
cur = conn.cursor()
cur.execute("select count(server) from fediverse where alive and software=(%s)", (software,))
row = cur.fetchone()
if row is not None:
soft_total_servers = row[0]
cur.close()
soft_uptime_percent = round((uptime_servers * 100) / soft_total_servers, 1)
return (soft_uptime_percent)
except (Exception, psycopg2.DatabaseError) as error:
print(error)
finally:
if conn is not None:
conn.close()
def mastodon():
# Load secrets from secrets file
@ -129,7 +164,7 @@ if __name__ == '__main__':
toot_text = '\nAlive servers: ' + str(alive_servers)
toot_text += '\n\n'
toot_text += "Best #fediverse's server uptime:\n" + str(max_uptime)
toot_text += "Best #fediverse's server uptime:\n" + humanfriendly.format_timespan(max_uptime)
toot_text += '\n'
toot_text += 'Servers with best uptime: ' + str(best_servers)
toot_text += '\n\n'
@ -137,7 +172,8 @@ if __name__ == '__main__':
i = 0
while i < len(software_lst):
toot_text += ':' + str(software_lst[i]) + ': ' + str(servers_lst[i]) + '\n'
soft_percent = get_percentage(servers_lst[i], software_lst[i])
toot_text += ':' + str(software_lst[i]) + ': ' + str(servers_lst[i]) + ' (' + str(soft_percent) + '%)\n'
if len(toot_text) > 480:
break