From bf266dd21fe8a5d94d63d86a773de9b553edd1c7 Mon Sep 17 00:00:00 2001 From: nemunaire Date: Thu, 18 Dec 2014 13:02:19 +0100 Subject: [PATCH] [ycc] Dusting --- modules/ycc.py | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/modules/ycc.py b/modules/ycc.py index bc90cf2..0a42fc3 100644 --- a/modules/ycc.py +++ b/modules/ycc.py @@ -21,14 +21,24 @@ def help_full(): LAST_URLS = dict() +def reduce(url): + """Ask YCC website to reduce given URL + + Argument: + url -- the URL to reduce + """ + + snd_url = "http://ycc.fr/redirection/create/" + quote(url, "/:%@&=?") + print_debug(snd_url) + return web.getURLContent(snd_url) + + def gen_response(res, msg, srv): if res is None: - raise IRCException("la situation est embarassante, il semblerait que YCC soit down :(") - elif isinstance(res, str): + raise IRCException("mauvaise URL : %s" % srv) + else: return TextMessage("URL pour %s : %s" % (srv, res), server=None, to=msg.to_response) - else: - raise IRCException("mauvaise URL : %s" % srv) @hook("cmd_hook", "ycc") @@ -51,16 +61,13 @@ def cmd_ycc(msg): for url in minify: o = urlparse(url, "http") if o.scheme != "": - snd_url = "http://ycc.fr/redirection/create/" + quote(url, - "/:%@&=?") - print_debug(snd_url) - page = web.getURLContent(snd_url) + minief_url = reduce(url) if o.netloc == "": - res.append(gen_response(page, msg, o.scheme)) + res.append(gen_response(minief_url, msg, o.scheme)) else: - res.append(gen_response(page, msg, o.netloc)) + res.append(gen_response(minief_url, msg, o.netloc)) else: - res.append(gen_response(False, msg, url)) + res.append(gen_response(None, msg, url)) return res