You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.1 KiB
Python

#!/usr/bin/python
import oursql
db = oursql.connect(host="localhost", user="root", passwd="", db="transfer")
c = db.cursor()
c.execute("SELECT * FROM servers")
servers = c.fetchall()
for server in servers:
c.execute("SELECT * FROM entries WHERE `TargetNode` = ?", (server[1],))
vpses = c.fetchall()
total_vpses = len(vpses)
if server[2] == 0 or server[2] == 3:
current_vps = int(server[3])
else:
current_vps = int(server[3]) - 1
if server[2] == 0:
status = "Reported done."
elif server[2] == 1:
status = "Busy..."
elif server[2] == 2:
status = "Reported failure."
elif server[2] == 3:
status = "Finished."
elif server[2] == 4:
status = "Aborted."
if server[2] == 1:
c.execute("SELECT * FROM entries WHERE `TargetNode` = ? AND `Finished` = 1", (server[1],))
current = c.fetchall()[0]
current_vps_data = "\t%.2fG" % ((current[7] / 1024.0 / 1024),)
status = "Busy... (%s)" % current[2]
else:
current_vps_data = ""
print "%s%s%d/%d (%d%%)%s" % (server[1].ljust(25), status.ljust(25), current_vps, total_vpses, (100.0 * current_vps / total_vpses), current_vps_data)