Updated parser functions to include identifiers.

This commit is contained in:
lwark
2025-06-11 14:53:01 -05:00
parent 90dc97683f
commit fc47fa5b39
2 changed files with 12 additions and 2 deletions

View File

@@ -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

View File

@@ -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):
"""