cpython.py #1

  • //
  • guest/
  • robert_cowham/
  • perforce/
  • API/
  • P4.Net/
  • main/
  • doc/
  • pythonsample/
  • cpython.py
  • View
  • Commits
  • Open Download .zip Download (1 KB)
# Standard Python and P4Python





import p4 as P4API

p4 = P4API.P4()
p4.parse_forms()
p4.connect()

lname = 'P4NetTestingSample'

# build my label
labelForm = p4.fetch_label(lname)
labelForm['Description'] = 'Created for P4.Net sample'
view = ['//guest/shawn_hladky/...']
labelForm['View'] = view
res = p4.save_label(labelForm)

if len(p4.errors) > 0:
    for e in p4.errors: print e

# My list of changes.  This is totally arbitrary
changes=['5774', '5680', '5636', '5444']

sorted_changes = changes.sort()

# dictionary: keyed by file, value = revision
filerevs = {}

# spin the description on each file
for chg in p4.run_describe('-s', *changes):
    depotFiles = chg['depotFile']
    revisions  = chg['rev']
    for i in range(0, len(depotFiles)):
        key,value = depotFiles[i], revisions[i]
        filerevs[key]=value

# convert the dictionary to a list
flist = []
for k,v in filerevs.items():
    flist.append("%s#%s" % (k,v))

# now I want to run in non-parsed mode
p4.disconnect()
p4 = P4API.P4()
p4.connect()

out = p4.run('labelsync', '-l', lname, *flist)

for s in out: print s

# delete the label to keep the public depot clean :-)
p4.run('label', '-d', lname)

p4.disconnect()
# Change User Description Committed
#1 6414 Robert Cowham Initial branch
//guest/shawn_hladky/P4.Net/main/doc/pythonsample/cpython.py
#1 5830 Shawn Hladky P4.Net: reorg to support release branches
//guest/shawn_hladky/P4.Net/doc/pythonsample/cpython.py
#1 5799 Shawn Hladky p4.net missing doc files