1
0
mirror of https://github.com/git/git.git synced 2024-09-28 04:10:41 +02:00

Instead of parsing the output of "p4 users" use the python objects of "p4 -G users".

Signed-off-by: Simon Hausmann <hausmann@kde.org>
This commit is contained in:
Simon Hausmann 2007-01-31 22:19:18 +01:00
parent f6148d9129
commit a39811b46e

View File

@ -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()