def create_action_from_ops(ops, simplify=False): if len(ops) > 0: from vistrails.core.vistrail.action import Action action = vistrails.db.services.action.create_action_from_ops(ops, simplify) Action.convert(action) return action return None
def create_action(op_list): if len(op_list) > 0: from vistrails.core.vistrail.action import Action action = vistrails.db.services.action.create_action(op_list) Action.convert(action) return action return None
def create_action(self, id_scope=None): from vistrails.core.modules.basic_modules import identifier as basic_pkg from vistrails.core.vistrail.action import Action from vistrails.core.vistrail.module import Module from vistrails.core.vistrail.module_function import ModuleFunction from vistrails.core.vistrail.module_param import ModuleParam from vistrails.db.domain import IdScope if id_scope is None: id_scope = IdScope() param = ModuleParam(id=id_scope.getNewId(ModuleParam.vtType), type='Integer', val='1') function = ModuleFunction(id=id_scope.getNewId(ModuleFunction.vtType), name='value', parameters=[param]) m = Module(id=id_scope.getNewId(Module.vtType), name='Float', package=basic_pkg, functions=[function]) add_op = AddOp(id=id_scope.getNewId('operation'), what='module', objectId=m.id, data=m) action = Action(id=id_scope.getNewId(Action.vtType), prevId=0, date=datetime(2007, 11, 18), operations=[add_op]) return action
def add_action(self, action, parent, session=None): # FIXME: this should go to core.db.io Action.convert(action) if action.id < 0: action.id = self.idScope.getNewId(action.vtType) action.prevId = parent action.date = self.getDate() action.user = self.getUser() if session is not None: action.session = session for op in action.operations: if op.id < 0: op.id = self.idScope.getNewId('operation') if op.vtType == 'add' or op.vtType == 'change': self.db_add_object(op.db_data) self.addVersion(action)
def convert(_vistrail): _vistrail.__class__ = Vistrail for action in _vistrail.actions: Action.convert(action) # for tag in _vistrail.tags: # Tag.convert(tag) for annotation in _vistrail.annotations: Annotation.convert(annotation) for annotation in _vistrail.action_annotations: ActionAnnotation.convert(annotation) for variable in _vistrail.vistrail_variables: VistrailVariable.convert(variable) for pe in _vistrail.parameter_explorations: ParameterExploration.convert(pe) _vistrail.set_defaults()
def create_action(action_list): """create_action(action_list: list) -> Action where action_list is a list of tuples ( type, object, parent_type=None, parent_id=None, new_obj=None ) and the method returns a *single* action that accomplishes all of the operations. Examples: create_action([('add', module1), ('delete', connection2)] create_action([('add', param1, 'function', function1), ('change', old_func, new_func, 'module', m1)]) Note that create_action([('add', module)]) adds a module and *all* of its children. """ action = vistrails.db.services.action.create_action(action_list) Action.convert(action) return action
def create_vistrail(self): vistrail = Vistrail() m = Module(id=vistrail.idScope.getNewId(Module.vtType), name='Float', package=get_vistrails_basic_pkg_id()) add_op = AddOp(id=vistrail.idScope.getNewId(AddOp.vtType), what=Module.vtType, objectId=m.id, data=m) function_id = vistrail.idScope.getNewId(ModuleFunction.vtType) function = ModuleFunction(id=function_id, name='value') change_op = ChangeOp(id=vistrail.idScope.getNewId(ChangeOp.vtType), what=ModuleFunction.vtType, oldObjId=2, newObjId=function.real_id, parentObjId=m.id, parentObjType=Module.vtType, data=function) param = ModuleParam(id=vistrail.idScope.getNewId(ModuleParam.vtType), type='Integer', val='1') delete_op = DeleteOp(id=vistrail.idScope.getNewId(DeleteOp.vtType), what=ModuleParam.vtType, objectId=param.real_id, parentObjId=function.real_id, parentObjType=ModuleFunction.vtType) action1 = Action(id=vistrail.idScope.getNewId(Action.vtType), operations=[add_op]) action2 = Action(id=vistrail.idScope.getNewId(Action.vtType), operations=[change_op, delete_op]) vistrail.add_action(action1, 0) vistrail.add_action(action2, action1.id) vistrail.addTag('first action', action1.id) vistrail.addTag('second action', action2.id) return vistrail
def test_plugin_data(self): import vistrails.core.db.io v1 = self.create_vistrail() plugin_data_str = "testing plugin_data" p = PluginData(id=v1.idScope.getNewId(PluginData.vtType), data=plugin_data_str) add_op = AddOp(id=v1.idScope.getNewId(AddOp.vtType), what=PluginData.vtType, objectId=p.id, data=p) action = Action(id=v1.idScope.getNewId(Action.vtType), operations=[add_op]) v1.add_action(action, 0) workflow = v1.getPipeline(action.id) p2 = workflow.plugin_datas[0] assert plugin_data_str == p2.data
def getPathAsAction(vt, v1, v2, do_copy=False): a = vistrails.db.services.vistrail.getPathAsAction(vt, v1, v2, do_copy) Action.convert(a) return a