diff --git a/VERSION b/VERSION index 98d07a7d..ae14e219 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 2.8.2-stable+timestamp.2013.12.15.22.22.52 +Version 2.8.2-stable+timestamp.2013.12.16.21.55.21 diff --git a/gluon/contrib/autolinks.py b/gluon/contrib/autolinks.py index af3d1247..23e9ed10 100644 --- a/gluon/contrib/autolinks.py +++ b/gluon/contrib/autolinks.py @@ -159,6 +159,8 @@ def extension(url): def expand_one(url, cdict): # try ombed but first check in cache + if '@' in url and not '://'in url: + return '%s' % (url, url) if cdict and url in cdict: r = cdict[url] else: diff --git a/gluon/contrib/markmin/markmin2html.py b/gluon/contrib/markmin/markmin2html.py index 2d3b2aa9..95f9dc56 100755 --- a/gluon/contrib/markmin/markmin2html.py +++ b/gluon/contrib/markmin/markmin2html.py @@ -551,7 +551,7 @@ regex_list=re.compile('^(?:(?:(#{1,6})|(?:(\.+|\++|\-+)(\.)?))\s*)?(.*)$') regex_bq_headline=re.compile('^(?:(\.+|\++|\-+)(\.)?\s+)?(-{3}-*)$') regex_tq=re.compile('^(-{3}-*)(?::(?P[a-zA-Z][_a-zA-Z\-\d]*)(?:\[(?P

[a-zA-Z][_a-zA-Z\-\d]*)\])?)?$') regex_proto = re.compile(r'(?/=])(?P

\w+):(?P\w+://[\w\d\-+=?%&/:.]+)', re.M) -regex_auto = re.compile(r'(?/=])(?P\w+://[\w\d\-+_=?%&/:.,;#]+\w)',re.M) +regex_auto = re.compile(r'(?/=])(?P\w+://[\w\d\-+_=?%&/:.,;#]+\w|[\w\-.]+@[\w\-.]+)',re.M) regex_link=re.compile(r'('+LINK+r')|\[\[(?P.+?)\]\]',re.S) regex_link_level2=re.compile(r'^(?P\S.*?)?(?:\s+\[(?P.+?)\])?(?:\s+(?P\S+))?(?:\s+(?P

popup))?\s*$',re.S) regex_media_level2=re.compile(r'^(?P\S.*?)?(?:\s+\[(?P.+?)\])?(?:\s+(?P\S+))?\s+(?P

img|IMG|left|right|center|video|audio|blockleft|blockright)(?:\s+(?P\d+px))?\s*$',re.S) @@ -648,7 +648,9 @@ def autolinks_simple(url): image, video or audio tag """ u_url=url.lower() - if u_url.endswith(('.jpg','.jpeg','.gif','.png')): + if '@' in url and not '://' in url: + return '%s' % (url, url) + elif u_url.endswith(('.jpg','.jpeg','.gif','.png')): return '' % url elif u_url.endswith(('.mp4','.mpeg','.mov','.ogv')): return '' % url @@ -673,6 +675,9 @@ def protolinks_simple(proto, url): return 'QR Code'%url return proto+':'+url +def email_simple(email): + return '%s' % (email, email) + def render(text, extra={}, allowed={},