better autolinks
This commit is contained in:
@@ -1 +1 @@
|
|||||||
Version 1.99.7 (2012-05-03 11:54:24) dev
|
Version 1.99.7 (2012-05-03 17:55:38) dev
|
||||||
|
|||||||
@@ -124,22 +124,19 @@ EXTENSION_MAPS = {
|
|||||||
|
|
||||||
def oembed(url):
|
def oembed(url):
|
||||||
for k,v in EMBED_MAPS:
|
for k,v in EMBED_MAPS:
|
||||||
if k.match(url):
|
if k.match(url):
|
||||||
oembed = v+'?format=json&url='+cgi.escape(url)
|
oembed = v+'?format=json&url='+cgi.escape(url)
|
||||||
try:
|
try:
|
||||||
return loads(urllib.urlopen(oembed).read())
|
return loads(urllib.urlopen(oembed).read())
|
||||||
except: pass
|
except:
|
||||||
|
pass
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
def extension(url):
|
def extension(url):
|
||||||
return url.split('?')[0].split('.')[-1].lower()
|
return url.split('?')[0].split('.')[-1].lower()
|
||||||
|
|
||||||
def expand_one(url,cdict):
|
def expand_one(url,cdict):
|
||||||
# embed images, video, audio files
|
# try ombed but first check in cache
|
||||||
ext = extension(url)
|
|
||||||
if ext in EXTENSION_MAPS:
|
|
||||||
return EXTENSION_MAPS[ext](url)
|
|
||||||
# then try ombed but first check in cache
|
|
||||||
if cdict and url in cdict:
|
if cdict and url in cdict:
|
||||||
r = cdict[url]
|
r = cdict[url]
|
||||||
elif cdict:
|
elif cdict:
|
||||||
@@ -149,6 +146,12 @@ def expand_one(url,cdict):
|
|||||||
# if oembed service
|
# if oembed service
|
||||||
if 'html' in r:
|
if 'html' in r:
|
||||||
return '<embed style="max-width:100%%">%s</embed>' % r['html']
|
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
|
# else regular link
|
||||||
return '<a href="%(u)s">%(u)s</a>' % dict(u=url)
|
return '<a href="%(u)s">%(u)s</a>' % dict(u=url)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user