diff --git a/geomagio/processing/copy_absolutes.py b/geomagio/processing/copy_absolutes.py index db38d3eff0519ac713e773070987f3a119e24f58..a438c24644c71663829e92deb269181485578901 100644 --- a/geomagio/processing/copy_absolutes.py +++ b/geomagio/processing/copy_absolutes.py @@ -185,10 +185,21 @@ def upload_reading( metadata = create_reading_metadata( reading=reading, created_by_label=created_by_label ) - # TODO: should this check if metadata was already uploaded? - # TODO: should that check occur before calling this method? + + # check if metadata already exists before uploading if metadata is not None: - return factory.create_metadata(metadata=metadata) + prior_metadata = Metadata( + category=MetadataCategory.READING, + starttime=metadata.starttime, + endtime=metadata.endtime, + station=metadata.station, + ) + prior_metadata = factory.get_metadata(query=prior_metadata) + if len(prior_metadata) != 0: + print(" Metadata already exists, skipping upload") + pass + else: + return factory.create_metadata(metadata=metadata) else: print(" Absolute set is empty, skipping upload to webservice") pass