Implemented show command
authorAaron Bentley <abentley@panoramicfeedback.com>
Wed, 9 Mar 2005 23:12:52 +0000 (23:12 +0000)
committerAaron Bentley <abentley@panoramicfeedback.com>
Wed, 9 Mar 2005 23:12:52 +0000 (23:12 +0000)
be
libbe/cmdutil.py

diff --git a/be b/be
index 4e57f1e5afd072b6d319d742f7d632ef4c424ea3..e41f0594e13cb9d6d1a21c016195bbbee48fb93b 100755 (executable)
--- a/be
+++ b/be
@@ -5,6 +5,7 @@ Supported commands
  set-root: assign the root directory for bug tracking
       new: Create a new bug
      list: list bugs
+     show: show a particular bug
     close: close a bug
      open: re-open a bug
 
@@ -32,14 +33,14 @@ def list_bugs(args):
     if len(bugs) == 0:
         print "No matching bugs found"
     for bug in bugs:
-        target = bug.target
-        if target is None:
-            target = ""
-        else:
-            target = " target: %s" % target
-        print "id: %s severity: %s%s creator: %s \n%s\n" % \
-            (unique_name(bug, bugs), bug.severity, target, bug.creator,
-             bug.summary)
+        print bug_summary(bug, bugs)
+
+def show_bug(args):
+    bug_dir = tree_root(os.getcwd())
+    if len(args) !=1:
+        raise UserError("Please specify a bug id.")
+    print bug_summary(get_bug(args[0], bug_dir), list(bug_dir.list()))
+
 def set_root(args):
     if len(args) != 1:
         raise UserError("Please supply a directory path")
@@ -72,6 +73,7 @@ else:
         try:
             cmd = {
                 "list": list_bugs,
+                "show": show_bug,
                 "set-root": set_root,
                 "new": new_bug,
                 "close": close_bug,
index 22142602e38ade968e402be6cedada18265d221b..ffd141eb62deca57f771dd18623f1ccb9e7c271b 100644 (file)
@@ -33,3 +33,14 @@ def get_bug(spec, bug_dir):
     if len(matches) == 0:
         raise UserError("No bug has the name %s" % spec)
     return matches[0]
+
+def bug_summary(bug, bugs):
+    target = bug.target
+    if target is None:
+        target = ""
+    else:
+        target = " target: %s" % target
+    return "id: %s severity: %s%s creator: %s \n%s\n" % \
+            (unique_name(bug, bugs), bug.severity, target, bug.creator,
+             bug.summary)
+