diff options
Diffstat (limited to 'libbe/command/list.py')
-rw-r--r-- | libbe/command/list.py | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/libbe/command/list.py b/libbe/command/list.py index 6d4fcd8..41e1bed 100644 --- a/libbe/command/list.py +++ b/libbe/command/list.py @@ -32,9 +32,10 @@ import libbe.command.tag import libbe.command.target import libbe.command.util -# get a list of * for cmp_*() comparing two bugs. -AVAILABLE_CMPS = [fn[4:] for fn in dir(libbe.bug) if fn[:4] == 'cmp_'] -AVAILABLE_CMPS.remove('attr') # a cmp_* template. +# get a list of * for idx_*() comparing two bugs. +AVAILABLE_IDXS = [fn[4:] for fn in dir(libbe.bug) if fn[:4] == 'idx_'] +AVAILABLE_IDXS.remove('attr') # a idx_* template. + class List (libbe.command.Command): """List bugs @@ -94,10 +95,10 @@ class List (libbe.command.Command): libbe.command.Option(name='sort', short_name='S', help='Adjust bug-sort criteria with comma-separated list ' 'SORT. e.g. "--sort creator,time". ' - 'Available criteria: %s' % ','.join(AVAILABLE_CMPS), + 'Available criteria: %s' % ','.join(AVAILABLE_IDXS), arg=libbe.command.Argument( name='sort', metavar='SORT', default=None, - completion_callback=libbe.command.util.Completer(AVAILABLE_CMPS))), + completion_callback=libbe.command.util.Completer(AVAILABLE_IDXS))), libbe.command.Option(name='tags', short_name='t', help='Add TAGS: field to standard listing format.'), libbe.command.Option(name='ids', short_name='i', @@ -106,7 +107,7 @@ class List (libbe.command.Command): help='Dump output in XML format'), ]) # parser.add_option("-S", "--sort", metavar="SORT-BY", dest="sort_by", -# help="Adjust bug-sort criteria with comma-separated list SORT-BY. e.g. \"--sort creator,time\". Available criteria: %s" % ','.join(AVAILABLE_CMPS), default=None) +# help="Adjust bug-sort criteria with comma-separated list SORT-BY. e.g. \"--sort creator,time\". Available criteria: %s" % ','.join(AVAILABLE_IDXS), default=None) # # boolean options. All but ids and xml are special cases of long forms # ("w", "wishlist", "List bugs with 'wishlist' severity"), # ("A", "active", "List all active bugs"), @@ -129,20 +130,20 @@ class List (libbe.command.Command): bugdirs = self._get_bugdirs() writeable = storage.writeable storage.writeable = False - cmp_list, status, severity, assigned, extra_strings_regexps = \ + idx_list, status, severity, assigned, extra_strings_regexps = \ self._parse_params(bugdirs, params) filter = Filter(status, severity, assigned, extra_strings_regexps=extra_strings_regexps) bugs = list(itertools.chain(*list( [bugdir.bug_from_uuid(uuid) for uuid in bugdir.uuids()] for bugdir in list(bugdirs.values())))) - bugs = [b for b in bugs if list(filter(bugdirs, b)) == True] + bugs = [b for b in bugs if list(filter(bugdirs, b))] self.result = bugs - if len(bugs) == 0 and params['xml'] == False: + if len(bugs) == 0 and not params['xml']: print('No matching bugs found', file=self.stdout) # sort bugs - bugs = self._sort_bugs(bugs, cmp_list) + bugs = self._sort_bugs(bugs, idx_list) # print list of bugs if params['ids'] == True: @@ -157,10 +158,10 @@ class List (libbe.command.Command): cmp_list = [] if params['sort'] != None: for cmp in params['sort'].split(','): - if cmp not in AVAILABLE_CMPS: + if cmp not in AVAILABLE_IDXS: raise libbe.command.UserError( 'Invalid sort on "%s".\nValid sorts:\n %s' - % (cmp, '\n '.join(AVAILABLE_CMPS))) + % (cmp, '\n '.join(AVAILABLE_IDXS))) cmp_list.append(getattr(libbe.bug, 'cmp_%s' % cmp)) status = parse_status(params['status']) severity = parse_severity(params['severity'], @@ -184,12 +185,12 @@ class List (libbe.command.Command): for x in params['extra-strings'].split(',')] return (cmp_list, status, severity, assigned, extra_strings_regexps) - def _sort_bugs(self, bugs, cmp_list=None): - if cmp_list is None: - cmp_list = [] - cmp_list.extend(libbe.bug.DEFAULT_CMP_FULL_CMP_LIST) - cmp_fn = libbe.bug.BugCompoundComparator(cmp_list=cmp_list) - bugs.sort(cmp_fn) + def _sort_bugs(self, bugs, idx_list=None): + if idx_list is None: + idx_list = [] + idx_list.extend(libbe.bug.DEFAULT_IDX_FULL_IDX_LIST) + # MCEPL idx_fn = libbe.bug.BugCompoundComparator(idx_list=idx_list) + bugs.sort(idx_fn) return bugs def _list_bugs(self, bugs, show_tags=False, xml=False): |