Recognize lp:<branch> links

Initial attempt at fixing bug #501461, not working 100%.
This commit is contained in:
Siegfried-Angel Gevatter Pujals 2009-12-29 22:52:13 +01:00
parent 4513eeafc7
commit 97edd822ef
1 changed files with 12 additions and 3 deletions

View File

@ -381,10 +381,13 @@ class TerminatorTerm (gtk.VBox):
url = 'ftp://' + url url = 'ftp://' + url
elif match == self.matches['addr_only']: elif match == self.matches['addr_only']:
url = 'http://' + url url = 'http://' + url
elif match == self.matches['launchpad']: elif match == self.matches['launchpad-bug']:
for item in re.findall(r'[0-9]+',url): for item in re.findall(r'[0-9]+',url):
url = 'https://bugs.launchpad.net/bugs/%s' % item url = 'https://bugs.launchpad.net/bugs/%s' % item
return url return url
elif match == self.matches['launchpad-branch']:
url = url[3:] if url.startswith('lp:') else url
url = 'https://code.launchpad.net/+branch/%s' % url
elif match == self.matches['apturl']: elif match == self.matches['apturl']:
# xdg-open will work as-is with apt: URLs # xdg-open will work as-is with apt: URLs
pass pass
@ -634,8 +637,14 @@ text/plain
self.matches['nntp'] = self._vte.match_add (lboundry + '''news:[-A-Z\^_a-z{|}~!"#$%&'()*+,./0-9;:=?`]+@[-A-Za-z0-9.]+(:[0-9]+)?''' + rboundry) self.matches['nntp'] = self._vte.match_add (lboundry + '''news:[-A-Z\^_a-z{|}~!"#$%&'()*+,./0-9;:=?`]+@[-A-Za-z0-9.]+(:[0-9]+)?''' + rboundry)
# if the url looks like a Launchpad changelog closure entry LP: #92953 - make it a url to http://bugs.launchpad.net # if the url looks like a Launchpad changelog closure entry LP: #92953 - make it a url to http://bugs.launchpad.net
# the regular expression is similar to the perl one specified in the Ubuntu Policy Manual - /lp:\s+\#\d+(?:,\s*\#\d+)*/i # the regular expression is similar to the perl one specified in the Ubuntu Policy Manual - /lp:\s+\#\d+(?:,\s*\#\d+)*/i
self.matches['launchpad'] = self._vte.match_add ('\\b(lp|LP):?\s?#?[0-9]+(,\s*#?[0-9]+)*\\b') self.matches['launchpad-bug'] = self._vte.match_add ('\\b(lp|LP):?\s?#?[0-9]+(,\s*#?[0-9]+)*\\b')
# if it looks like a Launchpad Bazaar branch, make it a url too
lpfilters = {}
lpfilters['project'] = '[a-z0-9]{1}[a-z0-9\.\-\+]+'
lpfilters['group'] = '~%s' % lpfilters['project']
lpfilters['series'] = lpfilters['project']
lpfilters['branch'] = '[a-zA-Z0-9]{1}[a-zA-Z0-9\.\-\+_@]+'
self.matches['launchpad-branch'] = self._vte.match_add ('\\b(lp|LP):(%(project)s(/%(series)s)?|%(group)s/%(project)s/%(branch)s)\\b' % lpfilters)
self.matches['apturl'] = self._vte.match_add ('\\bapt.*\\b') self.matches['apturl'] = self._vte.match_add ('\\bapt.*\\b')
def _path_lookup(self, command): def _path_lookup(self, command):