From d46ef71fbc2478b1f83c7caabe69662bceaaa10e Mon Sep 17 00:00:00 2001
From: "E. Joshua Rigler" <erigler@usgs.gov>
Date: Sun, 2 Mar 2025 19:03:29 -0700
Subject: [PATCH] Only EdgeFactory and MiniSeedFactory use scale_factor and
 sncl_mode:

I knew this in the previous commit, but I thought their parent class, TimeseriesFactory, could handle arbitrary keywords (i.e., it had a kwargs argument to vacuum up unrecognized keywords). I was mistaken.
---
 geomagio/Controller.py | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/geomagio/Controller.py b/geomagio/Controller.py
index 6297df43..1380c34b 100644
--- a/geomagio/Controller.py
+++ b/geomagio/Controller.py
@@ -491,8 +491,6 @@ def get_input_factory(args):
     # standard arguments
     input_factory_args = {}
     input_factory_args["interval"] = args.input_interval or args.interval
-    input_factory_args["scale_factor"] = args.input_scale_factor or args.scale_factor
-    input_factory_args["sncl_mode"] = args.input_sncl_mode or args.sncl_mode
     input_factory_args["observatory"] = args.observatory
     input_factory_args["type"] = args.type
     input_type = args.input
@@ -519,6 +517,8 @@ def get_input_factory(args):
             host=args.input_host,
             port=args.input_port,
             locationCode=args.locationcode,
+            scale_factor=args.input_scale_factor or args.scale_factor,
+            sncl_mode=args.input_sncl_mode or args.sncl_mode,
             **input_factory_args,
         )
     elif input_type == "goes":
@@ -564,6 +564,8 @@ def get_input_factory(args):
                 port=args.input_port,
                 locationCode=args.locationcode,
                 convert_channels=args.convert_voltbin,
+                scale_factor=args.input_scale_factor or args.scale_factor,
+                sncl_mode=args.input_sncl_mode or args.sncl_mode,
                 **input_factory_args,
             )
         elif input_type == "xml":
@@ -602,8 +604,6 @@ def get_output_factory(args):
     # standard arguments
     output_factory_args = {}
     output_factory_args["interval"] = args.output_interval or args.interval
-    output_factory_args["scale_factor"] = args.output_scale_factor or args.scale_factor
-    output_factory_args["sncl_mode"] = args.ouput_sncl_mode or args.sncl_mode
     output_factory_args["observatory"] = args.output_observatory
     output_factory_args["type"] = args.type
     # stream/url arguments
@@ -632,6 +632,8 @@ def get_output_factory(args):
             locationCode=locationcode,
             tag=args.output_edge_tag,
             forceout=args.output_edge_forceout,
+            scale_factor=args.input_scale_factor or args.scale_factor,
+            sncl_mode=args.input_sncl_mode or args.sncl_mode,
             **output_factory_args,
         )
     elif output_type == "plot":
@@ -662,6 +664,8 @@ def get_output_factory(args):
                 port=args.output_read_port,
                 write_port=args.output_port,
                 locationCode=locationcode,
+                scale_factor=args.input_scale_factor or args.scale_factor,
+                sncl_mode=args.input_sncl_mode or args.sncl_mode,
                 **output_factory_args,
             )
         elif output_type == "xml":
-- 
GitLab