aboutsummaryrefslogtreecommitdiffstats
path: root/libbe/command/list.py
diff options
context:
space:
mode:
Diffstat (limited to 'libbe/command/list.py')
-rw-r--r--libbe/command/list.py37
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):