From 97edd822ef1738e396ca583adcd79d4251450034 Mon Sep 17 00:00:00 2001 From: Siegfried-Angel Gevatter Pujals Date: Tue, 29 Dec 2009 22:52:13 +0100 Subject: [PATCH] Recognize lp: links Initial attempt at fixing bug #501461, not working 100%. --- terminatorlib/terminatorterm.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/terminatorlib/terminatorterm.py b/terminatorlib/terminatorterm.py index 94a9cd50..1e9b0de0 100755 --- a/terminatorlib/terminatorterm.py +++ b/terminatorlib/terminatorterm.py @@ -381,10 +381,13 @@ class TerminatorTerm (gtk.VBox): url = 'ftp://' + url elif match == self.matches['addr_only']: url = 'http://' + url - elif match == self.matches['launchpad']: + elif match == self.matches['launchpad-bug']: for item in re.findall(r'[0-9]+',url): url = 'https://bugs.launchpad.net/bugs/%s' % item 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']: # xdg-open will work as-is with apt: URLs 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) # 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 - 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') def _path_lookup(self, command):