diff --git a/geomagio/algorithm/MetadataAlgorithm.py b/geomagio/algorithm/MetadataAlgorithm.py index c9970cf664a3a987dc7451712a85cf859771c74b..8cbcea2fe5e87e1647c49f8034eacf00408248ce 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."""