diff --git a/plugins/Stats/StatsPlugin.py b/plugins/Stats/StatsPlugin.py index 72c4b7be..06e76cb0 100644 --- a/plugins/Stats/StatsPlugin.py +++ b/plugins/Stats/StatsPlugin.py @@ -1,10 +1,11 @@ import time -import cgi +import html import os import json from Plugin import PluginManager from Config import config +from util import helper @PluginManager.registerTo("UiRequest") @@ -23,7 +24,7 @@ class UiRequestPlugin(object): else: formatted = format % val back.append("%s" % formatted) - return "%s" % (class_name.encode("utf8"), "".join(back).encode("utf8")) + return "%s" % (class_name, "".join(back)) def getObjSize(self, obj, hpy=None): if hpy: @@ -32,6 +33,7 @@ class UiRequestPlugin(object): return 0 # /Stats entry point + @helper.encodeResponse def actionStats(self): import gc import sys @@ -125,10 +127,10 @@ class UiRequestPlugin(object): ("since", connection.start_time), ("%.3f", max(-1, connection.last_sent_time - connection.last_send_time)), ("%.3f", connection.cpu_time), - ("%.0fkB", connection.bytes_sent / 1024), - ("%.0fkB", connection.bytes_recv / 1024), + ("%.0fk", connection.bytes_sent / 1024), + ("%.0fk", connection.bytes_recv / 1024), ("%s", (connection.last_cmd_recv, connection.last_cmd_sent)), - ("%s", connection.waiting_requests.keys()), + ("%s", list(connection.waiting_requests.keys())), ("%s r%s", (connection.handshake.get("version"), connection.handshake.get("rev", "?"))), ("%.2fs", time_correction), ("%s", connection.sites) @@ -138,7 +140,7 @@ class UiRequestPlugin(object): # Trackers yield "

Trackers:
" yield "" - for tracker_address, tracker_stat in sorted(sys.modules["Site.SiteAnnouncer"].global_stats.iteritems()): + for tracker_address, tracker_stat in sorted(sys.modules["Site.SiteAnnouncer"].global_stats.items()): yield self.formatTableRow([ ("%s", tracker_address), ("%s", tracker_stat["num_request"]), @@ -151,7 +153,7 @@ class UiRequestPlugin(object): yield "

Shared trackers:
" yield "
address request successive errors last_request
" from AnnounceShare import AnnounceSharePlugin - for tracker_address, tracker_stat in sorted(AnnounceSharePlugin.tracker_storage.getTrackers().iteritems()): + for tracker_address, tracker_stat in sorted(AnnounceSharePlugin.tracker_storage.getTrackers().items()): yield self.formatTableRow([ ("%s", tracker_address), ("%.0f min ago", min(999, (time.time() - tracker_stat["time_added"]) / 60)), @@ -163,9 +165,9 @@ class UiRequestPlugin(object): yield "
address added found latency successive errors last_success
" # Tor hidden services - yield "

Tor hidden services (status: %s):
" % main.file_server.tor_manager.status.encode("utf8") - for site_address, onion in main.file_server.tor_manager.site_onions.items(): - yield "- %-34s: %s
" % (site_address, onion.encode("utf8")) + yield "

Tor hidden services (status: %s):
" % main.file_server.tor_manager.status + for site_address, onion in list(main.file_server.tor_manager.site_onions.items()): + yield "- %-34s: %s
" % (site_address, onion) # Db yield "

Db:
" @@ -176,7 +178,7 @@ class UiRequestPlugin(object): table_rows[table] = db.execute("SELECT COUNT(*) AS c FROM %s" % table).fetchone()["c"] db_size = os.path.getsize(db.db_path) / 1024.0 / 1024.0 yield "- %.3fs: %s %.3fMB, table rows: %s
" % ( - time.time() - db.last_query_time, db.db_path.encode("utf8"), db_size, json.dumps(table_rows, sort_keys=True) + time.time() - db.last_query_time, db.db_path, db_size, json.dumps(table_rows, sort_keys=True) ) @@ -184,27 +186,27 @@ class UiRequestPlugin(object): yield "

Sites:" yield "" yield "" - for site in sorted(self.server.sites.values(), lambda a, b: cmp(a.address,b.address)): + for site in list(self.server.sites.values()): yield self.formatTableRow([ ( """%s""", (site.address, site.address) ), - ("%s", [peer.connection.id for peer in site.peers.values() if peer.connection and peer.connection.connected]), + ("%s", [peer.connection.id for peer in list(site.peers.values()) if peer.connection and peer.connection.connected]), ("%s/%s/%s", ( - len([peer for peer in site.peers.values() if peer.connection and peer.connection.connected]), + len([peer for peer in list(site.peers.values()) if peer.connection and peer.connection.connected]), len(site.getConnectablePeers(100)), len(site.peers) )), ("%s (loaded: %s)", ( len(site.content_manager.contents), - len([key for key, val in dict(site.content_manager.contents).iteritems() if val]) + len([key for key, val in dict(site.content_manager.contents).items() if val]) )), - ("%.0fkB", site.settings.get("bytes_sent", 0) / 1024), - ("%.0fkB", site.settings.get("bytes_recv", 0) / 1024), + ("%.0fk", site.settings.get("bytes_sent", 0) / 1024), + ("%.0fk", site.settings.get("bytes_recv", 0) / 1024), ], "serving-%s" % site.settings["serving"]) yield "
address connected peers content.json out in