From ec2194e519facd6072210499947fcd78b1ce1f6c Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 6 Jul 2013 09:34:38 +0000 Subject: [PATCH] GitHub: Use git.io (provided by GitHub) instead of ur1.ca (third-party). Closes GH-88. --- GitHub/plugin.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/GitHub/plugin.py b/GitHub/plugin.py index 0686685..2421617 100644 --- a/GitHub/plugin.py +++ b/GitHub/plugin.py @@ -44,7 +44,6 @@ import supybot.ircutils as ircutils import supybot.callbacks as callbacks import supybot.httpserver as httpserver -from . import ur1ca if sys.version_info[0] < 3: from cStringIO import StringIO else: @@ -136,18 +135,19 @@ class GitHub(callbacks.Plugin): bold = ircutils.bold url = commit['url'] - # ur1.ca try: - post_param = ur1ca.parameterize(url) - answerfile = ur1ca.request(post_param) - doc = ur1ca.retrievedoc(answerfile) - answerfile.close() - status, url2 = ur1ca.scrape(doc) - - if status: - url = url2 + data = urlencode({'url': url}) + if sys.version_info[0] >= 3: + data = data.encode() + f = utils.web.getUrlFd('http://git.io/', data=data) + url = list(filter(lambda x:x[0] == 'Location', + f.headers._headers))[0][1].strip() + else: + f = utils.web.getUrlFd('http://git.io/', data=data) + url = filter(lambda x:x.startswith('Location: '), + f.headers.headers)[0].split(': ', 1)[1].strip() except Exception as e: - log.error('Cannot connect to ur1.ca: %s' % e) + log.error('Cannot connect to git.io: %s' % e) s = _('%s/%s (in %s): %s committed %s %s') % \ (payload['repository']['owner']['name'],