diff --git a/geomagio/iaga2002/IAGA2002Factory.py b/geomagio/iaga2002/IAGA2002Factory.py index 37ce68313262ae1415a3892eb8ab451f10b06750..36f4793858b2c3bbfa09675ab9c19e7024d75cca 100644 --- a/geomagio/iaga2002/IAGA2002Factory.py +++ b/geomagio/iaga2002/IAGA2002Factory.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 IAGA2002Parser import IAGA2002Parser from IAGA2002Writer import IAGA2002Writer @@ -33,10 +32,8 @@ class IAGA2002Factory(TimeseriesFactory): IAGA2002Parser """ - def __init__(self, urlTemplate=None, 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): @@ -66,21 +63,13 @@ class IAGA2002Factory(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) - iagaFile = read_url(url_id) - timeseries += self.parse_string(iagaFile) - # 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, iaga2002String): """Parse the contents of a string in the format of an IAGA2002 file. diff --git a/geomagio/iaga2002/StreamIAGA2002Factory.py b/geomagio/iaga2002/StreamIAGA2002Factory.py index a3599703fc6476e14e5b97565896f7c8f43bf7ca..83ab08a377da1b823e5d099b0c78a76383798dab 100644 --- a/geomagio/iaga2002/StreamIAGA2002Factory.py +++ b/geomagio/iaga2002/StreamIAGA2002Factory.py @@ -17,10 +17,8 @@ class StreamIAGA2002Factory(IAGA2002Factory): IAGA2002Factory Timeseriesfactory """ - def __init__(self, stream, observatory=None, channels=None, - type=None, interval=None): - IAGA2002Factory.__init__(self, None, observatory, channels, - type, interval) + def __init__(self, stream, **kwargs): + IAGA2002Factory.__init__(self, **kwargs) self._stream = stream def get_timeseries(self, starttime, endtime, observatory=None, diff --git a/test/iaga2002_test/IAGA2002Factory_test.py b/test/iaga2002_test/IAGA2002Factory_test.py index 3d835edc6c5eb12c6e7a393a306770d48eb7ec23..388ef687094ff7d63b6bec44c5105cc3bf0eb3ad 100644 --- a/test/iaga2002_test/IAGA2002Factory_test.py +++ b/test/iaga2002_test/IAGA2002Factory_test.py @@ -14,11 +14,11 @@ def test__get_days(): """ starttime = UTCDateTime('2014-01-01') endtime = UTCDateTime('2014-01-07') - assert_equals(IAGA2002Factory('')._get_days(starttime, endtime), [ - UTCDateTime('2014-01-01'), - UTCDateTime('2014-01-02'), - UTCDateTime('2014-01-03'), - UTCDateTime('2014-01-04'), - UTCDateTime('2014-01-05'), - UTCDateTime('2014-01-06'), - UTCDateTime('2014-01-07')]) + assert_equals(IAGA2002Factory()._get_days(starttime, endtime), [ + UTCDateTime('2014-01-01'), + UTCDateTime('2014-01-02'), + UTCDateTime('2014-01-03'), + UTCDateTime('2014-01-04'), + UTCDateTime('2014-01-05'), + UTCDateTime('2014-01-06'), + UTCDateTime('2014-01-07')])