Implemented current target setting
authorAaron Bentley <aaron.bentley@utoronto.ca>
Sat, 19 Mar 2005 07:53:03 +0000 (07:53 +0000)
committerAaron Bentley <aaron.bentley@utoronto.ca>
Sat, 19 Mar 2005 07:53:03 +0000 (07:53 +0000)
.be/bugs/9daa72ee-0721-4f68-99ee-f06fec0b340e/values
becommands/list.py
becommands/set.py
libbe/bugdir.py

index b2c2b0a29f22fccfc7708dd6bce8b547cb89d9bf..e6f6827706f60e2ad5d624dad0f94c4201846d2a 100644 (file)
@@ -22,7 +22,7 @@ severity=minor
 
 
 
-status=open
+status=closed
 
 
 
index 0b27a25458ced5de38ca30154e48955eb1e2200f..d92ebaced132cc3fea82e95f48a597046bb1220b 100644 (file)
@@ -4,6 +4,7 @@ import os
 def execute(args):
     active = True
     severity = ("minor", "serious", "critical", "fatal")
+    tree = cmdutil.bug_tree()
     def filter(bug):
         if active is not None:
             if bug.active != active:
@@ -11,16 +12,31 @@ def execute(args):
         if bug.severity not in severity:
             return False
         return True
-    all_bugs = list(cmdutil.bug_tree().list())
+    all_bugs = list(tree.list())
     bugs = [b for b in all_bugs if filter(b) ]
     if len(bugs) == 0:
         print "No matching bugs found"
     current_id = names.creator()
     
+    my_target_bugs = []
+    other_target_bugs = []
+    unassigned_target_bugs = []
     my_bugs = []
     other_bugs = []
     unassigned_bugs = []
     for bug in bugs:
+        if tree.target is not None and bug.target != tree.target:
+            continue
+        if bug.assigned == current_id:
+            my_target_bugs.append(bug)
+        elif bug.assigned is None:
+            unassigned_target_bugs.append(bug)
+        else:
+            other_target_bugs.append(bug)
+
+    for bug in bugs:
+        if tree.target is not None and bug.target == tree.target:
+            continue
         if bug.assigned == current_id:
             my_bugs.append(bug)
         elif bug.assigned is None:
@@ -35,6 +51,12 @@ def execute(args):
             for bug in cur_bugs:
                 print cmdutil.bug_summary(bug, all_bugs)
     
+    list_bugs(my_target_bugs, 
+              "Bugs assigned to you for target %s" % tree.target)
+    list_bugs(unassigned_target_bugs, 
+              "Unassigned bugs for target %s" % tree.target)
+    list_bugs(other_target_bugs, 
+              "Bugs assigned to others for target %s" % tree.target)
     list_bugs(my_bugs, "Bugs assigned to you")
     list_bugs(unassigned_bugs, "Unassigned bugs")
     list_bugs(other_bugs, "Bugs assigned to others")
index 956a95e5736e1b538e2bc65d205778fea7265811..547e4a932b5653da3238c33190367ec982ba8e1a 100644 (file)
@@ -1,11 +1,36 @@
 """Change tree settings"""
 from libbe import cmdutil 
 def execute(args):
-    assert len(args) in (1, 2)
+    assert len(args) in (0, 1, 2)
     tree = cmdutil.bug_tree()
-    if len(args) == 1:
+    if len(args) == 0:
+        keys = tree.settings.keys()
+        keys.sort()
+        for key in keys:
+            print "%16s: %s" % (key, tree.settings[key])
+    elif len(args) == 1:
         print tree.settings.get(args[0])
     else:
-        tree.settings[args[0]] = args[1]
+        if args[1] != "none":
+            tree.settings[args[0]] = args[1]
+        else:
+            del tree.settings[args[0]]
         tree.save_settings()
 
+def help():
+    return """be set [name] [value]
+
+Show or change per-tree settings. 
+
+If name and value are supplied, the name is set to a new value.
+If no value is specified, the current value is printed.
+If no arguments are provided, all names and values are listed. 
+
+Interesting settings are:
+rcs_name
+  The name of the revision control system.  "Arch" and "None" are supported.
+target
+  The current development goal 
+
+To unset a setting, set it to "none".
+"""
index 9084ee86221b265a953f0f73cda0c406327bbe4d..e2f40d67bdd535b13d014777325d6b096d0f3fbd 100644 (file)
@@ -83,6 +83,8 @@ class BugDir:
     rcs_name = setting_property("rcs_name", ("None", "Arch"))
     _rcs = None
 
+    target = setting_property("target")
+
     def save_settings(self):
         map_save(self.rcs, os.path.join(self.dir, "settings"), self.settings)