diff options
author | Aaron Bentley <aaron.bentley@utoronto.ca> | 2005-03-18 01:06:49 +0000 |
---|---|---|
committer | Aaron Bentley <aaron.bentley@utoronto.ca> | 2005-03-18 01:06:49 +0000 |
commit | e2f0f3baf0a2dfb4c3c7b2bc36cded24beeca2ab (patch) | |
tree | a03e7455371ecc3e462969aeef04643454c1f68c | |
parent | 961eff5c9a7cab530b24c25b38cc71d4633c69d8 (diff) | |
download | bugseverywhere-e2f0f3baf0a2dfb4c3c7b2bc36cded24beeca2ab.tar.gz |
Added "assign" command
-rw-r--r-- | becommands/assign.py | 33 | ||||
-rw-r--r-- | libbe/bugdir.py | 2 | ||||
-rw-r--r-- | libbe/cmdutil.py | 10 |
3 files changed, 42 insertions, 3 deletions
diff --git a/becommands/assign.py b/becommands/assign.py new file mode 100644 index 0000000..5b07088 --- /dev/null +++ b/becommands/assign.py @@ -0,0 +1,33 @@ +"""Assign an indivitual or group to fix a bug""" +from libbe import bugdir, cmdutil, names +__desc__ = __doc__ + +def execute(args): + assert(len(args) in (0, 1, 2)) + if len(args) == 0: + print help() + return + bug = cmdutil.get_bug(args[0]) + if len(args) == 1: + bug.assigned = names.creator() + elif len(args) == 2: + if args[1] == "none": + bug.assigned = None + else: + bug.assigned = args[1] + bug.save() + + +def help(): + return """be assign bug-id [assignee] + +Assign a person to fix a bug. + +By default, the bug is self-assigned. If an assignee is specified, the bug +will be assigned to that person. + +Assignees should be the person's Bugs Everywhere identity, the string that +appears in Creator fields. + +To un-assign a bug, specify "none" for the assignee. +""" diff --git a/libbe/bugdir.py b/libbe/bugdir.py index 58fa877..addefe0 100644 --- a/libbe/bugdir.py +++ b/libbe/bugdir.py @@ -113,6 +113,7 @@ class Bug(object): self.target = dict.get("target") self.status = dict.get("status") self.severity = dict.get("severity") + self.assigned = dict.get("assigned") def get_path(self, file): return os.path.join(self.path, self.uuid, file) @@ -129,6 +130,7 @@ class Bug(object): def save(self): map = {} + self.add_attr(map, "assigned") self.add_attr(map, "summary") self.add_attr(map, "creator") self.add_attr(map, "target") diff --git a/libbe/cmdutil.py b/libbe/cmdutil.py index 3fbfb50..7b25e35 100644 --- a/libbe/cmdutil.py +++ b/libbe/cmdutil.py @@ -46,9 +46,13 @@ def bug_summary(bug, bugs): 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) + if bug.assigned is None: + assigned = "" + else: + assigned = " Assigned: %s" % bug.assigned + return "ID: %s Severity: %s%s%s Creator: %s \n%s\n" % \ + (unique_name(bug, bugs), bug.severity, assigned, target, + bug.creator, bug.summary) def iter_commands(): for name, module in plugin.iter_plugins("becommands"): |