Example #1
0
    def test_autocreate_category_dir(self):
        # Project exists on disk
        #########################

        # Add data object created from scratch in a project existing on disk
        project = Project(self.tmpdir / 'test1', alias='test')
        project.save()
        d1 = project.add('data', filename='image_1.tiff', content=b'')
        assert d1.path.exists()

        # Add an existing data in a project existing on disk
        project = Project(self.tmpdir / 'test2', alias='test')
        project.save()
        d1 = project.add('data', path=get_data('image_2.tiff'))
        assert d1.path.exists()
        assert d1.path.parent == project.path / 'data'

        # Project don't exists on disk
        ##############################

        # Add data object created from scratch in a project NOT existing on disk
        project = Project(self.tmpdir / 'test3', alias='test')
        d1 = project.add('data', filename='image_1.tiff', content=b'')
        assert d1.path.exists() is False

        # Add an existing data in a project NOT existing on disk
        project = Project(self.tmpdir / 'test4', alias='test')
        d1 = project.add('data', path=get_data('image_2.tiff'))
        assert d1.path.exists() is False
        assert d1.path.parent == project.path / 'data'
Example #2
0
 def test_load(self):
     project = Project(get_data('test_project_lpy'))
     project.register_listener(self.ev)
     assert len(project.model) == 1
     assert len(project.cache) == 4
     assert len(project.startup) == 1
     assert 'noise_branch-2d.lpy' in project.model
     events = self.ev.events
Example #3
0
    def test_save(self):
        proj = self.project
        model1 = proj.add("model",
                          filename="plop.py",
                          content="print 'plop world'")
        model2 = proj.add("model",
                          path=get_data('model.py'),
                          mode=proj.MODE_LINK)
        events = self.ev.events  # clear events

        proj.save()
        events = self.ev.events
        self.check_events(events, ['project_saved'])
        assert len(proj.model) == 2

        proj2 = Project(self.tmpdir / 'test')
        assert len(proj2.model) == 2
        # assert len(proj2.control) == 2
        # assert proj2.control["my_integer"] == 42
        # assert proj2.control["my_float"] == 3.14
        self.assertEqual(proj2.model["plop.py"].read(), "print 'plop world'")
        # added strip to avoid trouble with end of lines on windows
        self.assertEqual(proj2.model["model.py"].read().strip(),
                         "print 'hello world'")
Example #4
0
 def load(self, path, protocol=None, **kwds):
     project = Project(path)
     return self.update(project, path, protocol=protocol, **kwds)
Example #5
0
 def load(self, path, protocol=None, **kwds):
     from openalea.core.project import Project
     project = Project(path)
     return self.update(project, path, protocol=protocol, **kwds)
Example #6
0
 def setUp(self):
     self.tmpdir = tempdir()
     self.project = Project(self.tmpdir / 'test', alias='test')
     self.ev = EventTracker()
     self.project.register_listener(self.ev)
Example #7
0
from openalea.core.project.manager import ProjectManager
from openalea.core.project import Project

from openalea.core.service.control import new_control
from openalea.core.service.model import ModelFactory

from openalea.oalab.service.paradigm import paradigm_controller

from openalea.core.service.ipython import interpreter
interp = interpreter()
interp.locals['interp'] = interp

pm = PackageManager()

project_manager = ProjectManager()
project = Project('unittest')
project_manager.cproject = project
if not project.started:
    project.start()
interp.locals['project_manager'] = project_manager
interp.locals['project'] = project


def composite_node():
    inputs = []
    outputs = []
    for io in list('abcd'):
        inputs.append({
            'name': io,
            'desc': 'Input %s' % io.upper(),
            'value': 0