aboutsummaryrefslogtreecommitdiffstats
path: root/becommands
diff options
context:
space:
mode:
Diffstat (limited to 'becommands')
-rw-r--r--becommands/__init__.py0
-rw-r--r--becommands/close.py4
-rw-r--r--becommands/list.py18
-rw-r--r--becommands/new.py13
-rw-r--r--becommands/open.py4
-rw-r--r--becommands/set_root.py6
-rw-r--r--becommands/severity.py37
-rw-r--r--becommands/show.py9
8 files changed, 91 insertions, 0 deletions
diff --git a/becommands/__init__.py b/becommands/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/becommands/__init__.py
diff --git a/becommands/close.py b/becommands/close.py
new file mode 100644
index 0000000..184e2e1
--- /dev/null
+++ b/becommands/close.py
@@ -0,0 +1,4 @@
+from libbe import cmdutil
+def execute(args):
+ assert(len(args) == 1)
+ cmdutil.get_bug(args[0]).status = "closed"
diff --git a/becommands/list.py b/becommands/list.py
new file mode 100644
index 0000000..b608629
--- /dev/null
+++ b/becommands/list.py
@@ -0,0 +1,18 @@
+from libbe import bugdir, cmdutil
+import os
+def execute(args):
+ active = True
+ severity = ("minor", "serious", "critical", "fatal")
+ def filter(bug):
+ if active is not None:
+ if bug.active != active:
+ return False
+ if bug.severity not in severity:
+ return False
+ return True
+ all_bugs = list(bugdir.tree_root(os.getcwd()).list())
+ bugs = [b for b in all_bugs if filter(b) ]
+ if len(bugs) == 0:
+ print "No matching bugs found"
+ for bug in bugs:
+ print cmdutil.bug_summary(bug, all_bugs)
diff --git a/becommands/new.py b/becommands/new.py
new file mode 100644
index 0000000..2e78524
--- /dev/null
+++ b/becommands/new.py
@@ -0,0 +1,13 @@
+from libbe import bugdir, cmdutil, names
+def execute(args):
+ if len(args) != 1:
+ raise cmdutil.UserError("Please supply a summary message")
+ dir = bugdir.tree_root(".")
+ bugs = (dir.list())
+ bug = dir.new_bug()
+ bug.creator = names.creator()
+ bug.severity = "minor"
+ bug.status = "open"
+ bug.summary = args[0]
+
+
diff --git a/becommands/open.py b/becommands/open.py
new file mode 100644
index 0000000..db89035
--- /dev/null
+++ b/becommands/open.py
@@ -0,0 +1,4 @@
+from libbe import cmdutil
+def execute(args):
+ assert(len(args) == 1)
+ cmdutil.get_bug(args[0]).status = "open"
diff --git a/becommands/set_root.py b/becommands/set_root.py
new file mode 100644
index 0000000..bf1d495
--- /dev/null
+++ b/becommands/set_root.py
@@ -0,0 +1,6 @@
+from libbe import bugdir, cmdutil
+
+def execute(args):
+ if len(args) != 1:
+ raise cmdutil.UserError("Please supply a directory path")
+ bugdir.create_bug_dir(args[0])
diff --git a/becommands/severity.py b/becommands/severity.py
new file mode 100644
index 0000000..a421dd2
--- /dev/null
+++ b/becommands/severity.py
@@ -0,0 +1,37 @@
+"""Show or change a bug's severity level"""
+from libbe import bugdir
+from libbe import cmdutil
+__desc__ = __doc__
+
+def execute(args):
+ assert(len(args) in (0, 1, 2))
+ if len(args) == 0:
+ print help()
+ return
+ bug = cmdutil.get_bug(args[0])
+ if len(args) == 1:
+ print bug.severity
+ elif len(args) == 2:
+ try:
+ bug.severity = args[1]
+ except bugdir.InvalidValue, e:
+ if e.name != "severity":
+ raise
+ raise cmdutil.UserError ("Invalid severity level: %s" % e.value)
+
+
+def help():
+ return """be severity bug-id [severity]
+
+Show or change a bug's severity level.
+
+If no severity is specified, the current value is printed. If a severity level
+is specified, it will be assigned to the bug.
+
+Severity levels are:
+wishlist: A feature that could improve usefulness, but not a bug.
+ minor: The standard bug level.
+ serious: A bug that requires workarounds.
+critical: A bug that prevents some features from working at all.
+ fatal: A bug that makes the package unusable.
+"""
diff --git a/becommands/show.py b/becommands/show.py
new file mode 100644
index 0000000..8b38386
--- /dev/null
+++ b/becommands/show.py
@@ -0,0 +1,9 @@
+from libbe import bugdir, cmdutil
+import os
+
+def execute(args):
+ bug_dir = bugdir.tree_root(os.getcwd())
+ if len(args) !=1:
+ raise cmdutil.UserError("Please specify a bug id.")
+ print cmdutil.bug_summary(cmdutil.get_bug(args[0], bug_dir),
+ list(bug_dir.list()))