def formaturl(url, title=None): if not url: return '' if title is None: title = url parsed = urlparse(url) if parsed.scheme == 'http' or parsed.scheme == 'https': url = Markup.escape(url) title = Markup.escape(title) title = unicode(title).replace('*', '<span class="censored">*</span>').replace(u'…', u'<span class="censored">…</span>') return Markup('<a href="%(url)s">%(title)s</a>' % {'url': url, 'title': title}) else: return url
def formatBugLinks(value): def addLink(match): linkApp = match.group(1) if linkApp != None: linkApp = linkApp.lower() linkType = match.group(2).lower() linkNum = int(match.group(3)) if linkType == 'topic': link = 'https://adblockplus.org/forum/viewtopic.php?t=%i' % linkNum elif linkApp == None and linkType == 'issue': link = 'https://issues.adblockplus.org/ticket/%i' % linkNum elif linkApp == 'webkit': link = 'https://bugs.webkit.org/show_bug.cgi?id=%i' % linkNum elif linkApp != None: link = 'http://code.google.com/p/chromium/issues/detail?id=%i' % linkNum else: link = 'https://bugzilla.mozilla.org/show_bug.cgi?id=%i' % linkNum return '<a href="%s">%s</a>' % (link, match.group(0)) regexp = re.compile(r'(https?://\S+?)([.,:;!?"\']?(?:\s|$))', re.I | re.U) regexp2 = re.compile(r'(?:\b(WebKit|Chrome|Chromium)\s+)?\b(bug|issue|topic)\s+(\d+)', re.I | re.U) value = unicode(Markup.escape(value)) value = re.sub(regexp, r'<a href="\1">\1</a>\2', value); value = re.sub(regexp2, addLink, value) return Markup(value)
def formatBugLinks(value): def addLink(match): linkApp = match.group(1) if linkApp != None: linkApp = linkApp.lower() linkType = match.group(2).lower() linkNum = int(match.group(3)) if linkType == 'topic': link = 'https://adblockplus.org/forum/viewtopic.php?t=%i' % linkNum elif linkApp == None and linkType == 'issue': link = 'https://issues.adblockplus.org/ticket/%i' % linkNum elif linkApp == 'webkit': link = 'https://bugs.webkit.org/show_bug.cgi?id=%i' % linkNum elif linkApp != None: link = 'http://code.google.com/p/chromium/issues/detail?id=%i' % linkNum else: link = 'https://bugzilla.mozilla.org/show_bug.cgi?id=%i' % linkNum return '<a href="%s">%s</a>' % (link, match.group(0)) regexp = re.compile(r'(https?://\S+?)([.,:;!?"\']?(?:\s|$))', re.I | re.U) regexp2 = re.compile( r'(?:\b(WebKit|Chrome|Chromium)\s+)?\b(bug|issue|topic)\s+(\d+)', re.I | re.U) value = unicode(Markup.escape(value)) value = re.sub(regexp, r'<a href="\1">\1</a>\2', value) value = re.sub(regexp2, addLink, value) return Markup(value)
def formaturl(url, title=None): if not url: return '' if title is None: title = url parsed = urlparse(url) if parsed.scheme == 'http' or parsed.scheme == 'https': url = Markup.escape(url) title = Markup.escape(title) title = unicode(title).replace( '*', '<span class="censored">*</span>').replace( u'\u2026', u'<span class="censored">\u2026</span>') return Markup('<a href="%(url)s">%(title)s</a>' % { 'url': url, 'title': title }) else: return url
def formatnewlines(value): value = Markup.escape(value) value = unicode(value).replace('\n', '<br />') return Markup(value)
def formatnewlines(value): value = Markup.escape(value) value = unicode(value).replace('\n', '<br />') return Markup(value)