aboutsummaryrefslogtreecommitdiffstats
path: root/becommands
diff options
context:
space:
mode:
authorW. Trevor King <wking@drexel.edu>2008-11-27 11:03:21 -0500
committerW. Trevor King <wking@drexel.edu>2008-11-27 11:03:21 -0500
commit84551c20fe603ee9832b0b17061660cdf31a913e (patch)
tree20a4e0924b74baee0402213ed9b1dde4214fd840 /becommands
parent216e39db0bd3491ee3740f69a8f2afd49f76eb2f (diff)
downloadbugseverywhere-84551c20fe603ee9832b0b17061660cdf31a913e.tar.gz
Added bugid_args option to cmdutil.default_complete.
Now most of the bug-id arguments support Bash completion. Since there will hopefully be lots of bugs in the database, I decided to filter the list of available bugs. Currently, we just auto-complete active bugs for most commands, with the exceptions of open (obviously) and status (which needs to work on all types of bugs).
Diffstat (limited to 'becommands')
-rw-r--r--becommands/assign.py3
-rw-r--r--becommands/close.py3
-rw-r--r--becommands/merge.py5
-rw-r--r--becommands/open.py3
-rw-r--r--becommands/remove.py3
-rw-r--r--becommands/severity.py3
-rw-r--r--becommands/show.py3
-rw-r--r--becommands/status.py3
-rw-r--r--becommands/target.py3
9 files changed, 20 insertions, 9 deletions
diff --git a/becommands/assign.py b/becommands/assign.py
index 9869350..a41bbae 100644
--- a/becommands/assign.py
+++ b/becommands/assign.py
@@ -43,7 +43,8 @@ def execute(args, test=False):
"""
parser = get_parser()
options, args = parser.parse_args(args)
- cmdutil.default_complete(options, args, parser)
+ cmdutil.default_complete(options, args, parser,
+ bugid_args={0: lambda bug : bug.active==True})
assert(len(args) in (0, 1, 2))
if len(args) == 0:
raise cmdutil.UsageError("Please specify a bug id.")
diff --git a/becommands/close.py b/becommands/close.py
index 37fa032..d8826b0 100644
--- a/becommands/close.py
+++ b/becommands/close.py
@@ -33,7 +33,8 @@ def execute(args, test=False):
"""
parser = get_parser()
options, args = parser.parse_args(args)
- cmdutil.default_complete(options, args, parser)
+ cmdutil.default_complete(options, args, parser,
+ bugid_args={0: lambda bug : bug.active==True})
if len(args) == 0:
raise cmdutil.UsageError("Please specify a bug id.")
if len(args) > 1:
diff --git a/becommands/merge.py b/becommands/merge.py
index 583bd28..9f324f7 100644
--- a/becommands/merge.py
+++ b/becommands/merge.py
@@ -122,7 +122,10 @@ def execute(args, test=False):
"""
parser = get_parser()
options, args = parser.parse_args(args)
- cmdutil.default_complete(options, args, parser)
+ cmdutil.default_complete(options, args, parser,
+ bugid_args={0: lambda bug : bug.active==True,
+ 1: lambda bug : bug.active==True})
+
if len(args) < 2:
raise cmdutil.UsageError("Please specify two bug ids.")
if len(args) > 2:
diff --git a/becommands/open.py b/becommands/open.py
index 41db5e9..7a18fd0 100644
--- a/becommands/open.py
+++ b/becommands/open.py
@@ -32,7 +32,8 @@ def execute(args, test=False):
"""
parser = get_parser()
options, args = parser.parse_args(args)
- cmdutil.default_complete(options, args, parser)
+ cmdutil.default_complete(options, args, parser,
+ bugid_args={0: lambda bug : bug.active==False})
if len(args) == 0:
raise cmdutil.UsageError, "Please specify a bug id."
if len(args) > 1:
diff --git a/becommands/remove.py b/becommands/remove.py
index cd877c5..fa264b8 100644
--- a/becommands/remove.py
+++ b/becommands/remove.py
@@ -37,7 +37,8 @@ def execute(args, test=False):
"""
parser = get_parser()
options, args = parser.parse_args(args)
- cmdutil.default_complete(options, args, parser)
+ cmdutil.default_complete(options, args, parser,
+ bugid_args={0: lambda bug : bug.active==True})
if len(args) != 1:
raise cmdutil.UsageError, "Please specify a bug id."
bd = bugdir.BugDir(from_disk=True, manipulate_encodings=not test)
diff --git a/becommands/severity.py b/becommands/severity.py
index 29a5545..7b7ee29 100644
--- a/becommands/severity.py
+++ b/becommands/severity.py
@@ -35,7 +35,8 @@ def execute(args, test=False):
"""
parser = get_parser()
options, args = parser.parse_args(args)
- cmdutil.default_complete(options, args, parser)
+ cmdutil.default_complete(options, args, parser,
+ bugid_args={0: lambda bug : bug.active==True})
if len(args) not in (1,2):
raise cmdutil.UsageError
bd = bugdir.BugDir(from_disk=True, manipulate_encodings=not test)
diff --git a/becommands/show.py b/becommands/show.py
index 3c00712..37168c1 100644
--- a/becommands/show.py
+++ b/becommands/show.py
@@ -37,7 +37,8 @@ def execute(args, test=False):
"""
parser = get_parser()
options, args = parser.parse_args(args)
- cmdutil.default_complete(options, args, parser)
+ cmdutil.default_complete(options, args, parser,
+ bugid_args={0: lambda bug : bug.active==True})
if len(args) == 0:
raise cmdutil.UsageError
bd = bugdir.BugDir(from_disk=True, manipulate_encodings=not test)
diff --git a/becommands/status.py b/becommands/status.py
index 4ac7170..5ff824e 100644
--- a/becommands/status.py
+++ b/becommands/status.py
@@ -35,7 +35,8 @@ def execute(args, test=False):
"""
parser = get_parser()
options, args = parser.parse_args(args)
- cmdutil.default_complete(options, args, parser)
+ cmdutil.default_complete(options, args, parser,
+ bugid_args={0: lambda bug : True})
if len(args) not in (1,2):
raise cmdutil.UsageError
bd = bugdir.BugDir(from_disk=True, manipulate_encodings=not test)
diff --git a/becommands/target.py b/becommands/target.py
index 497ebf0..d14ff06 100644
--- a/becommands/target.py
+++ b/becommands/target.py
@@ -34,7 +34,8 @@ def execute(args, test=False):
"""
parser = get_parser()
options, args = parser.parse_args(args)
- cmdutil.default_complete(options, args, parser)
+ cmdutil.default_complete(options, args, parser,
+ bugid_args={0: lambda bug : bug.active==True})
if len(args) not in (1, 2):
raise cmdutil.UsageError
bd = bugdir.BugDir(from_disk=True, manipulate_encodings=not test)