From dcdba08d43512204da9e7d2d6bef253debdd8596 Mon Sep 17 00:00:00 2001 From: Jeremy Fee <jmfee@usgs.gov> Date: Wed, 11 May 2016 12:11:13 -0600 Subject: [PATCH] Update pcdcp factories to use generic _get_timeseries method --- geomagio/pcdcp/PCDCPFactory.py | 32 ++++++++-------------------- geomagio/pcdcp/StreamPCDCPFactory.py | 6 ++---- test/pcdcp_test/PCDCPFactory_test.py | 2 +- 3 files changed, 12 insertions(+), 28 deletions(-) diff --git a/geomagio/pcdcp/PCDCPFactory.py b/geomagio/pcdcp/PCDCPFactory.py index 4760b94a2..a293ec770 100644 --- a/geomagio/pcdcp/PCDCPFactory.py +++ b/geomagio/pcdcp/PCDCPFactory.py @@ -4,7 +4,6 @@ import obspy.core from .. import ChannelConverter from ..TimeseriesFactory import TimeseriesFactory from ..TimeseriesFactoryException import TimeseriesFactoryException -from ..Util import read_url from PCDCPParser import PCDCPParser from PCDCPWriter import PCDCPWriter @@ -35,10 +34,8 @@ class PCDCPFactory(TimeseriesFactory): PCDCPParser """ - def __init__(self, urlTemplate, observatory=None, channels=None, type=None, - interval=None): - TimeseriesFactory.__init__(self, observatory, channels, type, - interval, urlTemplate) + def __init__(self, **kwargs): + TimeseriesFactory.__init__(self, **kwargs) def get_timeseries(self, starttime, endtime, observatory=None, channels=None, type=None, interval=None): @@ -68,24 +65,13 @@ class PCDCPFactory(TimeseriesFactory): If invalid values are requested, or errors occur while retrieving timeseries. """ - observatory = observatory or self.observatory - channels = channels or self.channels - type = type or self.type - interval = interval or self.interval - days = self._get_days(starttime, endtime) - timeseries = obspy.core.Stream() - for day in days: - url_id = self._get_url(observatory, day, type, interval) - pcdcpFile = read_url(url_id) - timeseries += self.parse_string(pcdcpFile) - - # merge channel traces for multiple days - timeseries.merge() - - # trim to requested start/end time - timeseries.trim(starttime, endtime) - - return timeseries + return self._get_timeseries( + starttime=starttime, + endtime=endtime, + observatory=observatory, + channels=channels, + type=type, + interval=interval) def parse_string(self, pcdcpString): """Parse the contents of a string in the format of a pcdcp file. diff --git a/geomagio/pcdcp/StreamPCDCPFactory.py b/geomagio/pcdcp/StreamPCDCPFactory.py index 2204fb473..2aee680d9 100644 --- a/geomagio/pcdcp/StreamPCDCPFactory.py +++ b/geomagio/pcdcp/StreamPCDCPFactory.py @@ -17,10 +17,8 @@ class StreamPCDCPFactory(PCDCPFactory): PCDCPFactory Timeseriesfactory """ - def __init__(self, stream, observatory=None, channels=None, - type=None, interval=None): - PCDCPFactory.__init__(self, None, observatory, channels, - type, interval) + def __init__(self, stream, **kwargs): + PCDCPFactory.__init__(self, **kwargs) self._stream = stream def get_timeseries(self, starttime, endtime, observatory=None, diff --git a/test/pcdcp_test/PCDCPFactory_test.py b/test/pcdcp_test/PCDCPFactory_test.py index f03fc65e2..7466a0f10 100644 --- a/test/pcdcp_test/PCDCPFactory_test.py +++ b/test/pcdcp_test/PCDCPFactory_test.py @@ -20,7 +20,7 @@ def test_parse_string(): Send a PCDCP file string in to parse_string to make sure a well formed stream is created with proper values. """ - stream = PCDCPFactory('').parse_string(pcdcpString) + stream = PCDCPFactory().parse_string(pcdcpString) assert_equals(type(stream), Stream) assert_equals(stream[0].stats.network, 'NT') -- GitLab