Exemplo n.º 1
0
 def test_constructor(self):
     m1_param = ModuleParam(val="1.2",
                            type="Float",
                            alias="",
                            )
     m1_function = ModuleFunction(name="value",
                                  parameters=[m1_param],
                                  )
     m1 = Module(id=0,
                 name='Float',
                 functions=[m1_function],
                 )
                 
     m2 = Module()
     m2.name = "Float"
     m2.id = 0
     f = ModuleFunction()
     f.name = "value"
     m2.functions.append(f)
     param = ModuleParam()
     param.strValue = "1.2"
     param.type = "Float"
     param.alias = ""
     f.params.append(param)
     assert m1 == m2
Exemplo n.º 2
0
    def test_constructor(self):
        m1_param = ModuleParam(
            val="1.2",
            type="Float",
            alias="",
        )
        m1_function = ModuleFunction(
            name="value",
            parameters=[m1_param],
        )
        m1 = Module(
            id=0,
            name='Float',
            functions=[m1_function],
        )

        m2 = Module()
        m2.name = "Float"
        m2.id = 0
        f = ModuleFunction()
        f.name = "value"
        m2.functions.append(f)
        param = ModuleParam()
        param.strValue = "1.2"
        param.type = "Float"
        param.alias = ""
        f.params.append(param)
        assert m1 == m2
    def convert(_abstraction):
        if _abstraction.__class__ == Abstraction:
            return
        _abstraction.__class__ = Abstraction
        if _abstraction.db_location:
            Location.convert(_abstraction.db_location)
	for _function in _abstraction.db_functions:
	    ModuleFunction.convert(_function)
        for _annotation in _abstraction.db_get_annotations():
            Annotation.convert(_annotation)
        _abstraction.set_defaults()
Exemplo n.º 4
0
 def convert(_abstraction):
     if _abstraction.__class__ == Abstraction:
         return
     _abstraction.__class__ = Abstraction
     if _abstraction.db_location:
         Location.convert(_abstraction.db_location)
     for _function in _abstraction.db_functions:
         ModuleFunction.convert(_function)
     for _annotation in _abstraction.db_get_annotations():
         Annotation.convert(_annotation)
     _abstraction.set_defaults()
Exemplo n.º 5
0
        def from_destination_port():
            f = ModuleFunction()
            f.name = self.name
            for descriptor in self._descriptors:
                p = ModuleParam()
                p.identifier = descriptor.identifier
                p.namespace = descriptor.namespace
                p.type = descriptor.name

                p.name = '<no description>'
                f.addParameter(p)
            return f
 def from_destination_port():
     f = ModuleFunction()
     f.name = self.name
     for descriptor in self._descriptors:
         p = ModuleParam()
         p.identifier = descriptor.identifier
         p.namespace = descriptor.namespace
         p.type = descriptor.name
         
         p.name = '<no description>'
         f.addParameter(p)
     return f
Exemplo n.º 7
0
 def convert(_module):
     if _module.__class__ == Module:
         return
     _module.__class__ = Module
     for _port_spec in _module.db_portSpecs:
         PortSpec.convert(_port_spec)
     if _module.db_location:
         Location.convert(_module.db_location)
     for _function in _module.db_functions:
         ModuleFunction.convert(_function)
     for _annotation in _module.db_get_annotations():
         Annotation.convert(_annotation)
     _module.set_defaults()
    def convert(_abstraction_module):
        if _abstraction_module.__class__ == AbstractionModule:
            return
        _abstraction_module.__class__ = AbstractionModule
        if _abstraction_module.db_location:
            Location.convert(_abstraction_module.db_location)
	for _function in _abstraction_module.db_functions:
	    ModuleFunction.convert(_function)
        for _annotation in _abstraction_module.db_get_annotations():
            Annotation.convert(_annotation)
        _abstraction_module.portVisible = set()
        _abstraction_module._registry = None
        _abstraction_module.abstraction = None
    def convert(_module):
        if _module.__class__ == Module:
            return
	_module.__class__ = Module
        for _port_spec in _module.db_portSpecs:
            PortSpec.convert(_port_spec)
        if _module.db_location:
            Location.convert(_module.db_location)
	for _function in _module.db_functions:
	    ModuleFunction.convert(_function)
        for _annotation in _module.db_get_annotations():
            Annotation.convert(_annotation)
        _module.set_defaults()
