From cddfa700fd6f22bb0ea9f0a4c1f4566b69494748 Mon Sep 17 00:00:00 2001 From: Aaron Bentley Date: Wed, 9 Mar 2005 20:03:07 +0000 Subject: added bugs, Switched to using uuid prefixes to ensure uniqueness --- libbe/cmdutil.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'libbe') diff --git a/libbe/cmdutil.py b/libbe/cmdutil.py index 560c78d..2214260 100644 --- a/libbe/cmdutil.py +++ b/libbe/cmdutil.py @@ -1,15 +1,28 @@ def unique_name(bug, bugs): - return bug.name + chars = 1 + for some_bug in bugs: + if bug.uuid == some_bug.uuid: + continue + while (bug.uuid[:chars] == some_bug.uuid[:chars]): + chars+=1 + return bug.uuid[:chars] class UserError(Exception): def __init__(self, msg): Exception.__init__(self, msg) def get_bug(spec, bug_dir): + matches = [] bugs = list(bug_dir.list()) for bug in bugs: - if bug.uuid == spec: - return bug + if bug.uuid.startswith(spec): + matches.append(bug) + if len(matches) > 1: + raise UserError("More than one bug matches %s. Please be more" + " specific." % spec) + if len(matches) == 1: + return matches[0] + matches = [] for bug in bugs: if bug.name == spec: -- cgit