def get_scenario_fs(): """Create filesystem combining the server (if connected) with blob storage, prioritizing the server if connected. :return: (*fs.base.FS*) -- filesystem instance """ scenario_data = get_blob_fs("scenariodata") mfs = MultiFS() try: ssh_fs = get_ssh_fs(server_setup.DATA_ROOT_DIR) mfs.add_fs("ssh_fs", ssh_fs, write=True, priority=2) except: # noqa print("Could not connect to ssh server") mfs.add_fs("scenario_fs", scenario_data, priority=1) remotes = ",".join([f[0] for f in mfs.iterate_fs()]) print(f"Initialized remote filesystem with {remotes}") return mfs
def get_multi_fs(root): """Create filesystem combining the server (if connected) with profile and scenario containers in blob storage. The priority is in descending order, so the server will be used first if possible :param str root: root directory on server :return: (*fs.base.FS*) -- filesystem instance """ scenario_data = get_blob_fs("scenariodata") profiles = get_blob_fs("profiles") mfs = MultiFS() try: ssh_fs = get_ssh_fs(root) mfs.add_fs("ssh_fs", ssh_fs, write=True, priority=3) except: # noqa print("Could not connect to ssh server") mfs.add_fs("profile_fs", profiles, priority=2) mfs.add_fs("scenario_fs", scenario_data, priority=1) remotes = ",".join([f[0] for f in mfs.iterate_fs()]) print(f"Initialized remote filesystem with {remotes}") return mfs