many pep8 improvements
This commit is contained in:
1 parent
b716df1a05
commit
4b2ba185ae
117 files changed
+7160
-5670
No files matched your search
+29
-16
@@ -42,7 +42,9 @@ revision3.com
|
||||
viddler.com
|
||||
"""
|
||||
|
||||
import re, cgi, sys
|
||||
import re
|
||||
import cgi
|
||||
import sys
|
||||
from simplejson import loads
|
||||
import urllib
|
||||
import uuid
|
||||
@@ -75,23 +77,28 @@ EMBED_MAPS = [
|
||||
'http://revision3.com/api/oembed/'),
|
||||
(re.compile('http://\S+.viddler.com/\S+'),
|
||||
'http://lab.viddler.com/services/oembed/'),
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
def image(url):
|
||||
return '<img src="%s" style="max-width:100%%"/>' % url
|
||||
|
||||
|
||||
def audio(url):
|
||||
return '<audio controls="controls" style="max-width:100%%"><source src="%s" /></audio>' % url
|
||||
|
||||
|
||||
def video(url):
|
||||
return '<video controls="controls" style="max-width:100%%"><source src="%s" /></video>' % url
|
||||
|
||||
|
||||
def googledoc_viewer(url):
|
||||
return '<iframe src="http://docs.google.com/viewer?url=%s&embedded=true" style="max-width:100%%"></iframe>' % urllib.quote(url)
|
||||
|
||||
|
||||
def web2py_component(url):
|
||||
code = str(uuid.uuid4())
|
||||
return '<div id="%s"></div><script>\nweb2py_component("%s","%s");\n</script>' % (code,url,code)
|
||||
return '<div id="%s"></div><script>\nweb2py_component("%s","%s");\n</script>' % (code, url, code)
|
||||
|
||||
EXTENSION_MAPS = {
|
||||
'png': image,
|
||||
@@ -126,33 +133,37 @@ EXTENSION_MAPS = {
|
||||
'xps': googledoc_viewer,
|
||||
}
|
||||
|
||||
|
||||
class VimeoURLOpener(urllib.FancyURLopener):
|
||||
"Vimeo blocks the urllib user agent for some reason"
|
||||
version = "Mozilla/4.0"
|
||||
urllib._urlopener = VimeoURLOpener()
|
||||
|
||||
|
||||
def oembed(url):
|
||||
for k,v in EMBED_MAPS:
|
||||
for k, v in EMBED_MAPS:
|
||||
if k.match(url):
|
||||
oembed = v+'?format=json&url='+cgi.escape(url)
|
||||
oembed = v + '?format=json&url=' + cgi.escape(url)
|
||||
try:
|
||||
data = urllib.urlopen(oembed).read()
|
||||
print data
|
||||
return loads(data) # json!
|
||||
return loads(data) # json!
|
||||
except:
|
||||
pass
|
||||
return {}
|
||||
|
||||
|
||||
def extension(url):
|
||||
return url.split('?')[0].split('.')[-1].lower()
|
||||
|
||||
def expand_one(url,cdict):
|
||||
|
||||
def expand_one(url, cdict):
|
||||
# try ombed but first check in cache
|
||||
if cdict and url in cdict:
|
||||
r = cdict[url]
|
||||
else:
|
||||
r = oembed(url)
|
||||
if isinstance(cdict,dict):
|
||||
if isinstance(cdict, dict):
|
||||
cdict[url] = r
|
||||
# if oembed service
|
||||
if 'html' in r:
|
||||
@@ -170,21 +181,23 @@ def expand_one(url,cdict):
|
||||
# else regular link
|
||||
return '<a href="%(u)s">%(u)s</a>' % dict(u=url)
|
||||
|
||||
def expand_html(html,cdict=None):
|
||||
|
||||
def expand_html(html, cdict=None):
|
||||
if not have_soup:
|
||||
raise RuntimeError, "Missing BeautifulSoup"
|
||||
raise RuntimeError("Missing BeautifulSoup")
|
||||
soup = BeautifulSoup(html)
|
||||
comments = soup.findAll(text=lambda text:isinstance(text, Comment))
|
||||
comments = soup.findAll(text=lambda text: isinstance(text, Comment))
|
||||
[comment.extract() for comment in comments]
|
||||
for txt in soup.findAll(text=True):
|
||||
if not txt.parent.name in ('a','script','pre','code','embed','object','audio','video'):
|
||||
if not txt.parent.name in ('a', 'script', 'pre', 'code', 'embed', 'object', 'audio', 'video'):
|
||||
ntxt = regex_link.sub(
|
||||
lambda match: expand_one(match.group(0),cdict), txt)
|
||||
lambda match: expand_one(match.group(0), cdict), txt)
|
||||
txt.replaceWith(BeautifulSoup(ntxt))
|
||||
return str(soup)
|
||||
|
||||
|
||||
def test():
|
||||
example="""
|
||||
example = """
|
||||
<h3>Fringilla nisi parturient nullam</h3>
|
||||
<p>http://www.youtube.com/watch?v=IWBFiI5RrA0</p>
|
||||
<p>http://www.web2py.com/examples/static/images/logo_bw.png</p>
|
||||
@@ -198,8 +211,8 @@ laoreet tortor.</p>
|
||||
"""
|
||||
return expand_html(example)
|
||||
|
||||
if __name__=="__main__":
|
||||
if len(sys.argv)>1:
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) > 1:
|
||||
print expand_html(open(sys.argv[1]).read())
|
||||
else:
|
||||
print test()
|
||||
Reference in new issue
Block a user