Used cmdutil tree_root wrapper to avoid tracebacks on wrong tree
authorAaron Bentley <abentley@panoramicfeedback.com>
Fri, 18 Mar 2005 15:14:25 +0000 (15:14 +0000)
committerAaron Bentley <abentley@panoramicfeedback.com>
Fri, 18 Mar 2005 15:14:25 +0000 (15:14 +0000)
becommands/list.py
becommands/new.py
becommands/show.py
libbe/cmdutil.py

index e89195b606f020abde61191ce58ca4eb2f23bf08..5bd54a2034f7c39dff60d37f9a1b0ae49a945cce 100644 (file)
@@ -11,7 +11,7 @@ def execute(args):
         if bug.severity not in severity:
             return False
         return True
-    all_bugs = list(bugdir.tree_root(os.getcwd()).list())
+    all_bugs = list(cmdutil.bug_tree().list())
     bugs = [b for b in all_bugs if filter(b) ]
     if len(bugs) == 0:
         print "No matching bugs found"
index e36bc84b2b9c21c07aaf85bc123ef210f90712fe..7c3a952c9084f796115a7c9151e452921dadc58f 100644 (file)
@@ -3,7 +3,7 @@ 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(".")
+    dir = cmdutil.bug_tree()
     bug = dir.new_bug()
     bug.creator = names.creator()
     bug.severity = "minor"
index cd74eae789ca559355c0f75d72a1a02e1362679f..3d1c9ed17da288cf5892c090edb4a78bc4abefba 100644 (file)
@@ -3,7 +3,7 @@ from libbe import bugdir, cmdutil
 import os
 
 def execute(args):
-    bug_dir = bugdir.tree_root(os.getcwd())
+    bug_dir = cmdutil.bug_tree()
     if len(args) !=1:
         raise cmdutil.UserError("Please specify a bug id.")
     print cmdutil.bug_summary(cmdutil.get_bug(args[0], bug_dir), 
index ab0e8bee91bbca3369d822c56ff1a20cd4d6f65a..b550eb0df73722340a107246f346699e2d913702 100644 (file)
@@ -1,5 +1,7 @@
 import bugdir
 import plugin
+import os
+
 def unique_name(bug, bugs):
     chars = 1
     for some_bug in bugs:
@@ -90,6 +92,27 @@ def underlined(instring):
     
     return "%s\n%s" % (instring, "="*len(instring))
 
+
+def bug_tree(dir=None):
+    """Retrieve the bug tree specified by the user.  If no directory is
+    specified, the current working directory is used.
+
+    :param dir: The directory to search for the bug tree in.
+
+    >>> bug_tree() is not None
+    True
+    >>> bug_tree("/")
+    Traceback (most recent call last):
+    UserErrorWrap: The directory "/" has no bug directory.
+    """
+    if dir is None:
+        dir = os.getcwd()
+    try:
+        return bugdir.tree_root(dir)
+    except bugdir.NoBugDir, e:
+        raise UserErrorWrap(e)
+
+
 def _test():
     import doctest
     import sys