From 000a7ef5e5c5b475aa5d2ba6549476a3b0641195 Mon Sep 17 00:00:00 2001
From: Alex Wernle <awernle@usgs.gov>
Date: Thu, 14 Nov 2024 08:56:12 -0700
Subject: [PATCH] Changed add_empty_channels to False. Changed
 check_existing_metadata to return whole metadata object.

---
 geomagio/algorithm/MetadataAlgorithm.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/geomagio/algorithm/MetadataAlgorithm.py b/geomagio/algorithm/MetadataAlgorithm.py
index c9970cf6..8cbcea2f 100644
--- a/geomagio/algorithm/MetadataAlgorithm.py
+++ b/geomagio/algorithm/MetadataAlgorithm.py
@@ -2,6 +2,7 @@ from pydantic import BaseModel
 from obspy import UTCDateTime, Stream
 from datetime import timedelta
 from enum import Enum
+from typing import Optional
 
 from ..metadata.flag.Flag import Flag
 from ..metadata import Metadata, MetadataFactory, MetadataCategory
@@ -46,7 +47,7 @@ class MetadataAlgorithm(BaseModel):
             return data_factory.get_timeseries(
                 starttime=self.starttime,
                 endtime=self.endtime,
-                add_empty_channels=True,
+                add_empty_channels=False,
             )
         except Exception as e:
             raise ValueError(f"Failed to retrieve data stream from {self.factory}: {e}")
@@ -78,8 +79,8 @@ class MetadataAlgorithm(BaseModel):
             status=status,
         )
 
-    def check_existing_metadata(self, metadata_obj: Metadata) -> str | None:
-        """Check if similar metadata already exists and return existing metadata ID if it does."""
+    def check_existing_metadata(self, metadata_obj: Metadata) -> Optional[Metadata]:
+        """Check if similar metadata already exists and return existing metadata if it does."""
         query_metadata = Metadata(
             category=metadata_obj.category,
             station=metadata_obj.station,
@@ -90,7 +91,7 @@ class MetadataAlgorithm(BaseModel):
         metadata_factory = self._get_metadata_factory()
         prior_metadata = metadata_factory.get_metadata(query=query_metadata)
 
-        return prior_metadata[0].id if prior_metadata else None
+        return prior_metadata if prior_metadata else None
 
     def update_metadata(self, metadata_obj: Metadata) -> Metadata:
         """Update existing metadata."""
-- 
GitLab