diff options
author | Aaron Bentley <abentley@panoramicfeedback.com> | 2005-03-09 17:37:13 +0000 |
---|---|---|
committer | Aaron Bentley <abentley@panoramicfeedback.com> | 2005-03-09 17:37:13 +0000 |
commit | 8d6a6a2af58408c4066b753f28d5b13ae6ee587a (patch) | |
tree | 360c3f5a11577e64f2010d9f85328a04fab57e03 /libbe/cmdutil.py | |
parent | a137e93fb63f88cf47b70ac5bba51a79df47bd41 (diff) | |
download | bugseverywhere-8d6a6a2af58408c4066b753f28d5b13ae6ee587a.tar.gz |
Moved code into bugdir, handled unknown commands
Diffstat (limited to 'libbe/cmdutil.py')
-rw-r--r-- | libbe/cmdutil.py | 73 |
1 files changed, 3 insertions, 70 deletions
diff --git a/libbe/cmdutil.py b/libbe/cmdutil.py index 6c5285a..4cc7d12 100644 --- a/libbe/cmdutil.py +++ b/libbe/cmdutil.py @@ -1,73 +1,6 @@ -import os -import os.path - -class NoBugDir(Exception): - def __init__(self, path): - msg = "The directory \"%s\" has no bug directory." % path - Exception.__init__(self, msg) - self.path = path - - -def tree_root(dir): - rootdir = os.path.realpath(dir) - while (True): - versionfile=os.path.join(rootdir, ".be/version") - if os.path.exists(versionfile): - test_version(versionfile) - break; - elif rootdir == "/": - raise NoBugDir(dir) - rootdir=os.path.dirname(rootdir) - return BugDir(os.path.join(rootdir, ".be")) - -def test_version(path): - assert (file(path, "rb").read() == "Bugs Everywhere Tree 0 0\n") - -class BugDir: - def __init__(self, dir): - self.dir = dir - self.bugs_path = os.path.join(self.dir, "bugs") - - - def list(self): - for uuid in os.listdir(self.bugs_path): - if (uuid.startswith('.')): - continue - yield Bug(self.bugs_path, uuid) - def unique_name(bug, bugs): return bug.name -def file_property(name): - def getter(self): - return self._get_value(name) - def setter(self, value): - return self._set_value(name, value) - return property(getter, setter) - -class Bug(object): - def __init__(self, path, uuid): - self.path = os.path.join(path, uuid) - self.uuid = uuid - - def get_path(self, file): - return os.path.join(self.path, file) - - def _get_name(self): - return self._get_value("name") - - def _set_name(self, value): - return self._set_value("name", value) - - name = file_property("name") - summary = file_property("summary") - - def _set_status(self, status): - assert status in ("open", "closed") - - def _get_value(self, name): - return file(self.get_path(name), "rb").read().rstrip("\n") - - def _set_value(self, name, value): - file(self.get_path(name), "wb").write("%s\n" % value) - +class UserError(Exception): + def __init__(self, msg): + Exception.__init__(self, msg) |