diff options
author | Aaron Bentley <abentley@panoramicfeedback.com> | 2005-03-09 18:25:15 +0000 |
---|---|---|
committer | Aaron Bentley <abentley@panoramicfeedback.com> | 2005-03-09 18:25:15 +0000 |
commit | 5da244c60c040f23455c1d18107d1abb5b2140c0 (patch) | |
tree | 17c2001fd8fa950eeb4963fbecfffe1a28799463 | |
parent | b2b03a3d1f06e7dba218eccbac0d045cad0a276e (diff) | |
download | bugseverywhere-5da244c60c040f23455c1d18107d1abb5b2140c0.tar.gz |
Added support for severity, creator, target
-rwxr-xr-x | be | 20 | ||||
-rw-r--r-- | libbe/bugdir.py | 23 | ||||
-rw-r--r-- | libbe/bugdir.pyc | bin | 5737 -> 6402 bytes |
3 files changed, 38 insertions, 5 deletions
@@ -12,11 +12,27 @@ import sys import os def list_bugs(args): - bugs = [b for b in tree_root(os.getcwd()).list() if b.active] + active = True + status = ("minor", "serious", "critical", "fatal") + def filter(bug): + if active is not None: + if bug.active != active: + return False + if bug.status not in status: + return False + return True + + bugs = [b for b in tree_root(os.getcwd()).list() ] if len(bugs) == 0: print "No matching bugs found" for bug in bugs: - print "%s: %s" % (unique_name(bug, bugs), bug.summary) + target = bug.target + if target is None: + target = "" + else: + target = " target: %s" % target + print "id: %s severity: %s%s\n%s\n" % (unique_name(bug, bugs), + bug.severity, target, bug.summary) diff --git a/libbe/bugdir.py b/libbe/bugdir.py index de3e550..efb392d 100644 --- a/libbe/bugdir.py +++ b/libbe/bugdir.py @@ -1,6 +1,8 @@ import os import os.path import cmdutil +import errno + class NoBugDir(cmdutil.UserError): def __init__(self, path): @@ -36,10 +38,15 @@ class BugDir: continue yield Bug(self.bugs_path, uuid) -def file_property(name): +def file_property(name, valid=None): def getter(self): - return self._get_value(name) + value = self._get_value(name) + if valid is not None: + assert value in valid + return value def setter(self, value): + if valid is not None: + assert value in valid return self._set_value(name, value) return property(getter, setter) @@ -59,6 +66,10 @@ class Bug(object): name = file_property("name") summary = file_property("summary") + creator = file_property("creator") + target = file_property("target") + severity = file_property("severity", valid=("wishlist", "minor", "serious", + "critical", "fatal")) def _check_status(status): assert status in ("open", "closed") @@ -80,8 +91,14 @@ class Bug(object): active = property(_get_active) def _get_value(self, name): - return file(self.get_path(name), "rb").read().rstrip("\n") + try: + return file(self.get_path(name), "rb").read().rstrip("\n") + except IOError, e: + if e.errno == errno.EEXIST: + return None def _set_value(self, name, value): + if value is None: + os.unlink(self.get_path(name)) file(self.get_path(name), "wb").write("%s\n" % value) diff --git a/libbe/bugdir.pyc b/libbe/bugdir.pyc Binary files differindex 1248090..3d8dfc6 100644 --- a/libbe/bugdir.pyc +++ b/libbe/bugdir.pyc |