From d5a81c411968d231ae18b70cfc571410d5d80b28 Mon Sep 17 00:00:00 2001
From: Alex Wernle <awernle@usgs.gov>
Date: Fri, 30 Sep 2022 08:45:00 -0600
Subject: [PATCH] Added status and reviewer to create_reading_metadata and
 removed the list of metadata

---
 geomagio/processing/copy_absolutes.py | 32 +++++++++++----------------
 1 file changed, 13 insertions(+), 19 deletions(-)

diff --git a/geomagio/processing/copy_absolutes.py b/geomagio/processing/copy_absolutes.py
index aa786e052..bd3efb5b3 100644
--- a/geomagio/processing/copy_absolutes.py
+++ b/geomagio/processing/copy_absolutes.py
@@ -45,7 +45,6 @@ def copy_absolutes(
     """Copy absolutes from the web absolutes service into the metadata service."""
     # read readings from web absolutes
     web_absolutes_factory = WebAbsolutesFactory(url=web_absolutes_url)
-    observatory = "BOU"
     readings = get_readings(
         factory=web_absolutes_factory,
         observatory=observatory,
@@ -76,23 +75,19 @@ def create_reading_metadata(reading: Reading) -> Metadata:
     """
     json_string = reading.json()
     reading_dict = json.loads(json_string)
-    metadata = []
-    try:
-        reviewer = reading.metadata["reviewer"]
-    except KeyError:
-        reviewer = None
-    metadata.append(
-        Metadata(
-            category=MetadataCategory.READING,
-            created_by="absolutes_test.py",
-            network="NT",
-            updated_by=reviewer,
-            starttime=min([m.time for m in reading.measurements if m.time]),
-            endtime=max([m.time for m in reading.measurements if m.time]),
-            station=reading.metadata["station"],
-            metadata=reading_dict,
-        )
+    reviewer = reading.metadata.get["reviewer"]
+    metadata = Metadata(
+        category=MetadataCategory.READING,
+        created_by=reading.metadata.get("observer", "copy_absolutes"),
+        network="NT",
+        updated_by=reviewer,
+        status="reviewed" if reading.metadata.get("reviewed") else "new",
+        starttime=min([m.time for m in reading.measurements if m.time]),
+        endtime=max([m.time for m in reading.measurements if m.time]),
+        station=reading.metadata["station"],
+        metadata=reading_dict,
     )
+
     return metadata
 
     pass
@@ -153,8 +148,7 @@ def upload_reading(factory: MetadataFactory, reading: Reading) -> Metadata:
     metadata = create_reading_metadata(reading=reading)
     # TODO: should this check if metadata was already uploaded?
     # TODO: should that check occur before calling this method?
-    for meta in metadata:
-        return factory.create_metadata(metadata=meta)
+    return factory.create_metadata(metadata=metadata)
 
 
 if __name__ == "__main__":
-- 
GitLab