Created bugdir.MultipleBugMatches so bugdir no longer imports cmdutil.
authorW. Trevor King <wking@drexel.edu>
Sun, 23 Nov 2008 19:46:51 +0000 (14:46 -0500)
committerW. Trevor King <wking@drexel.edu>
Sun, 23 Nov 2008 19:46:51 +0000 (14:46 -0500)
libbe/bugdir.py
libbe/rcs.py

index 0a3e164264133af2c0d17fdf8a135d1fc106c4ff..e134a2c2350fe4b4cf4c9766ae05b28825fa309f 100644 (file)
@@ -24,7 +24,6 @@ import doctest
 
 import mapfile
 import bug
-import cmdutil
 import utility
 from rcs import rcs_by_name, detect_rcs, installed_rcs, PathNotInRoot
 
@@ -52,6 +51,14 @@ class InvalidValue(ValueError):
         self.name = name
         self.value = value
 
+class MultipleBugMatches(ValueError):
+    def __init__(self, shortname, matches):
+        msg = ("More than one bug matches %s.  "
+               "Please be more specific.\n%s" % shortname, matches)
+        ValueError.__init__(self, msg)
+        self.shortname = shortnamename
+        self.matches = matches
+
 
 TREE_VERSION_STRING = "Bugs Everywhere Tree 1 0\n"
 
@@ -356,8 +363,7 @@ class BugDir (list):
             if uuid.startswith(shortname):
                 matches.append(uuid)
         if len(matches) > 1:
-            raise cmdutil.UserError("More than one bug matches %s.  "
-                                    "Please be more specific." % shortname)
+            raise MultipleBugMatches(shortname, matches)
         if len(matches) == 1:
             return self.bug_from_uuid(matches[0])
         raise KeyError("No bug matches %s" % shortname)
index e467943d3bfa5171e476c1dbc94026f4835595d6..f2227951c667e636dc85e971e7d970e47a0de4fc 100644 (file)
@@ -25,7 +25,6 @@ import shutil
 import unittest
 import doctest
 
-
 from utility import Dir, search_parent_directories