Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
def formatnewlines(value):
  value = Markup.escape(value)
  value = unicode(value).replace('\n', '<br />')
  return Markup(value)
Ejemplo n.º 6
0
def formatnewlines(value):
    value = Markup.escape(value)
    value = unicode(value).replace('\n', '<br />')
    return Markup(value)