--- /dev/null
+"""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.
+"""
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)
def save(self):
map = {}
+ self.add_attr(map, "assigned")
self.add_attr(map, "summary")
self.add_attr(map, "creator")
self.add_attr(map, "target")
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"):