better autolinks

This commit is contained in:
Massimo Di Pierro
2012-05-03 17:56:06 -05:00
parent 2d2fdb5743
commit b452d0744a
2 changed files with 12 additions and 9 deletions
+1 -1
View File
@@ -1 +1 @@
Version 1.99.7 (2012-05-03 11:54:24) dev
Version 1.99.7 (2012-05-03 17:55:38) dev
+11 -8
View File
@@ -124,22 +124,19 @@ EXTENSION_MAPS = {
def oembed(url):
for k,v in EMBED_MAPS:
if k.match(url):
oembed = v+'?format=json&url='+cgi.escape(url)
if k.match(url):
oembed = v+'?format=json&url='+cgi.escape(url)
try:
return loads(urllib.urlopen(oembed).read())
except: pass
except:
pass
return {}
def extension(url):
return url.split('?')[0].split('.')[-1].lower()
def expand_one(url,cdict):
# embed images, video, audio files
ext = extension(url)
if ext in EXTENSION_MAPS:
return EXTENSION_MAPS[ext](url)
# then try ombed but first check in cache
# try ombed but first check in cache
if cdict and url in cdict:
r = cdict[url]
elif cdict:
@@ -149,6 +146,12 @@ def expand_one(url,cdict):
# if oembed service
if 'html' in r:
return '<embed style="max-width:100%%">%s</embed>' % r['html']
elif 'url' in r:
url = r['url']
# embed images, video, audio files
ext = extension(url)
if ext in EXTENSION_MAPS:
return EXTENSION_MAPS[ext](url)
# else regular link
return '<a href="%(u)s">%(u)s</a>' % dict(u=url)