From 3486774de0a19e4942994033fd7a078bbec93ef0 Mon Sep 17 00:00:00 2001
From: spencer <swilbur@usgs.gov>
Date: Wed, 10 May 2023 11:33:18 -0600
Subject: [PATCH] Added port options --input_port and --output_port to the
 factory.py files as arguments in the get_miniseed_factory and
 get_edge_factory functions. Also added these options to all *_command
 definitions, and passed them to all appropiate get_*_factory() calls.

---
 geomagio/processing/factory.py | 22 +++++++++++++--
 geomagio/processing/filters.py | 50 ++++++++++++++++++++--------------
 2 files changed, 50 insertions(+), 22 deletions(-)

diff --git a/geomagio/processing/factory.py b/geomagio/processing/factory.py
index 481b0459b..4a1db7ac7 100644
--- a/geomagio/processing/factory.py
+++ b/geomagio/processing/factory.py
@@ -7,15 +7,33 @@ def get_edge_factory(
     data_type="variation",
     host=os.getenv("EDGE_HOST", "127.0.0.1"),
     interval="second",
+    input_port=2060,
+    output_port=7981,
     **kwargs
 ) -> EdgeFactory:
-    return EdgeFactory(host=host, interval=interval, type=data_type, **kwargs)
+    return EdgeFactory(
+        host=host,
+        interval=interval,
+        type=data_type,
+        port=input_port,
+        write_port=output_port,
+        **kwargs
+    )
 
 
 def get_miniseed_factory(
     data_type="variation",
     host=os.getenv("EDGE_HOST", "127.0.0.1"),
     interval="second",
+    input_port=2061,
+    output_port=7974,
     **kwargs
 ) -> MiniSeedFactory:
