#!/usr/bin/env python from dm.proc_web_service.api.workflowRestApi import WorkflowRestApi from dm.common.exceptions.invalidRequest import InvalidRequest from procWebServiceSessionCli import ProcWebServiceSessionCli class GetWorkflowCli(ProcWebServiceSessionCli): def __init__(self): ProcWebServiceSessionCli.__init__(self, validArgCount=self.ANY_NUMBER_OF_POSITIONAL_ARGS) self.addOption('', '--owner', dest='owner', help='Owner name.') self.addOption('', '--workflow', dest='workflow', help='Workflow name.') def checkArgs(self): if self.options.owner is None: raise InvalidRequest('Owner name must be provided.') if self.options.workflow is None: raise InvalidRequest('Workflow name must be provided.') def getOwner(self): return self.options.owner def getWorkflow(self): return self.options.workflow def runCommand(self): self.parseArgs(usage=""" dm-get-workflow --workflow=WORKFLOW --owner=OWNER Description: Get workflow details. """) self.checkArgs() api = WorkflowRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol()) workflow = api.getWorkflowByName(self.getOwner(), self.getWorkflow()) print workflow.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) ####################################################################### # Run command. if __name__ == '__main__': cli = GetWorkflowCli() cli.run()