From c87adff9baa6694bd78f74b9b7277ed6bfc3571f Mon Sep 17 00:00:00 2001 From: jomo Date: Thu, 7 Aug 2014 02:30:44 +0200 Subject: [PATCH] use new thread for reports list --- reports.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/reports.py b/reports.py index 8d8533b..77e522d 100644 --- a/reports.py +++ b/reports.py @@ -19,10 +19,13 @@ def print_help(sender): def print_list(sender): - msg(sender, "&a" + str(len(reports)) + " reports:") - for i, report in enumerate(reports): - name = server.getOfflinePlayer(juuid(report["uuid"])).getName() - msg(sender, "&8[&e%s&c%s&8] &3%s&f: &a%s" % (i, report["time"], name, report["msg"])) + try: # new thread, anything can happen. + msg(sender, "&a" + str(len(reports)) + " reports:") + for i, report in enumerate(reports): + name = server.getOfflinePlayer(juuid(report["uuid"])).getName() + msg(sender, "&8[&e%s&c%s&8] &3%s&f: &a%s" % (i, report["time"], name, report["msg"])) + except: + warn("Failed to complete report's print_list() thread") def tp_report(sender, rep_id): @@ -58,7 +61,8 @@ def on_rp_command(sender, args): plugin_header(sender, "Reports") if len(args) > 0: if args[0] == "list": - print_list(sender) + # needs to run in seperate thread because of getOfflinePlayer + thread.start_new_thread(print_list, (sender)) else: if not checkargs(sender, args, 2, 2): return True