def changeExtension(self, extension=None): """ Change to a new extension. :param extension: can be "mini", "3d", "tissue", "plant" """ self.removeDocksWidgets() filename = 'oalab.py' conf = path(get_openalea_home_dir()) / filename if extension in ["mini", "3d", "tissue", "plant"]: filename = ('oalab_' + extension + '.py') conf = path(get_openalea_home_dir()) / filename if not conf.exists(): with conf.open('w') as f: # TODO : auto generate config file # f.write(self._config.generate_config_file()) if extension == "mini": f.write(config_file_mini) elif extension == "3d": f.write(config_file_3d) elif extension == "tissue": f.write(config_file_tissue) elif extension == "plant": f.write(config_file_plant) else: f.write(config_file_default) self.session.load_config_file(filename=filename, path=get_openalea_home_dir()) self.setWidgets(self.controller)
def add_data(self, data_id="", path="", site="", exec_data=False, cache_data=False, *args, **kwargs): # FIRST: FORMAT INPUT: ind = { "data_id": data_id, "path": path, "site": site, "exec_data": exec_data, "cache_data": cache_data } try: index_path = os.path.join(self.path, str(data_id + '.json')) with open(index_path, 'a+') as fp: json.dump(ind, fp) fp.write("\n") except: index_path = os.path.join(settings.get_openalea_home_dir(), 'index_default.json') print('Fail to open index files. - Now write index in : ', index_path) with open(index_path, 'a+') as fp: json.dump(ind, fp) fp.write("\n")
def launch_lab(plugin_class): from openalea.oalab.gui.splittablewindow import OALabMainWin from openalea.core.settings import get_openalea_home_dir from openalea.core.path import path as Path from openalea.core.service.introspection import alias from openalea.oalab.gui.utils import qicon plugin = plugin_class() lab_class = plugin() layout_path = Path(get_openalea_home_dir()) / '%s.oaui' % lab_class.name OALabMainWin.DEFAULT_LAYOUT_PATH = layout_path OALabMainWin.DEFAULT_LAYOUT = lab_class.layout OALabMainWin.DEFAULT_MENU_NAMES = lab_class.menu_names OALabMainWin.LAB = lab_class if hasattr(lab_class, "start"): lab_class.start() win = OALabMainWin(lab=lab_class) win.setWindowIcon(qicon(lab_class.icon)) if hasattr(lab_class, 'connect_applet'): win.appletSet.connect(lab_class.connect_applet) win.emit_applet_set() if hasattr(lab_class, "initialize"): lab_class.initialize() win.initialize() win.setWindowTitle('OpenAleaLab "%s"' % alias(plugin)) win.showMaximized() win.raise_() return win
def add_wf_item(self, item, *args, **kwargs): try: prov_path = os.path.join(self.localpath, str(item["workflow"]) + '.json') with open(prov_path, 'a+') as fp: json.dump(item, fp, indent=4) except: prov_path = path(settings.get_openalea_home_dir() ) / 'provenance' / 'wf_provenance.json' print('Fail to open prov files. - Now write prov in : ', prov_path) with open(prov_path, 'a+') as fp: json.dump(item, fp, indent=4)
def add_execution_item(self, item, *args, **kwargs): try: prov_path = os.path.join(self.localpath, str(item["workflow_id"]) + '.json') with open(prov_path, 'a+') as fp: json.dump(item, fp) fp.write("\n") except: prov_path = os.path.join(settings.get_openalea_home_dir(), 'provenance', 'execution_provenance.json') print('Fail to open prov files. - Now write prov in : ', prov_path) with open(prov_path, 'a+') as fp: json.dump(item, fp) fp.write("\n")
# -*- coding: utf-8 -*- from openalea.core.path import path from openalea.core import settings import os from os.path import expanduser REMOTE_SITE = False # Files SITE_PATH = path(settings.get_openalea_home_dir()) / 'index' # Mongo MONGO_ADDR='127.0.0.1' MONGO_PORT = 27017 # remote db MONGO_SSH_IP='127.0.0.1' home = expanduser("~") SSH_PKEY = os.path.join(home, ".ssh", "id_rsa") SSH_USERNAME="******" # cassandra CASSANDRA_SSH_IP = "134.158.247.62" CASSANDRA_ADDR = "localhost" CASSANDRA_PORT = 9042
def get_database_name(): db_fn = path(settings.get_openalea_home_dir())/'provenance.sq3' return db_fn
# -*- coding: utf-8 -*- from openalea.core.path import path from openalea.core import settings import os from os.path import expanduser # PATHS # files infos PROVENANCE_PATH = path(settings.get_openalea_home_dir()) / 'provenance' TMP_PATH = path(settings.get_openalea_home_dir()) / "execution_data" CACHE_PATH = path(settings.get_openalea_home_dir()) / "cached_data" # infos about provenance db REMOTE_PROV = False # Mongo MONGO_ADDR = '127.0.0.1' MONGO_PORT = 27017 # cassandra REMOTE_INDEX = True CASSANDRA_SSH_IP = "134.158.247.62" CASSANDRA_PORT = 9042 # SSH PROVDB_SSH_ADDR = "" home = expanduser("~") SSH_PKEY = os.path.join(home, ".ssh", "id_rsa") SSH_USERNAME = "******" # REMOTE_DB_ADDR=('127.0.0.1', 27017)
# -*- coding: utf-8 -*- from openalea.core.path import path from openalea.core import settings import os from os.path import expanduser REMOTE_PROV = False # Files PROVENANCE_PATH = path(settings.get_openalea_home_dir()) / 'provenance' # Mongo MONGO_ADDR = '127.0.0.1' MONGO_PORT = 27017 # remote db MONGO_SSH_IP = '127.0.0.1' home = expanduser("~") SSH_PKEY = os.path.join(home, ".ssh", "id_rsa") SSH_USERNAME = "******" # cassandra CASSANDRA_SSH_IP = "134.158.247.62" CASSANDRA_ADDR = "localhost" CASSANDRA_PORT = 9042
def get_database_name(): db_fn = path(settings.get_openalea_home_dir()) / 'provenance.sq3' return db_fn