if root == None:
root = os.getcwd()
if sink_to_existing_root == True:
- self.root = self.find_root(root)
+ self.root = self._find_root(root)
else:
if not os.path.exists(root):
raise NoRootEntry(root)
if os.path.exists(self.get_path()):
raise AlreadyInitialized, self.get_path()
if rcs == None:
- rcs = self.guess_rcs(allow_rcs_init)
+ rcs = self._guess_rcs(allow_rcs_init)
self.rcs = rcs
user_id = self.rcs.get_user_id()
- def find_root(self, path):
+ def _find_root(self, path):
"""
Search for an existing bug database dir and it's ancestors and
return a BugDir rooted there.
assert args[0] in ["version", "settings", "bugs"], str(args)
return os.path.join(my_dir, *args)
- def guess_rcs(self, allow_rcs_init=False):
+ def _guess_rcs(self, allow_rcs_init=False):
deepdir = self.get_path()
if not os.path.exists(deepdir):
deepdir = os.path.dirname(deepdir)
for uuid in self.list_uuids():
if uuid not in map:
map[uuid] = None
- self.bug_map = map
+ self._bug_map = map
def list_uuids(self):
uuids = []
used for long term reference.
"""
chars = 3
- for uuid in self.bug_map.keys():
+ for uuid in self._bug_map.keys():
if bug.uuid == uuid:
continue
while (bug.uuid[:chars] == uuid[:chars]):
"""
matches = []
self._bug_map_gen()
- for uuid in self.bug_map.keys():
+ for uuid in self._bug_map.keys():
if uuid.startswith(shortname):
matches.append(uuid)
if len(matches) > 1:
raise KeyError("No bug matches %s" % shortname)
def bug_from_uuid(self, uuid):
- if uuid not in self.bug_map:
- self._bug_map_gen()
- if uuid not in self.bug_map:
- raise KeyError("No bug matches %s\n bug map: %s\n root: %s" \
- % (uuid, self.bug_map, self.root))
- if self.bug_map[uuid] == None:
+ if not self.has_bug(uuid):
+ raise KeyError("No bug matches %s\n bug map: %s\n root: %s" \
+ % (uuid, self._bug_map, self.root))
+ if self._bug_map[uuid] == None:
self._load_bug(uuid)
- return self.bug_map[uuid]
+ return self._bug_map[uuid]
+ def has_bug(self, bug_uuid):
+ if bug_uuid not in self._bug_map:
+ self._bug_map_gen()
+ if bug_uuid not in self._bug_map:
+ return False
+ return True
+
def simple_bug_dir():
"""
except KeyError:
removed.append(old_bug)
for uuid in new_bugdir.list_uuids():
- if not old_bugdir.bug_map.has_key(uuid):
+ if not old_bugdir.has_bug(uuid):
new_bug = new_bugdir.bug_from_uuid(uuid)
added.append(new_bug)
return (removed, modified, added)
change_list = change_lines(old, new, ("time", "creator", "severity",
"target", "summary", "status", "assigned"))
- old.load_comments()
- old_comment_ids = [c.uuid for c in old.comment_root.traverse()]
- new.load_comments()
- new_comment_ids = [c.uuid for c in new.comment_root.traverse()]
+ old_comment_ids = [c.uuid for c in old.comments()]
+ new_comment_ids = [c.uuid for c in new.comments()]
change_strings = ["%s: %s -> %s" % f for f in change_list]
for comment_id in new_comment_ids:
if comment_id not in old_comment_ids:
- summary = comment_summary(new.comment_root.comment_from_uuid(comment_id), "new")
+ summary = comment_summary(new.comment_from_uuid(comment_id), "new")
change_strings.append(summary)
for comment_id in old_comment_ids:
if comment_id not in new_comment_ids:
- summary = comment_summary(new.comment.root.comment_from_uuid(comment_id), "removed")
+ summary = comment_summary(new.comment_from_uuid(comment_id),
+ "removed")
change_strings.append(summary)
if len(change_strings) == 0: