diff --git a/services/bitly.py b/services/bitly.py index 247ed6c..8233da8 100644 --- a/services/bitly.py +++ b/services/bitly.py @@ -59,3 +59,21 @@ def expand(self, tinyurl): raise ShortyError(jdata['errorMessage']) return str(jdata['results'].values()[0]['longUrl']) + def stats(self, tinyurl): + if not self.login: + return get_redirect(tinyurl) + parameters, username_pass = self._setup() + parameters['shortUrl'] = tinyurl + resp = request('http://api.bit.ly/v3/clicks', parameters, username_pass) + jdata = json.loads(resp.read()) + if jdata['status_code'] != 200: + raise ShortyError(jdata['errorMessage']) + clicks = {} + clicks['user'] = jdata['data']['clicks'][0]['user_clicks'] + clicks['global'] = jdata['data']['clicks'][0]['global_clicks'] + return clicks + + def qrcode(self, tinyurl): + qrdata = request(tinyurl + '.qrcode').read() + return qrdata + diff --git a/services/google.py b/services/google.py index 965a063..c87144e 100644 --- a/services/google.py +++ b/services/google.py @@ -14,3 +14,7 @@ def shrink(self, bigurl): else: return jdata['short_url'] + def qrcode(self, tinyurl): + qrdata = request(tinyurl + '.qr').read() + return qrdata +