Turned ManifestComponents into dataclasses
IngestionManifest has not been turned into a dataclass since its __init__()
method has logic in it.
ManifestComponentIF instances (except IngestionManifests) will no longer be missing attributes; attributes that used to be missing will now just be None. I didn't see any cases where we wanted attributes that could be missing to be included in their class' JSON when they're None
, so I changed the to_dict()
methods to exclude them in this case.
Docs for dataclasses can be found here: https://docs.python.org/3.10/library/dataclasses.html