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.py22
1 files changed, 13 insertions, 9 deletions
diff --git a/libbe/command/list.py b/libbe/command/list.py
index 44be71b..73c60a9 100644
--- a/libbe/command/list.py
+++ b/libbe/command/list.py
@@ -107,8 +107,10 @@ class List (libbe.command.Command):
libbe.command.Option(name='assigned', short_name='a',
help='Only show bugs matching ASSIGNED',
arg=libbe.command.Argument(
- name='assigned', metavar='ASSIGNED', default='all',
+ name='assigned', metavar='ASSIGNED', default=None,
completion_callback=libbe.command.util.complete_assigned)),
+ libbe.command.Option(name='mine', short_name='m',
+ help='List bugs assigned to you'),
libbe.command.Option(name='extra-strings', short_name='e',
help='Only show bugs matching STRINGS, e.g. --extra-strings'
' TAG:working,TAG:xml',
@@ -136,7 +138,6 @@ class List (libbe.command.Command):
# ("U", "unconfirmed", "List unconfirmed bugs"),
# ("o", "open", "List open bugs"),
# ("T", "test", "List bugs in testing"),
-# ("m", "mine", "List bugs assigned to you"))
# for s in bools:
# attr = s[1].replace('-','_')
# short = "-%c" % s[0]
@@ -153,14 +154,14 @@ class List (libbe.command.Command):
writeable = bugdir.storage.writeable
bugdir.storage.writeable = False
cmp_list, status, severity, assigned, extra_strings_regexps = \
- self._parse_params(params)
+ self._parse_params(bugdir, params)
filter = Filter(status, severity, assigned,
extra_strings_regexps=extra_strings_regexps)
bugs = [bugdir.bug_from_uuid(uuid) for uuid in bugdir.uuids()]
bugs = [b for b in bugs if filter(bugdir, b) == True]
self.result = bugs
if len(bugs) == 0 and params['xml'] == False:
- print >> self.stdout, "No matching bugs found"
+ print >> self.stdout, 'No matching bugs found'
# sort bugs
bugs = self._sort_bugs(bugs, cmp_list)
@@ -174,13 +175,13 @@ class List (libbe.command.Command):
bugdir.storage.writeable = writeable
return 0
- def _parse_params(self, params):
+ def _parse_params(self, bugdir, params):
cmp_list = []
if params['sort'] != None:
for cmp in params['sort'].sort_by.split(','):
if cmp not in AVAILABLE_CMPS:
raise libbe.command.UserError(
- "Invalid sort on '%s'.\nValid sorts:\n %s"
+ 'Invalid sort on "%s".\nValid sorts:\n %s'
% (cmp, '\n '.join(AVAILABLE_CMPS)))
cmp_list.append(eval('libbe.bug.cmp_%s' % cmp))
# select status
@@ -203,11 +204,14 @@ class List (libbe.command.Command):
severity = libbe.command.util.select_values(
params['severity'], bug.severity_values)
# select assigned
- if params['assigned'] == "all":
- assigned = "all"
+ if params['assigned'] == None:
+ if params['mine'] == True:
+ assigned = [self._get_user_id()]
+ else:
+ assigned = 'all'
else:
assigned = libbe.command.util.select_values(
- params['assigned'], libbe.command.util.assignees())
+ params['assigned'], libbe.command.util.assignees(bugdir))
for i in range(len(assigned)):
if assigned[i] == '-':
assigned[i] = params['user-id']