From 63bb0b45968dbb9adb87ef7eb7ba449ec3241c7a Mon Sep 17 00:00:00 2001
From: Alex Wernle <awernle@usgs.gov>
Date: Thu, 14 Nov 2024 08:49:47 -0700
Subject: [PATCH]  Removed some unnecessary code, raise Abort() if no spikes
 detected.

---
 geomagio/processing/flag_spikes.py | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/geomagio/processing/flag_spikes.py b/geomagio/processing/flag_spikes.py
index e91d8bf5..47d5662d 100644
--- a/geomagio/processing/flag_spikes.py
+++ b/geomagio/processing/flag_spikes.py
@@ -11,7 +11,7 @@ from ..algorithm.SpikesAlgorithm import SpikesAlgorithm
 def flag_spikes(
     observatory: str = typer.Option(..., help="Observatory code"),
     channels: str = typer.Option(
-        default=["F"], help="Channels to despike, default is F. Example input: HEZF"
+        default="F", help="Channels to despike, default is F. Example input: HEZF"
     ),
     starttime: datetime = typer.Option(
         default=None,
@@ -64,13 +64,16 @@ def flag_spikes(
 
     spikes = spike_algorithm.run()
 
+    if len(spikes) == 0:
+        print("No spikes found")
+        raise typer.Abort()
+
     # confirm whether or not to create spike metadata
     if not force:
         typer.confirm(f"Are you sure you want to create flag metadata?", abort=True)
         print("Creating flag metadata")
 
     # write flag metadata to metadata service
-    metadata_factory = MetadataFactory(token=metadata_token, url=metadata_url)
     with typer.progressbar(
         iterable=spikes, label="Uploading to metadata service"
     ) as progressbar:
@@ -99,20 +102,14 @@ def upload_spike_metadata(algorithm: SpikesAlgorithm, spike: Metadata) -> Metada
     Metadata
         created metadata object.
     """
-
     # check if metadata already exists for period before uploading
-    prior_metadata_ID = SpikesAlgorithm.check_existing_metadata(
-        algorithm, metadata_obj=spike
-    )
-    if prior_metadata_ID:
+    prior_metadata = SpikesAlgorithm.check_existing_metadata(algorithm, spike)
+    if prior_metadata:
         # TODO: Confirm whether or not to add force or simply update automatically
         typer.confirm(
             f"Spikes already exist for this period, would you like to update this metadata?",
             abort=True,
         )
-
-        # set spike.id to prior_metadata.id to update that metadata object in the database
-        spike.id = prior_metadata_ID
         return SpikesAlgorithm.update_metadata(algorithm, spike)
     else:
         return SpikesAlgorithm.create_new_metadata(algorithm, spike)
-- 
GitLab