def cmnd( self, interactive=False, # Can also be called non-interactively argsList=None, # or Args-Input ): cmndOutcome = self.getOpOutcome() if interactive: if not self.cmndLineValidate(outcome=cmndOutcome): return cmndOutcome effectiveArgsList = G.icmRunArgsGet().cmndArgs else: effectiveArgsList = argsList callParamsDict = {} if not icm.cmndCallParamsValidate( callParamsDict, interactive, outcome=cmndOutcome): return cmndOutcome ####+END: myName = self.myName() thisOutcome = icm.OpOutcome(invokerName=myName) print G.icmInfo for eachArg in effectiveArgsList: icm.ANN_here("{}".format(eachArg)) print(icm.__file__) print sys.path import imp print(imp.find_module('unisos/icm')) @ucf.runOnceOnly def echo(str): print str echo("first") echo("second") # Should not run return thisOutcome
def bxVideoRecorderOnceStop(curPage=None, ): ####+END: icm.ANN_here("Recoring ONCE Stop -- page={} -- Enter".format(curPage)) bxVideoRecorderStop(curPage=curPage)
def cmnd( self, interactive=False, # Can also be called non-interactively configBaseDir=None, # or Cmnd-Input bxoId=None, # or Cmnd-Input sr=None, # or Cmnd-Input argsList=[], # or Args-Input ): cmndOutcome = self.getOpOutcome() if interactive: if not self.cmndLineValidate(outcome=cmndOutcome): return cmndOutcome effectiveArgsList = G.icmRunArgsGet().cmndArgs else: effectiveArgsList = argsList callParamsDict = { 'configBaseDir': configBaseDir, 'bxoId': bxoId, 'sr': sr, } if not icm.cmndCallParamsValidate( callParamsDict, interactive, outcome=cmndOutcome): return cmndOutcome configBaseDir = callParamsDict['configBaseDir'] bxoId = callParamsDict['bxoId'] sr = callParamsDict['sr'] cmndArgsSpecDict = self.cmndArgsSpec() if not self.cmndArgsValidate( effectiveArgsList, cmndArgsSpecDict, outcome=cmndOutcome): return cmndOutcome ####+END: if not configBaseDir: configBaseDir = configBaseDir_obtain() cmndArgs = self.cmndArgsGet("0&-1", cmndArgsSpecDict, effectiveArgsList) def createPathAndFpWrite( fpPath, valuePath, ): valuePath = os.path.abspath(valuePath) try: os.makedirs(valuePath) except OSError: if not os.path.isdir(valuePath): raise icm.FILE_ParamWriteToPath( parNameFullPath=fpPath, parValue=valuePath, ) def processEachArg(argStr): varNameValue = argStr.split('=') icm.FILE_ParamWriteToPath( parNameFullPath=os.path.join( configPkgInfoFpBaseDir_obtain(configBaseDir=configBaseDir), varNameValue[0], ), parValue=varNameValue[1], ) # Any number of Name=Value can be passed as args for each in cmndArgs: processEachArg(each) if bxoId: parNameFullPath = icm.FILE_ParamWriteToPath( parNameFullPath=os.path.join( configPkgInfoFpBaseDir_obtain(configBaseDir=configBaseDir), "bxoId", ), parValue=bxoId, ) if sr: parNameFullPath = icm.FILE_ParamWriteToPath( parNameFullPath=os.path.join( configPkgInfoFpBaseDir_obtain(configBaseDir=configBaseDir), "sr", ), parValue=sr, ) if interactive: parValue = icm.FILE_ParamValueReadFromPath(parNameFullPath) icm.ANN_here( "pkgInfoParsSet: {parValue} at {parNameFullPath}".format( parValue=parValue, parNameFullPath=parNameFullPath)) return cmndOutcome.set( opError=icm.OpError.Success, opResults=None, )
def recordingStatus(self, ): icm.ANN_here("NOTYET")
def cmnd( self, interactive=False, # Can also be called non-interactively bxoId=None, # or Cmnd-Input sr=None, # or Cmnd-Input controlProfile=None, # or Cmnd-Input inMailAcct=None, # or Cmnd-Input ): cmndOutcome = self.getOpOutcome() if interactive: if not self.cmndLineValidate(outcome=cmndOutcome): return cmndOutcome callParamsDict = { 'bxoId': bxoId, 'sr': sr, 'controlProfile': controlProfile, 'inMailAcct': inMailAcct, } if not icm.cmndCallParamsValidate( callParamsDict, interactive, outcome=cmndOutcome): return cmndOutcome bxoId = callParamsDict['bxoId'] sr = callParamsDict['sr'] controlProfile = callParamsDict['controlProfile'] inMailAcct = callParamsDict['inMailAcct'] ####+END: outcome = notmuchConfigStdout().cmnd( interactive=False, controlProfile=controlProfile, inMailAcct=inMailAcct, bxoId=bxoId, sr=sr, ) if outcome.isProblematic(): return (icm.EH_badOutcome(outcome)) configFileStr = outcome.stdout configFilePath = withInMailDomGetNotmuchConfigPath( inMailAcct, bxoId=bxoId, sr=sr, ) rcFileFromControl = "{controlProfileBaseDir}/inMail/{inMailAcct}/conf/_notmuch-config".format( # ../control/inMail/example.com/conf/_notmuch-config controlProfileBaseDir=marmeAcctsLib.controlProfileBaseDirGet( controlProfile, bxoId=bxoId, sr=sr, ), inMailAcct=inMailAcct, ) if os.path.isfile(rcFileFromControl): shutil.copyfile(rcFileFromControl, configFilePath) else: with open(configFilePath, "w") as thisFile: thisFile.write(configFileStr + '\n') if interactive: icm.ANN_here("configFilePath={val}".format(val=configFilePath)) return cmndOutcome.set( opError=icm.OpError.Success, opResults=None, )
def cmnd(self, interactive=False, # Can also be called non-interactively icmsPkgInfoBaseDir=None, # or Cmnd-Input icmsPkgName=None, # or Cmnd-Input icmsPkgControlBaseDir=None, # or Cmnd-Input icmsPkgVarBaseDir=None, # or Cmnd-Input icmsPkgTmpBaseDir=None, # or Cmnd-Input icmsPkgBasesPolicy=None, # or Cmnd-Input icmsPkgLogBaseDir=None, # or Cmnd-Input ): cmndOutcome = self.getOpOutcome() if interactive: if not self.cmndLineValidate(outcome=cmndOutcome): return cmndOutcome callParamsDict = {'icmsPkgInfoBaseDir': icmsPkgInfoBaseDir, 'icmsPkgName': icmsPkgName, 'icmsPkgControlBaseDir': icmsPkgControlBaseDir, 'icmsPkgVarBaseDir': icmsPkgVarBaseDir, 'icmsPkgTmpBaseDir': icmsPkgTmpBaseDir, 'icmsPkgBasesPolicy': icmsPkgBasesPolicy, 'icmsPkgLogBaseDir': icmsPkgLogBaseDir, } if not icm.cmndCallParamsValidate(callParamsDict, interactive, outcome=cmndOutcome): return cmndOutcome icmsPkgInfoBaseDir = callParamsDict['icmsPkgInfoBaseDir'] icmsPkgName = callParamsDict['icmsPkgName'] icmsPkgControlBaseDir = callParamsDict['icmsPkgControlBaseDir'] icmsPkgVarBaseDir = callParamsDict['icmsPkgVarBaseDir'] icmsPkgTmpBaseDir = callParamsDict['icmsPkgTmpBaseDir'] icmsPkgBasesPolicy = callParamsDict['icmsPkgBasesPolicy'] icmsPkgLogBaseDir = callParamsDict['icmsPkgLogBaseDir'] ####+END: #G = icm.IcmGlobalContext() def createPathAndFpWrite( fpPath, valuePath, ): valuePath = os.path.abspath(valuePath) try: os.makedirs(valuePath) except OSError: if not os.path.isdir(valuePath): raise icm.FILE_ParamWriteToPath( parNameFullPath=fpPath, parValue=valuePath, ) if icmsPkgName: icm.FILE_ParamWriteToPath( parNameFullPath=os.path.join(pkgInfoFpBaseDir_obtain(icmsPkgInfoBaseDir=icmsPkgInfoBaseDir), "icmsPkgName"), parValue=icmsPkgName, ) if icmsPkgBasesPolicy: icm.FILE_ParamWriteToPath( parNameFullPath=os.path.join(pkgInfoFpBaseDir_obtain(icmsPkgInfoBaseDir=icmsPkgInfoBaseDir), "icmsPkgBasesPolicy"), parValue=icmsPkgBasesPolicy, ) if icmsPkgControlBaseDir: createPathAndFpWrite( os.path.join(pkgInfoFpBaseDir_obtain(icmsPkgInfoBaseDir=icmsPkgInfoBaseDir), "icmsPkgControlBaseDir"), icmsPkgControlBaseDir, ) if icmsPkgVarBaseDir: createPathAndFpWrite( os.path.join(pkgInfoFpBaseDir_obtain(icmsPkgInfoBaseDir=icmsPkgInfoBaseDir), "icmsPkgVarBaseDir"), icmsPkgVarBaseDir, ) if icmsPkgLogBaseDir: createPathAndFpWrite( os.path.join(pkgInfoFpBaseDir_obtain(icmsPkgInfoBaseDir=icmsPkgInfoBaseDir), "icmsPkgLogBaseDir"), icmsPkgLogBaseDir, ) if icmsPkgTmpBaseDir: createPathAndFpWrite( os.path.join(pkgInfoFpBaseDir_obtain(icmsPkgInfoBaseDir=icmsPkgInfoBaseDir), "icmsPkgTmpBaseDir"), icmsPkgTmpBaseDir, ) if interactive: icm.ANN_here("pkgInfoParsSet") return cmndOutcome.set( opError=icm.OpError.Success, opResults=None, )
def cmnd( self, interactive=False, # Can also be called non-interactively bxoId=None, # or Cmnd-Input sr=None, # or Cmnd-Input controlProfile=None, # or Cmnd-Input inMailAcct=None, # or Cmnd-Input ): cmndOutcome = self.getOpOutcome() if interactive: if not self.cmndLineValidate(outcome=cmndOutcome): return cmndOutcome callParamsDict = { 'bxoId': bxoId, 'sr': sr, 'controlProfile': controlProfile, 'inMailAcct': inMailAcct, } if not icm.cmndCallParamsValidate( callParamsDict, interactive, outcome=cmndOutcome): return cmndOutcome bxoId = callParamsDict['bxoId'] sr = callParamsDict['sr'] controlProfile = callParamsDict['controlProfile'] inMailAcct = callParamsDict['inMailAcct'] ####+END: outcome = offlineimaprcStdout().cmnd( interactive=False, inMailAcct=inMailAcct, bxoId=bxoId, sr=sr, ) if outcome.isProblematic(): return (icm.EH_badOutcome(outcome)) offlineimaprcStr = outcome.results offlineimaprcPath = withInMailDomGetOfflineimaprcPath( controlProfile, inMailAcct, bxoId, sr, ) rcFileFromControl = "{controlProfileBaseDir}/inMail/{inMailAcct}/conf/_offlineimaprc".format( # ../control/inMail/example.com/conf/_offlineimaprc controlProfileBaseDir=marmeAcctsLib.controlProfileBaseDirGet( controlProfile, bxoId=bxoId, sr=sr, ), inMailAcct=inMailAcct, ) if os.path.isfile(rcFileFromControl): shutil.copyfile(rcFileFromControl, offlineimaprcPath) else: with open(offlineimaprcPath, "w") as thisFile: thisFile.write(offlineimaprcStr + '\n') thisPath = marmeAcctsLib.getPathForAcctMaildir( controlProfile, inMailAcct, bxoId=bxoId, sr=sr, ) try: os.makedirs(thisPath) except OSError: if not os.path.isdir(thisPath): raise if interactive: icm.ANN_here( "offlineimaprcPath={val}".format(val=offlineimaprcPath)) return cmndOutcome.set( opError=icm.OpError.Success, opResults=offlineimaprcStr, )