summaryrefslogtreecommitdiff
path: root/tracker.0x7c0.com/update-stats.py
diff options
context:
space:
mode:
Diffstat (limited to 'tracker.0x7c0.com/update-stats.py')
-rwxr-xr-xtracker.0x7c0.com/update-stats.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/tracker.0x7c0.com/update-stats.py b/tracker.0x7c0.com/update-stats.py
new file mode 100755
index 0000000..2af62eb
--- /dev/null
+++ b/tracker.0x7c0.com/update-stats.py
@@ -0,0 +1,41 @@
+#!/usr/bin/env python3
+
+import fileinput
+import os
+import shutil
+import sys
+import urllib.request
+
+WWW = '/var/www/tracker.0x7c0.com'
+
+stats = dict.fromkeys(['torrents', 'connections', 'uptime'])
+
+conn = urllib.request.Request(
+ 'http://127.0.0.1:6969/stats?format=txt&mode=conn',
+)
+r = urllib.request.urlopen(conn).read().decode('utf-8').split('\n')
+
+stats['uptime'] = int(int(r[2].split()[0]) / 3600)
+stats['connections'] = r[3].split()[2]
+
+conn = urllib.request.Request(
+ 'http://127.0.0.1:6969/stats?format=txt'
+)
+
+r = urllib.request.urlopen(conn).read().decode('utf-8').split('\n')
+
+stats['torrents'] = r[2].split()[2]
+
+s = (
+ f'The tracker has been up for {stats["uptime"]} hrs, '
+ f'serving {stats["torrents"]} torrents at '
+ f'{stats["connections"]} requests per second.\n'
+)
+
+for line in fileinput.input([os.path.join(WWW, 'index.html')], inplace=True):
+ if line.strip().startswith('The tracker has been'):
+ line = s
+ sys.stdout.write(line)
+
+#import code
+#code.interact(local=locals())