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") output_date = datetime.combine(output_date, addition_time).strftime("%Y-%m-%d %H:%M:%S")
return output_date 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 relevant = {k: v for k, v in self.__class__.__dict__.items() if
isinstance(v, InstrumentedAttribute) or isinstance(v, AssociationProxy)} isinstance(v, InstrumentedAttribute) or isinstance(v, AssociationProxy)}
output = {} output = {}
@@ -568,7 +568,9 @@ class BaseClass(Base):
value = getattr(self, k) value = getattr(self, k)
match value: match value:
case datetime(): case datetime():
value = value.strftime() value = value.strftime("%Y-%m-%d %H:%M:%S")
case _:
pass
output[k] = value output[k] = value
return output return output

View File

@@ -326,6 +326,14 @@ class ClientSubmission(BaseClass, LogMixin):
def show_details(self, obj): def show_details(self, obj):
logger.debug("Show Details") 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): class Run(BaseClass, LogMixin):
""" """