def _createTaskGroupFromJSON(self, taskGroupDefinition, user): # name, parent, arguments, environment, priority, dispatchKey, strategy id = None name = taskGroupDefinition["name"] parent = None arguments = taskGroupDefinition["arguments"] environment = taskGroupDefinition["environment"] requirements = taskGroupDefinition["requirements"] maxRN = taskGroupDefinition["maxRN"] priority = taskGroupDefinition["priority"] dispatchKey = taskGroupDefinition["dispatchKey"] strategy = taskGroupDefinition["strategy"] strategy = loadStrategyClass(strategy.encode()) strategy = strategy() tags = taskGroupDefinition["tags"] timer = None if "timer" in taskGroupDefinition.keys(): timer = taskGroupDefinition["timer"] return TaskGroup( id, name, parent, user, arguments, environment, requirements, maxRN, priority, dispatchKey, strategy, tags=tags, timer=timer, )
def _createTaskGroupFromJSON(self, taskGroupDefinition, user): # name, parent, arguments, environment, priority, dispatchKey, strategy id = None name = taskGroupDefinition['name'] parent = None arguments = taskGroupDefinition['arguments'] environment = taskGroupDefinition['environment'] requirements = taskGroupDefinition['requirements'] maxRN = taskGroupDefinition['maxRN'] priority = taskGroupDefinition['priority'] dispatchKey = taskGroupDefinition['dispatchKey'] strategy = taskGroupDefinition['strategy'] strategy = loadStrategyClass(strategy.encode()) strategy = strategy() tags = taskGroupDefinition['tags'] timer = None if 'timer' in taskGroupDefinition.keys(): timer = taskGroupDefinition['timer'] return TaskGroup(id, name, parent, user, arguments, environment, requirements, maxRN, priority, dispatchKey, strategy, tags=tags, timer=timer)
def put(self, nodeId): ''' Pushes an order to change the strategy of the given node. Returns the ticket for this order. ''' odict = self.getBodyAsJSON() strategyClassName = odict['strategy'] node = self._findNode(nodeId) if not isinstance(node, FolderNode): raise NotFolderInstanceError('Cannot set strategy on node %d: node is not a folder.' % int(nodeId)) from octopus.dispatcher.strategies import loadStrategyClass, StrategyImportError try: strategyClass = loadStrategyClass(strategyClassName) except StrategyImportError, e: raise Http400("Failed to set strategy: %s" % e)
def _createTaskGroupFromJSON(self, taskGroupDefinition, user): # name, parent, arguments, environment, priority, dispatchKey, strategy id = None name = taskGroupDefinition['name'] parent = None arguments = taskGroupDefinition['arguments'] environment = taskGroupDefinition['environment'] requirements = taskGroupDefinition['requirements'] maxRN = taskGroupDefinition['maxRN'] priority = taskGroupDefinition['priority'] dispatchKey = taskGroupDefinition['dispatchKey'] strategy = taskGroupDefinition['strategy'] strategy = loadStrategyClass(strategy.encode()) strategy = strategy() tags = taskGroupDefinition['tags'] return TaskGroup(id, name, parent, user, arguments, environment, requirements, maxRN, priority, dispatchKey, strategy, tags=tags)
def put(self, nodeId): ''' Pushes an order to change the strategy of the given node. Returns the ticket for this order. ''' odict = self.getBodyAsJSON() strategyClassName = odict['strategy'] node = self._findNode(nodeId) if not isinstance(node, FolderNode): raise NotFolderInstanceError( 'Cannot set strategy on node %d: node is not a folder.' % int(nodeId)) from octopus.dispatcher.strategies import loadStrategyClass, StrategyImportError try: strategyClass = loadStrategyClass(strategyClassName) except StrategyImportError, e: raise Http400("Failed to set strategy: %s" % e)