Exemplo n.º 10
0
    def convert(_module):
	_module.__class__ = Module
	_module.registry = None
        for _port_spec in _module.db_portSpecs:
            PortSpec.convert(_port_spec)
            _module.add_port_to_registry(_port_spec)
        if _module.db_location:
            Location.convert(_module.db_location)
	for _function in _module.db_functions:
	    ModuleFunction.convert(_function)
        for _annotation in _module.db_get_annotations():
            Annotation.convert(_annotation)

        _module.portVisible = set()
Exemplo n.º 11
0
 def convert(_group):
     if _group.__class__ == Group:
         return
     _group.__class__ = Group
     if _group.db_location:
         Location.convert(_group.db_location)
     if _group.db_workflow:
         from core.vistrail.pipeline import Pipeline
         Pipeline.convert(_group.db_workflow)
     for _function in _group.db_functions:
         ModuleFunction.convert(_function)
     for _annotation in _group.db_get_annotations():
         Annotation.convert(_annotation)
     _group.set_defaults()
Exemplo n.º 12
0
    def convert(_group):
        if _group.__class__ == Group:
            return
        _group.__class__ = Group
        _group._registry = None
        _group.portVisible = set()
        if _group.db_location:
            Location.convert(_group.db_location)
        if _group.db_workflow:
            from core.vistrail.pipeline import Pipeline
            Pipeline.convert(_group.db_workflow)
	for _function in _group.db_functions:
	    ModuleFunction.convert(_function)
        for _annotation in _group.db_get_annotations():
            Annotation.convert(_annotation)
Exemplo n.º 13
0
    def create_action(self, id_scope=None):
        from core.vistrail.action import Action
        from core.vistrail.module import Module
        from core.vistrail.module_function import ModuleFunction
        from core.vistrail.module_param import ModuleParam
        from core.vistrail.operation import AddOp
        from db.domain import IdScope
        from datetime import datetime

        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='edu.utah.sci.vistrails.basic',
                   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
Exemplo n.º 14
0
 def testIncorrectURL_2(self):
     import core.vistrail
     from core.db.locator import XMLFileLocator
     from core.vistrail.module import Module
     from core.vistrail.module_function import ModuleFunction
     from core.vistrail.module_param import ModuleParam
     import core.interpreter
     p = core.vistrail.pipeline.Pipeline()
     m_param = ModuleParam(
         type='String',
         val='http://neitherodesthisohrly',
     )
     m_function = ModuleFunction(
         name='url',
         parameters=[m_param],
     )
     p.add_module(
         Module(
             name='HTTPFile',
             package=identifier,
             version=version,
             id=0,
             functions=[m_function],
         ))
     interpreter = core.interpreter.default.get_default_interpreter()
     kwargs = {
         'locator': XMLFileLocator('foo'),
         'current_version': 1L,
         'view': DummyView(),
     }
    def perform(self, pipeline, step):
        """ perform(pipeline: VisPipeline, step: int) -> None        
        This will takes a pipeline and apply the interpolated values
        at step 'step' to the pipeline. Then return the updated
        pipeline

        """
        m = pipeline.modules[self.module.id]
        f = ModuleFunction()
        f.name = self.function
        f.returnType = 'void'
        value = self.values[step]
        for v in value:
            p = ModuleParam()
            convert = {'int':'Integer', 'str':'String',
                       'float':'Float', 'double':'Float'}
            p.type = convert[type(v).__name__]
            p.strValue = str(v)
            f.params.append(p)
        m.functions.append(f)
