Skip to content

Commit

Permalink
Add metadata json parent path property
Browse files Browse the repository at this point in the history
  • Loading branch information
bjhardcastle authored Aug 15, 2024
1 parent 2142214 commit ad49871
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions src/aind_session/extensions/metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,18 @@ def __getattr__(self, name: str) -> dict[str, Any]:
path = next(p for p in self.json_paths if p.stem == str(name))
except StopIteration:
raise AttributeError(
f"No {name}.json found in cached view of {self.raw_data_folder.as_posix()}. Available files: {[p.name for p in self.json_paths]}"
f"No {name}.json found in cached view of {self.json_folder.as_posix()}. Available files: {[p.name for p in self.json_paths]}"
) from None
else:
logger.debug(f"Using contents of metadata json at {path.as_posix()}")
return json.loads(content)
return json.loads(path.read_text())

@property
def json_folder(self) -> upath.UPath:
"""Parent folder containing metadata json files"""
path = self._session.raw_data_folder # may raise FileNotFoundError
logger.debug(f"Using {path.as_posix()} as parent folder for metadata json files")
return path

@npc_io.cached_property
def json_paths(self) -> tuple[upath.UPath, ...]:
Expand All @@ -65,7 +72,7 @@ def json_paths(self) -> tuple[upath.UPath, ...]:
sorted(
(
path
for path in self._session.raw_data_folder.iterdir()
for path in self.json_folder.iterdir()
if path.suffix == ".json"
),
key=lambda p: p.name,
Expand Down

0 comments on commit ad49871

Please sign in to comment.