comparison frontends/src/tools/strings.py @ 842:429c6a0ef73d

frontends (tools): addURLToImage makes an image clickable
author souliane <souliane@mailoo.org>
date Thu, 13 Feb 2014 15:35:21 +0100
parents 1fe00f0c9a91
children 069ad98b360d
comparison
equal deleted inserted replaced
841:831f208b4ea3 842:429c6a0ef73d
52 if not re.match(r"""[a-z]{3,}://|mailto:|xmpp:""", url): 52 if not re.match(r"""[a-z]{3,}://|mailto:|xmpp:""", url):
53 url = "http://" + url 53 url = "http://" + url
54 return '<a href="%s" target="_blank" class="url">%s</a>' % (url, match.group(0)) 54 return '<a href="%s" target="_blank" class="url">%s</a>' % (url, match.group(0))
55 pattern = r"""(?i)\b((?:[a-z]{3,}://|(www|ftp)\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/|mailto:|xmpp:)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?]))""" 55 pattern = r"""(?i)\b((?:[a-z]{3,}://|(www|ftp)\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/|mailto:|xmpp:)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?]))"""
56 return re.sub(pattern, repl, string) 56 return re.sub(pattern, repl, string)
57
58
59 def addURLToImage(string):
60 """Check a XHTML text for what looks like an imageURL and make it clickable"""
61 def repl(match):
62 url = match.group(1)
63 return '<a href="%s" target="_blank">%s</a>' % (url, match.group(0))
64 pattern = r"""<img[^>]* src="([^"]+)"[^>]*>"""
65 return re.sub(pattern, repl, string)