diff options
author | W. Trevor King <wking@drexel.edu> | 2009-06-25 10:05:25 -0400 |
---|---|---|
committer | W. Trevor King <wking@drexel.edu> | 2009-06-25 10:05:25 -0400 |
commit | 05892f36554a0cda289b207718289216670ac214 (patch) | |
tree | 19b8054b4849edcac2b06b1045396b415e777bf7 /becommands | |
parent | 5fd3c3c3afa8be4680798978e4e5fb0436fbf00c (diff) | |
download | bugseverywhere-05892f36554a0cda289b207718289216670ac214.tar.gz |
Added regexp matching to `be list --extra-strings'
Diffstat (limited to 'becommands')
-rw-r--r-- | becommands/list.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/becommands/list.py b/becommands/list.py index fa2f592..c397024 100644 --- a/becommands/list.py +++ b/becommands/list.py @@ -17,6 +17,7 @@ """List bugs""" from libbe import cmdutil, bugdir, bug import os +import re __desc__ = __doc__ # get a list of * for cmp_*() comparing two bugs. @@ -110,8 +111,8 @@ def execute(args, test=False): if target == []: # set the default value target = "all" if options.extra_strings != None: - required_extra_strings = options.extra_strings.split(',') - + extra_string_regexps = [re.compile(x) for x in options.extra_strings.split(',')] + def filter(bug): if status != "all" and not bug.status in status: return False @@ -122,9 +123,12 @@ def execute(args, test=False): if target != "all" and not bug.target in target: return False if options.extra_strings != None: + if len(bug.extra_strings) == 0 and len(extra_string_regexps) > 0: + return False for string in bug.extra_strings: - if string not in required_extra_strings: - return False + for regexp in extra_string_regexps: + if not regexp.match(string): + return False return True bugs = [b for b in bd if filter(b) ] |