From 05892f36554a0cda289b207718289216670ac214 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Thu, 25 Jun 2009 10:05:25 -0400 Subject: Added regexp matching to `be list --extra-strings' --- becommands/list.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'becommands/list.py') 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) ] -- cgit