diff --git a/geomagio/edge/EdgeFactory.py b/geomagio/edge/EdgeFactory.py index 86187c3e293acec11ee6da482280fe83f4135036..5b800d7ec241ffeda6171906daa951a01fbd2ae2 100644 --- a/geomagio/edge/EdgeFactory.py +++ b/geomagio/edge/EdgeFactory.py @@ -159,9 +159,6 @@ class EdgeFactory(TimeseriesFactory): type = type or self.type interval = interval or self.interval - self.ric = RawInputClient(self.tag, self.host, self.port, - self.cwbhost, self.cwbport) - for channel in channels: if timeseries.select(channel=channel).count() == 0: sys.stderr.write('Missing channel %s for output, continuing \n' @@ -171,7 +168,6 @@ class EdgeFactory(TimeseriesFactory): channel=channel) for trace in timeseries.select(channel=channel).split(): self._put_trace(trace, observatory, channel, type, interval) - self.ric.close() def _put_trace(self, trace, observatory, channel, type, interval): """Put trace @@ -198,6 +194,9 @@ class EdgeFactory(TimeseriesFactory): edge_channel = self._get_edge_channel(observatory, channel, type, interval) + self.ric = RawInputClient(self.tag, self.host, self.port, + self.cwbhost, self.cwbport) + totalsamps = len(trace.data) starttime = trace.stats.starttime if self.interval == 'second': @@ -221,10 +220,12 @@ class EdgeFactory(TimeseriesFactory): endtime = starttime + (nsamp - 1) * timeoffset trace_send = trace.slice(starttime, endtime) self._convert_trace_to_int(trace_send) + print 'send' self.ric.send(seedname, nsamp, trace_send.data, starttime, samplerate, 0, 0, 0, 0) starttime += nsamp * timeoffset self.ric.forceout(seedname) + self.ric.close() def _convert_trace_to_decimal(self, stream): """convert geomag edge traces stored as ints, to decimal by dividing