From 58ec7fc10ef149c057c8aafa9cb871ac36090195 Mon Sep 17 00:00:00 2001 From: Luke Rogers Date: Thu, 18 Oct 2012 10:10:08 +1300 Subject: [PATCH] Added some error handling to the fishbans plugin --- plugins/fishbans.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/plugins/fishbans.py b/plugins/fishbans.py index 97fee9a..12ce47b 100644 --- a/plugins/fishbans.py +++ b/plugins/fishbans.py @@ -1,6 +1,5 @@ from util import hook, http from urllib import quote_plus -import json api_url = "http://www.fishbans.com/api/stats/%s/force/" @@ -10,7 +9,11 @@ api_url = "http://www.fishbans.com/api/stats/%s/force/" def fishbans(inp): "fishbans -- Gets information on s minecraft bans from fishbans" user = inp - request = http.get_json(api_url % quote_plus(user)) + + try: + request = http.get_json(api_url % quote_plus(user)) + except (http.HTTPError, http.URLError) as e: + return "Could not fetch ban data from the Fishbans API: {}".format(e) if request["success"] == False: return "Could not fetch ban data for %s." % user @@ -26,7 +29,11 @@ def fishbans(inp): def bancount(inp): "bancount -- Gets a count of s minecraft bans from fishbans" user = inp - request = http.get_json(api_url % quote_plus(user)) + + try: + request = http.get_json(api_url % quote_plus(user)) + except (http.HTTPError, http.URLError) as e: + return "Could not fetch ban data from the Fishbans API: {}".format(e) if request["success"] == False: return "Could not fetch ban data for %s." % user @@ -45,4 +52,4 @@ def bancount(inp): return "The user \x02%s\x02 has no bans." % user else: text = "Bans for \x02%s\x02: " % user - return text + ", ".join(out) \ No newline at end of file + return text + ", ".join(out)