3 from feed
import get_json
, FeedError
6 def __init__(self
, bitly_user
, bitly_key
):
7 self
.bitly_user
= bitly_user
8 self
.bitly_key
= bitly_key
10 def shorten(self
, long_url
):
11 url
= 'http://api.bitly.com/v3/shorten?login=%s&apiKey=%s&format=json&' % (self
.bitly_user
, self
.bitly_key
)
12 url
+= urllib
.urlencode({'longUrl': long_url}
)
16 def expand(self
, short_url
):
17 url
= 'http://api.longurl.org/v2/expand?'
18 url
+= urllib
.urlencode({
27 errmsg
= reply
['messages'][0]['message']
28 return {'error': errmsg}
29 except KeyError as ke
:
31 except FeedError
as fe
:
33 url
= 'http://longurlplease.appspot.com/api/v1.1?'
34 url
+= urllib
.urlencode({
37 result
= reply
.get(short_url
, None)
39 return {'error': 'invalid shortened URL'}
41 return {'long-url': result, 'content-type': 'N/A'}
43 return {'error': 'connection timed out'}