From fc47fa5b39759bb42570e9c6e56b39cabde0a38d Mon Sep 17 00:00:00 2001 From: lwark Date: Wed, 11 Jun 2025 14:53:01 -0500 Subject: [PATCH] Updated parser functions to include identifiers. --- src/submissions/backend/db/models/__init__.py | 6 ++++-- src/submissions/backend/db/models/submissions.py | 8 ++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/submissions/backend/db/models/__init__.py b/src/submissions/backend/db/models/__init__.py index 1a38885..6adcc54 100644 --- a/src/submissions/backend/db/models/__init__.py +++ b/src/submissions/backend/db/models/__init__.py @@ -554,7 +554,7 @@ class BaseClass(Base): output_date = datetime.combine(output_date, addition_time).strftime("%Y-%m-%d %H:%M:%S") return output_date - def details_dict(self, **kwargs): + def details_dict(self, expand_children: list = []): relevant = {k: v for k, v in self.__class__.__dict__.items() if isinstance(v, InstrumentedAttribute) or isinstance(v, AssociationProxy)} output = {} @@ -568,7 +568,9 @@ class BaseClass(Base): value = getattr(self, k) match value: case datetime(): - value = value.strftime() + value = value.strftime("%Y-%m-%d %H:%M:%S") + case _: + pass output[k] = value return output diff --git a/src/submissions/backend/db/models/submissions.py b/src/submissions/backend/db/models/submissions.py index d0069a7..3ce844a 100644 --- a/src/submissions/backend/db/models/submissions.py +++ b/src/submissions/backend/db/models/submissions.py @@ -326,6 +326,14 @@ class ClientSubmission(BaseClass, LogMixin): def show_details(self, obj): logger.debug("Show Details") + def details_dict(self, **kwargs): + output = super().details_dict(**kwargs) + output['clientlab'] = output['clientlab'].details_dict() + output['contact'] = output['contact'].details_dict() + output['submissiontype'] = output['submissiontype'].details_dict() + output['run'] = [run.details_dict() for run in output['run']] + return output + class Run(BaseClass, LogMixin): """