-    return MiniSeedFactory(host=host, interval=interval, type=data_type, **kwargs)
+    return MiniSeedFactory(
+        host=host,
+        interval=interval,
+        type=data_type,
+        port=input_port,
+        write_port=output_port,
+        **kwargs
+    )
diff --git a/geomagio/processing/filters.py b/geomagio/processing/filters.py
index 54b9e408c..2248e0cca 100644
--- a/geomagio/processing/filters.py
+++ b/geomagio/processing/filters.py
@@ -29,6 +29,8 @@ def main():
 def day_command(
     observatory: str = Argument(None, help="observatory id"),
     input_host: str = Option("127.0.0.1", help="host to request data from"),
+    input_port: int = Option(None, help="port to retrieve data through"),
+    output_port: int = Option(None, help="port to write data through"),
     output_host: str = Option("127.0.0.1", help="host to write data to"),
     realtime_interval: int = Option(
         604800, help="length of update window (in seconds)"
@@ -37,8 +39,8 @@ def day_command(
 ):
     day_filter(
         observatory=observatory,
-        input_factory=get_miniseed_factory(host=input_host),
-        output_factory=get_miniseed_factory(host=output_host),
+        input_factory=get_miniseed_factory(host=input_host, port=input_port),
+        output_factory=get_miniseed_factory(host=output_host, write_port=output_port),
         realtime_interval=realtime_interval,
         update_limit=update_limit,
     )
@@ -50,9 +52,9 @@ def day_command(
             ("UK3", "PK3"),
             ("UK4", "PK4"),
         ),
-        input_factory=get_edge_factory(host=input_host),
+        input_factory=get_edge_factory(host=input_host, port=input_port),
         input_interval="minute",
-        output_factory=get_miniseed_factory(host=output_host),
+        output_factory=get_miniseed_factory(host=output_host, write_port=output_port),
         output_interval="day",
         realtime_interval=realtime_interval,
         update_limit=update_limit,
@@ -67,13 +69,15 @@ def hour_command(
     observatory: str = Argument(None, help="observatory id"),
     input_host: str = Option("127.0.0.1", help="host to request data from"),
     output_host: str = Option("127.0.0.1", help="host to write data to"),
+    input_port: int = Option(None, help="port to retrieve data through"),
+    output_port: int = Option(None, help="port to write data through"),
     realtime_interval: int = Option(86400, help="length of update window (in seconds)"),
     update_limit: int = Option(24, help="number of update windows"),
 ):
     hour_filter(
         observatory=observatory,
-        input_factory=get_miniseed_factory(host=input_host),
-        output_factory=get_miniseed_factory(host=output_host),
+        input_factory=get_miniseed_factory(host=input_host, port=input_port),
+        output_factory=get_miniseed_factory(host=output_host, write_port=output_port),
         realtime_interval=realtime_interval,
         update_limit=update_limit,
     )
@@ -85,9 +89,9 @@ def hour_command(
             ("UK3", "RK3"),
             ("UK4", "RK4"),
         ),
-        input_factory=get_edge_factory(host=input_host),
+        input_factory=get_edge_factory(host=input_host, port=input_port),
         input_interval="minute",
-        output_factory=get_miniseed_factory(host=output_host),
+        output_factory=get_miniseed_factory(host=output_host, write_port=output_port),
         output_interval="hour",
         realtime_interval=realtime_interval,
         update_limit=update_limit,
@@ -120,6 +124,8 @@ def realtime_command(
     observatory: str = Argument(None, help="observatory id"),
     input_host: str = Option("127.0.0.1", help="host to request data from"),
     output_host: str = Option("127.0.0.1", help="host to write data to"),
+    input_port: int = Option(None, help="port to retrieve data through"),
+    output_port: int = Option(None, help="port to write data through"),
     data_format: DataFormat = Option(DataFormat.PCDCP, help="Data acquisition system"),
     realtime_interval: int = Option(600, help="length of update window (in seconds)"),
     update_limit: int = Option(10, help="number of update windows"),
@@ -128,9 +134,11 @@ def realtime_command(
         second_filter(
             observatory=observatory,
             input_factory=get_miniseed_factory(
-                host=input_host, convert_channels=("U", "V", "W")
+                host=input_host, convert_channels=("U", "V", "W"), port=input_port
+            ),
+            output_factory=get_miniseed_factory(
+                host=output_host, write_port=output_port
             ),
-            output_factory=get_miniseed_factory(host=output_host),
             realtime_interval=realtime_interval,
             update_limit=update_limit,
         )
@@ -143,8 +151,8 @@ def realtime_command(
                 ("F", "F"),
             ),
             interval="second",
-            input_factory=get_miniseed_factory(host=input_host),
-            output_factory=get_edge_factory(host=output_host),
+            input_factory=get_miniseed_factory(host=input_host, port=input_port),
+            output_factory=get_edge_factory(host=output_host, write_port=output_port),
             realtime_interval=realtime_interval,
             update_limit=update_limit,
         )
@@ -156,9 +164,9 @@ def realtime_command(
                 ("LK3", "UK3"),
                 ("LK4", "UK4"),
             ),
-            input_factory=get_miniseed_factory(host=input_host),
+            input_factory=get_miniseed_factory(host=input_host, port=input_port),
             input_interval="second",
-            output_factory=get_edge_factory(host=output_host),
+            output_factory=get_edge_factory(host=output_host, write_port=output_port),
             output_interval="minute",
             realtime_interval=realtime_interval,
             update_limit=update_limit,
@@ -173,16 +181,18 @@ def realtime_command(
                 ("F", "F"),
             ),
             interval="second",
-            input_factory=get_edge_factory(host=input_host),
-            output_factory=get_miniseed_factory(host=output_host),
+            input_factory=get_edge_factory(host=input_host, port=input_port),
+            output_factory=get_miniseed_factory(
+                host=output_host, write_port=output_port
+            ),
             realtime_interval=realtime_interval,
             update_limit=update_limit,
         )
     minute_filter(
         observatory=observatory,
         channels=("U", "V", "W", "F"),
-        input_factory=get_miniseed_factory(host=input_host),
-        output_factory=get_miniseed_factory(host=output_host),
+        input_factory=get_miniseed_factory(host=input_host, port=input_port),
+        output_factory=get_miniseed_factory(host=output_host, write_port=output_port),
         realtime_interval=realtime_interval,
         update_limit=update_limit,
     )
@@ -196,8 +206,8 @@ def realtime_command(
                 ("F", "F"),
             ),
             interval="minute",
-            input_factory=get_miniseed_factory(host=input_host),
-            output_factory=get_edge_factory(host=output_host),
+            input_factory=get_miniseed_factory(host=input_host, port=input_port),
+            output_factory=get_edge_factory(host=output_host, write_port=output_port),
             realtime_interval=realtime_interval,
             update_limit=update_limit,
         )
-- 
GitLab