diff options
author | Simon Hausmann <hausmann@kde.org> | 2007-01-31 22:19:18 +0100 |
---|---|---|
committer | Simon Hausmann <hausmann@kde.org> | 2007-01-31 22:19:18 +0100 |
commit | a39811b46e213737b9aaf34157f41fd1ac8a8a9e (patch) | |
tree | 61d957228d35d3e7ecaa4c400b55022730befa50 | |
parent | Minor code cleanups and ported some p4 interfacing code over to the p4 python... (diff) | |
download | tgif-a39811b46e213737b9aaf34157f41fd1ac8a8a9e.tar.xz |
Instead of parsing the output of "p4 users" use the python objects of "p4 -G users".
Signed-off-by: Simon Hausmann <hausmann@kde.org>
-rw-r--r-- | contrib/fast-import/p4-fast-export.py | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/contrib/fast-import/p4-fast-export.py b/contrib/fast-import/p4-fast-export.py index 3ccef526eb..d3e65f0f39 100644 --- a/contrib/fast-import/p4-fast-export.py +++ b/contrib/fast-import/p4-fast-export.py @@ -38,18 +38,25 @@ except ValueError: if not prefix.endswith("/"): prefix += "/" -def p4Cmd(cmd): +def p4CmdList(cmd): pipe = os.popen("p4 -G %s" % cmd, "rb") - result = {} + result = [] try: while True: entry = marshal.load(pipe) - result.update(entry) + result.append(entry) except EOFError: pass pipe.close() return result +def p4Cmd(cmd): + list = p4CmdList(cmd) + result = {} + for entry in list: + result.update(entry) + return result; + def describe(change): describeOutput = p4Cmd("describe %s" % change) @@ -94,18 +101,11 @@ def stripRevision(path): def getUserMap(): users = {} - output = os.popen("p4 users") - for line in output: - firstSpace = line.index(" ") - secondSpace = line.index(" ", firstSpace + 1) - key = line[:firstSpace] - email = line[firstSpace + 1:secondSpace] - openParenPos = line.index("(", secondSpace) - closedParenPos = line.index(")", openParenPos) - name = line[openParenPos + 1:closedParenPos] - - users[key] = name + " " + email + for output in p4CmdList("users"): + if not output.has_key("User"): + continue + users[output["User"]] = output["FullName"] + " <" + output["Email"] + ">" return users users = getUserMap() |