Exemplo n.º 16
0
    def test_tuple(self):
        from core.vistrail.module_param import ModuleParam
        from core.vistrail.module_function import ModuleFunction
        from core.utils import DummyView
        from core.vistrail.module import Module
        import db.domain

        id_scope = db.domain.IdScope()
        interpreter = core.interpreter.default.get_default_interpreter()
        v = DummyView()
        p = core.vistrail.pipeline.Pipeline()
        params = [
            ModuleParam(
                id=id_scope.getNewId(ModuleParam.vtType),
                pos=0,
                type='Float',
                val='2.0',
            ),
            ModuleParam(
                id=id_scope.getNewId(ModuleParam.vtType),
                pos=1,
                type='Float',
                val='2.0',
            )
        ]
        function = ModuleFunction(id=id_scope.getNewId(ModuleFunction.vtType),
                                  name='input')
        function.add_parameters(params)
        module = Module(id=id_scope.getNewId(Module.vtType),
                        name='TestTupleExecution',
                        package='edu.utah.sci.vistrails.console_mode_test',
                        version='0.9.0')
        module.add_function(function)

        p.add_module(module)

        kwargs = {
            'locator': XMLFileLocator('foo'),
            'current_version': 1L,
            'view': v,
        }
Exemplo n.º 17
0
    def create_ops(self, id_scope=IdScope()):
        from core.vistrail.module import Module
        from core.vistrail.module_function import ModuleFunction
        from core.vistrail.module_param import ModuleParam
        from core.vistrail.annotation import Annotation

        if id_scope is None:
            id_scope = IdScope(
                remap={
                    AddOp.vtType: 'operation',
                    ChangeOp.vtType: 'operation',
                    DeleteOp.vtType: 'operation'
                })

        m = Module(id=id_scope.getNewId(Module.vtType),
                   name='Float',
                   package='edu.utah.sci.vistrails.basic')
        add_op = AddOp(id=id_scope.getNewId(AddOp.vtType),
                       what=Module.vtType,
                       objectId=m.id,
                       data=m)
        function = ModuleFunction(id=id_scope.getNewId(ModuleFunction.vtType),
                                  name='value')
        change_op = ChangeOp(id=id_scope.getNewId(ChangeOp.vtType),
                             what=ModuleFunction.vtType,
                             oldObjId=2,
                             newObjId=function.real_id,
                             parentObjId=m.id,
                             parentObjType=Module.vtType,
                             data=function)
        param = ModuleParam(id=id_scope.getNewId(ModuleParam.vtType),
                            type='Float',
                            val='1.0')

        delete_op = DeleteOp(id=id_scope.getNewId(DeleteOp.vtType),
                             what=ModuleParam.vtType,
                             objectId=param.real_id,
                             parentObjId=function.real_id,
                             parentObjType=ModuleFunction.vtType)

        annotation = Annotation(id=id_scope.getNewId(Annotation.vtType),
                                key='foo',
                                value='bar')
        add_annotation = AddOp(id=id_scope.getNewId(AddOp.vtType),
                               what=Annotation.vtType,
                               objectId=m.id,
                               data=annotation)

        return [add_op, change_op, delete_op, add_annotation]
 def test_tuple(self):
     from core.vistrail.module_param import ModuleParam
     from core.vistrail.module_function import ModuleFunction
     from core.utils import DummyView
     from core.vistrail.module import Module
     import db.domain
    
     id_scope = db.domain.IdScope()
     interpreter = core.interpreter.default.get_default_interpreter()
     v = DummyView()
     p = core.vistrail.pipeline.Pipeline()
     params = [ModuleParam(id=id_scope.getNewId(ModuleParam.vtType),
                           pos=0,
                           type='Float',
                           val='2.0',
                           ),
               ModuleParam(id=id_scope.getNewId(ModuleParam.vtType),
                           pos=1,
                           type='Float',
                           val='2.0',
                           )]
     function = ModuleFunction(id=id_scope.getNewId(ModuleFunction.vtType),
                               name='input')
     function.add_parameters(params)
     module = Module(id=id_scope.getNewId(Module.vtType),
                        name='TestTupleExecution',
                        package='edu.utah.sci.vistrails.console_mode_test',
                        version='0.9.0')
     module.add_function(function)
     
     p.add_module(module)
     
     kwargs = {'locator': XMLFileLocator('foo'),
               'current_version': 1L,
               'view': v,
               }
