diff --git a/Bugtracker/__init__.py b/Bugtracker/__init__.py index 85e2ac6..892a5b6 100644 --- a/Bugtracker/__init__.py +++ b/Bugtracker/__init__.py @@ -23,7 +23,7 @@ import supybot import supybot.world as world from importlib import reload -__version__ = "5.1.0" +__version__ = "5.2.0" __author__ = supybot.Author("Krytarik Raido", "krytarik", "krytarik@gmail.com") __contributors__ = { supybot.Author("Dennis Kaarsemaker", "Seveas", "dennis@kaarsemaker.net"): ['Original Author'], diff --git a/Bugtracker/plugin.py b/Bugtracker/plugin.py index a59a404..d4d3728 100644 --- a/Bugtracker/plugin.py +++ b/Bugtracker/plugin.py @@ -309,11 +309,11 @@ class Bugtracker(callbacks.PluginRegexp): return msg def bugSnarfer(self, irc, msg, match): - r"(?P[a-z][^\s:]*(\s+(bug|ticket|issue|pull|pr|merge|mr)('?s)?)?)(:+\s*#?|\s+#?|\s*#)(?P\d+(?!\d*[-.]\d+)(\s*([,\s]+|[,\s]*(and|und|en|et|ir|[&+]+))\s*#?\d+(?!\d*[-.]\d+))*)" + r"(?P[a-z][^\s:]*(\s+(bug|ticket|issue|pull|pr|merge|mr)('?s)?)?)(?P:+\s*[#!]?|\s+[#!]?|\s*[#!])(?P\d+(?!\d*[-.]\d+)(\s*([,\s]+|[,\s]*(and|und|en|et|ir|[&+]+))\s*#?\d+(?!\d*[-.]\d+))*)" self.termSnarfer(irc, msg, match, 'bug') def commitSnarfer(self, irc, msg, match): - r"(?P[a-z][^\s:]*(\s+(commit)('?s)?)?)(:+\s*#?|\s+#?|\s*#)(?P[a-f0-9]{7,}(?![a-f0-9]*[-.][a-f0-9]{7,})(\s*([,\s]+|[,\s]*(and|und|en|et|ir|[&+]+))\s*#?[a-f0-9]{7,}(?![a-f0-9]*[-.][a-f0-9]{7,}))*)" + r"(?P[a-z][^\s:]*(\s+(commit)('?s)?)?)(?P:+\s*#?|\s+#?|\s*#)(?P[a-f0-9]{7,}(?![a-f0-9]*[-.][a-f0-9]{7,})(\s*([,\s]+|[,\s]*(and|und|en|et|ir|[&+]+))\s*#?[a-f0-9]{7,}(?![a-f0-9]*[-.][a-f0-9]{7,}))*)" self.termSnarfer(irc, msg, match, 'commit') def termSnarfer(self, irc, msg, match, termtype): @@ -347,13 +347,17 @@ class Bugtracker(callbacks.PluginRegexp): # Get bug type if sure_bug: bugtype = sure_bug.group('type') + elif '#' in match.group('prefix'): + bugtype = 'bug' + elif '!' in match.group('prefix'): + bugtype = 'merge' else: bugtype = '' bugids = list(set(bugids)) # remove dupes - if not sure_bug and termtype == 'bug': - bugids = [x for x in bugids if int(x) > 100] + if termtype == 'bug' and not bugtype: + bugids = [x for x in bugids if int(x) >= 100] msg.tag('nbugs', nbugs + len(bugids))