#!/bin/env python3 """ Copyright (c) 2012-2014 Perforce Software, Inc. Provided for use as defined in the Perforce Consulting Services Agreement. """ # Performs two actions on sync or update: # 1. Updates workspace view if necessary # 2. Puts in correct rev specifiers for imports # imports import sys import logging ### Standard/Production: # from Cbd import Cbd ### Development Mode, use CbdDev.py rather than Cbd.py: # from CbdDev import CbdDev from CbdDev import CbdDev # globals to read from broker p4port = None reqWs = None reqCmd = None reqArgs = [] reqCwd = None # other globals log = None cbd = None # parse arguments: normal broker args def parseArgs(): global p4port global reqWs global reqCmd global reqArgs global reqCwd vals = cbd.parseBrokerArgs() argCount = vals['argCount'] p4port = vals['brokerTargetPort'] reqCmd = vals['command'] reqWs = vals['workspace'] reqCwd = vals['cwd'] for idx in range(int(argCount)): k = 'Arg' + str(idx) reqArgs.append(vals[k]) log.debug("Read args %s" % ','.join(reqArgs)) # main program cbd = CbdDev('broker') log = cbd.getLogger() parseArgs() cbd.initP4(p4port) cbd.syncWs(reqWs, reqCmd, reqCwd, reqArgs)