From 01a9dde0dc340c9cc5cb68e2729c06bdef42f801 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <henrik@trineo.org>
Date: Thu, 12 Aug 2021 16:50:04 +0200
Subject: [PATCH] FIXES

---
 integrationtests/filldb.sh                         |  1 +
 src/caosadvancedtools/cfoods/bids/dataset_cfood.py | 13 +++++++------
 src/caosadvancedtools/cfoods/bids/datastructure.py |  2 +-
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/integrationtests/filldb.sh b/integrationtests/filldb.sh
index 9f55365e..9b903726 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 c3450b01..b7206a4b 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 2ba7c37f..bec55ddb 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$"
-- 
GitLab