Exemplo n.º 19
0
    def perform(self, pipeline, step):
        """ perform(pipeline: VisPipeline, step: int) -> None        
        This will takes a pipeline and apply the interpolated values
        at step 'step' to the pipeline. Then return the updated
        pipeline

        """
        m = pipeline.modules[self.module.id]
        f = ModuleFunction()
        f.name = self.function
        f.returnType = 'void'
        value = self.values[step]
        for v in value:
            p = ModuleParam()
            convert = {
                'int': 'Integer',
                'str': 'String',
                'float': 'Float',
                'double': 'Float'
            }
            p.type = convert[type(v).__name__]
            p.strValue = str(v)
            f.params.append(p)
        m.functions.append(f)
Exemplo n.º 20
0
 def test_str(self):
     m = Module(
         id=0,
         name='Float',
         functions=[
             ModuleFunction(
                 name='value',
                 parameters=[ModuleParam(
                     type='Int',
                     val='1',
                 )],
             )
         ],
     )
     str(m)
Exemplo n.º 21
0
 def updateActionsHandler(self, controller):
     oldRegistry = self.module.registry
     newPorts = self.newInputOutputPorts()
     (deletePorts, addPorts) = self.registryChanges(oldRegistry, newPorts)
     for (cid, c) in controller.current_pipeline.connections.items():
         if ((c.sourceId==self.module.id and
              any([c.source.name==p[1] for p in deletePorts])) or
             (c.destinationId==self.module.id and
              any([c.destination.name==p[1] for p in deletePorts]))):
             controller.delete_connection(cid)
     for p in deletePorts:
         controller.delete_module_port(self.module.id, p)
     for p in addPorts:
         controller.add_module_port(self.module.id, p)
     if self.codeEditor.document().isModified():
         code = urllib.quote(str(self.codeEditor.toPlainText()))
         fid = self.findSourceFunction()
         
         # FIXME make sure that this makes sense
         if fid==-1:
             # do add function
             fid = self.module.getNumFunctions()
             f = ModuleFunction(pos=fid,
                                name='source')
             param = ModuleParam(type='String',
                                 val=code,
                                 alias='',
                                 name='<no description>',
                                 pos=0)
             f.addParameter(param)
             controller.add_method(self.module.id, f)
         else:
             # do change parameter
             paramList = [(code, 'String', None, 
                           'edu.utah.sci.vistrails.basic', '')]
             controller.replace_method(self.module, fid, paramList)
Exemplo n.º 22
0
    def create_module(self, id_scope=None):
        from db.domain import IdScope
        if id_scope is None:
            id_scope = IdScope()

        params = [
            ModuleParam(id=id_scope.getNewId(ModuleParam.vtType),
                        type='Int',
                        val='1')
        ]
        functions = [
            ModuleFunction(id=id_scope.getNewId(ModuleFunction.vtType),
                           name='value',
                           parameters=params)
        ]
        module = Module(id=id_scope.getNewId(Module.vtType),
                        name='Float',
                        package='edu.utah.sci.vistrails.basic',
                        functions=functions)
        return module
Exemplo n.º 23
0
    def create_group(self, id_scope=IdScope()):
        from core.vistrail.location import Location
        from core.vistrail.module_function import ModuleFunction
        from core.vistrail.module_param import ModuleParam

        params = [
            ModuleParam(id=id_scope.getNewId(ModuleParam.vtType),
                        type='Int',
                        val='1')
        ]
        functions = [
            ModuleFunction(id=id_scope.getNewId(ModuleFunction.vtType),
                           name='value',
                           parameters=params)
        ]
        location = Location(id=id_scope.getNewId(Location.vtType),
                            x=12.342,
                            y=-19.432)
        module = \
            Group(id=id_scope.getNewId(Group.vtType),
                  location=location,
                  functions=functions,
                  )
        return module
Exemplo n.º 24
0
 def from_source_port():
     f = ModuleFunction()
     f.name = self.name
     if len(self._descriptors) > 0:
         f.returnType = self._descriptors[0].name
     return f
 def from_source_port():
     f = ModuleFunction()
     f.name = self.name
     if len(self._descriptors) > 0:
         f.returnType = self._descriptors[0].name
     return f