From 391de85394a7729879b5b950c252385df1d37312 Mon Sep 17 00:00:00 2001 From: Matias Piano Date: Mon, 27 Oct 2025 14:25:24 -0300 Subject: [PATCH 1/2] Execute the segment vessel daily query per each day of the date range --- .../segment_vessel/segment_vessel_daily.py | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/pipe_segment/segment_vessel/segment_vessel_daily.py b/pipe_segment/segment_vessel/segment_vessel_daily.py index 06357ef5..475b1e11 100644 --- a/pipe_segment/segment_vessel/segment_vessel_daily.py +++ b/pipe_segment/segment_vessel/segment_vessel_daily.py @@ -1,7 +1,10 @@ from google.cloud import bigquery +from pipe_segment import tools +from pipe_segment.cli.commands import validator from pipe_segment.utils.bq_tools import BigQueryHelper, DatePartitionedTable, Schemas from pipe_segment.utils.template_tools import format_query from pipe_segment.version import __version__ +from datetime import timedelta import logging logger = logging.getLogger(__name__) @@ -49,20 +52,22 @@ def get_output_table(self): def run(self): # run the query and store the values in the partitioned field. - _, end = self.options.date_range.split(",") + start, end = map(lambda x: validator.valid_date(x), self.options.date_range.split(",")) + logger.info("Formatting the query with the parameters.") - query = format_query( - QUERY, - date=end, - window_days=self.options.window_days, - single_ident_min_freq=self.options.single_ident_min_freq, - most_common_min_freq=self.options.most_common_min_freq, - spoofing_threshold=self.options.spoofing_threshold, - segment_identity=self.options.source_segment_identity, - ) - logger.info("Running the Segment Vessel Daily query.") table = self.get_output_table() - self.bq_helper.run_query_into_table(query=query, table=table) + for single_day in list(tools.list_of_days(start, end + timedelta(days=1))): + query = format_query( + QUERY, + date=single_day, + window_days=self.options.window_days, + single_ident_min_freq=self.options.single_ident_min_freq, + most_common_min_freq=self.options.most_common_min_freq, + spoofing_threshold=self.options.spoofing_threshold, + segment_identity=self.options.source_segment_identity, + ) + logger.info(f"Running the Segment Vessel Daily query for {single_day}.") + self.bq_helper.run_query_into_table(query=query, table=table) def run(*args, **kwargs): From 17e09e763502062fc313d80ecfe730490c7aee52 Mon Sep 17 00:00:00 2001 From: Matias Piano Date: Mon, 27 Oct 2025 15:38:16 -0300 Subject: [PATCH 2/2] Bumps version to v5.0.1 --- pipe_segment/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipe_segment/version.py b/pipe_segment/version.py index a0f66580..3d96b276 100644 --- a/pipe_segment/version.py +++ b/pipe_segment/version.py @@ -1 +1 @@ -__version__ = '5.0.0' +__version__ = '5.0.1'