diff --git a/geomagio/Controller.py b/geomagio/Controller.py index 9d50ceb2a18a17f0c0fad8957d53d13348c6fc78..d9feb299ee03dad412fa23ce82960ec90f18dd95 100644 --- a/geomagio/Controller.py +++ b/geomagio/Controller.py @@ -285,8 +285,12 @@ class Controller(object): channels=input_channels, interval=input_interval, ) - if timeseries.count() == 0: - # no data to process + if not algorithm.can_produce_data( + starttime=timeseries[0].stats.starttime, + endtime=timeseries[0].stats.endtime, + stream=timeseries, + ): + # don't process if nothing will be produced return # pre-process if next_starttime and realtime: @@ -416,18 +420,6 @@ class Controller(object): ] ] for output_gap in output_gaps: - input_timeseries = self._get_input_timeseries( - algorithm=algorithm, - observatory=observatory, - starttime=output_gap[0], - endtime=output_gap[1], - channels=input_channels, - interval=input_interval, - ) - if not algorithm.can_produce_data( - starttime=output_gap[0], endtime=output_gap[1], stream=input_timeseries - ): - continue # check for fillable gap at start if output_gap[0] == starttime: # found fillable gap at start, recurse to previous interval @@ -469,7 +461,6 @@ class Controller(object): starttime=gap_starttime, endtime=gap_endtime, input_channels=input_channels, - input_timeseries=input_timeseries, output_channels=output_channels, input_interval=input_interval, output_interval=output_interval,