diff --git a/integrationtests/filldb.sh b/integrationtests/filldb.sh index 9f55365eb595537b43caa9b197c8bc31ea1e69cb..9b9037262c72356fbacdde74c36b5b5ae0693772 100755 --- a/integrationtests/filldb.sh +++ b/integrationtests/filldb.sh @@ -6,6 +6,7 @@ python3 -m caosadvancedtools.loadFiles /opt/caosdb/mnt/extroot/DataAnalysis python3 -m caosadvancedtools.loadFiles /opt/caosdb/mnt/extroot/SimulationData python3 -m caosadvancedtools.loadFiles /opt/caosdb/mnt/extroot/Publications python3 -m caosadvancedtools.loadFiles /opt/caosdb/mnt/extroot/Software +python3 -m caosadvancedtools.loadFiles /opt/caosdb/mnt/extroot/bids python3 insert_model.py python3 insert_some.py python3 crawl.py / diff --git a/src/caosadvancedtools/cfoods/bids/dataset_cfood.py b/src/caosadvancedtools/cfoods/bids/dataset_cfood.py index c3450b01db9e1678e06ffaf5b96ab228f091bb74..b7206a4babecbd44ac179d2a4e538c5b52e09426 100644 --- a/src/caosadvancedtools/cfoods/bids/dataset_cfood.py +++ b/src/caosadvancedtools/cfoods/bids/dataset_cfood.py @@ -20,12 +20,13 @@ # along with this program. If not, see <https://www.gnu.org/licenses/>. import json +from dataclasses import dataclass import caosdb as db -from dataclasses import dataclass from caosadvancedtools.cfood import (AbstractFileCFood, assure_has_description, assure_has_parent, assure_has_property, - assure_object_is_in_list, get_entity, fileguide) + assure_object_is_in_list, + assure_property_is, fileguide, get_entity) from .datastructure import BIDSStructure @@ -56,12 +57,12 @@ class DataSetCFood(AbstractFileCFood): self.dataset = db.Record() self.dataset.add_parent(name=dm.dataset) self.dataset.add_property(name=dm.bids_folder_name, value=self.match.group('bids_folder_name')) - pass - # self.identifiables.extend(stuff) + self.identifiables.append(self.dataset) def update_identifiables(self): # set description - dataset_description = json.load(fileguide.access(self.crawled_path)) + with open(fileguide.access(self.crawled_path)) as jfi: + dataset_description = json.load(jfi) if "Name" not in dataset_description: raise ValueError("Name of the dataset must be set in" @@ -70,4 +71,4 @@ class DataSetCFood(AbstractFileCFood): assure_property_is(entity=self.dataset, name="name", value=dataset_description['Name'], - to_be_update=self.to_be_update) + to_be_updated=self.to_be_updated) diff --git a/src/caosadvancedtools/cfoods/bids/datastructure.py b/src/caosadvancedtools/cfoods/bids/datastructure.py index 2ba7c37f74aca940729464702ad04553be68ce82..bec55ddb80ab95569abf1ab5e258ef7fb774e307 100644 --- a/src/caosadvancedtools/cfoods/bids/datastructure.py +++ b/src/caosadvancedtools/cfoods/bids/datastructure.py @@ -24,7 +24,7 @@ This module contains regular expressions neeeded for the BIDS folder structure. class BIDSStructure(object): - bidsfolder_pattern = (r"(?P<bids_folder_name>((?!/).)*)/") + bidsfolder_pattern = (r".*/(?P<bids_folder_name>((?!/).)*)/") date_pattern = r"(?P<date>\d{2,4}[-_]\d{1,2}[-_]\d{1,2})" date_suffix_pattern = r"(_(?P<suffix>(((?!/).)*)))?/" dataset_description = bidsfolder_pattern+r"dataset_description\.json$"