Handle keyboard interrupt

Signed-off-by: fly <merspieler@airmail.cc>
This commit is contained in:
fly 2020-08-27 11:05:17 +00:00
parent 23be5d6cc3
commit 5bd5d9da92

View file

@ -85,31 +85,34 @@ db = pymysql.connect("localhost", dbuser, dbpw, "worldbuild")
cursor = db.cursor()
while True:
sql = "SELECT topLevel.name AS topLevelName, status.name AS statusName, COUNT(*) AS sCount from secondLevel JOIN topLevel ON secondLevel.parent_id = topLevel.id JOIN status ON secondLevel.status_id = status.id GROUP BY status.id, topLevelName"
cursor.execute(sql)
rows = cursor.fetchall()
status = {}
for row in rows:
if not row[0] in status:
status[row[0]] = {}
status[row[0]][row[1]] = row[2]
sql = "SELECT topLevel.name, status.name FROM topLevel JOIN status ON topLevel.status_id = status.id"
cursor.execute(sql)
rows = cursor.fetchall()
for row in rows:
status[row[0]]["status"] = row[1]
try:
with open(fname, "w") as f:
json.dump(status, f, indent=4)
except IOError:
print("ERROR: Failed to write to file")
try:
while True:
sql = "SELECT topLevel.name AS topLevelName, status.name AS statusName, COUNT(*) AS sCount from secondLevel JOIN topLevel ON secondLevel.parent_id = topLevel.id JOIN status ON secondLevel.status_id = status.id GROUP BY status.id, topLevelName"
cursor.execute(sql)
rows = cursor.fetchall()
if repeat == 0:
sys.exit(0)
else:
sleep(repeat * 60)
status = {}
for row in rows:
if not row[0] in status:
status[row[0]] = {}
status[row[0]][row[1]] = row[2]
sql = "SELECT topLevel.name, status.name FROM topLevel JOIN status ON topLevel.status_id = status.id"
cursor.execute(sql)
rows = cursor.fetchall()
for row in rows:
status[row[0]]["status"] = row[1]
try:
with open(fname, "w") as f:
json.dump(status, f, indent=4)
except IOError:
print("ERROR: Failed to write to file")
if repeat == 0:
sys.exit(0)
else:
sleep(repeat * 60)
except KeyboardInterrupt:
print("Exiting...")