Пример #1
0
def write_to_pi_file(*args, **kwargs):
    """Write the given timeseries in PI XML format.

    Parameters:
      *kwargs['filename']*
        name of PI XML file to create and write to
      *kwargs['timeseries']*
        single time series, or a dict of time series, where each time series
        has with a method 'events' to generate all date, value pairs

    """
    multiple_series_stub = kwargs['timeseries']
    if isinstance(multiple_series_stub, dict):
        multiple_series = []
        for parameter_id, series_stub in multiple_series_stub.iteritems():
            my_kwargs = deepcopy(kwargs)
            my_kwargs["parameter_id"] = parameter_id
            series = TimeSeries(*args, **my_kwargs)
            series.sorted_event_items = lambda s=series_stub: list(s.events())
            multiple_series.append(series)
        multiple_series.sort(key=lambda series: series.parameter_id)
    else:
        series = TimeSeries(*args, **kwargs)
        series.sorted_event_items = lambda: list(multiple_series_stub.events())
        multiple_series = [series]

    TimeSeries.write_to_pi_file(kwargs['filename'], multiple_series)
Пример #2
0
def write_to_pi_file(*args, **kwargs):
    """Write the given timeseries in PI XML format.

    Parameters:
      *kwargs['filename']*
        name of PI XML file to create and write to
      *kwargs['timeseries']*
        single time series, or a dict of time series, where each time series
        has with a method 'events' to generate all date, value pairs

    """
    multiple_series_stub = kwargs['timeseries']
    if isinstance(multiple_series_stub, dict):
        multiple_series = []
        for parameter_id, series_stub in multiple_series_stub.iteritems():
            my_kwargs = deepcopy(kwargs)
            my_kwargs["parameter_id"] = parameter_id
            series = TimeSeries(*args, **my_kwargs)
            series.sorted_event_items = lambda s=series_stub: list(s.events())
            multiple_series.append(series)
        multiple_series.sort(key=lambda series: series.parameter_id)
    else:
        series = TimeSeries(*args, **kwargs)
        series.sorted_event_items = lambda: list(multiple_series_stub.events())
        multiple_series = [series]

    TimeSeries.write_to_pi_file(kwargs['filename'], multiple_series)
Пример #3
0
 def test024(self):
     'TimeSeries.write_to_pi_file writes dict to stream with 12 offset'
     stream = mock.Stream()
     obj = TimeSeries.as_dict(self.testdata + "read.PI.timezone.2.xml")
     TimeSeries.write_to_pi_file(stream, obj, offset=12)
     target = file(self.testdata + "targetOutput12.xml").read()
     current = ''.join(stream.content)
     self.assertEquals(target.strip(), current.strip())
Пример #4
0
 def test024(self):
     'TimeSeries.write_to_pi_file writes dict to stream with 12 offset'
     stream = mock.Stream()
     obj = TimeSeries.as_dict(self.testdata + "read.PI.timezone.2.xml")
     TimeSeries.write_to_pi_file(stream, obj, offset=12)
     target = file(self.testdata + "targetOutput12.xml").read()
     current = ''.join(stream.content)
     self.assertEquals(target.strip(), current.strip())
Пример #5
0
 def test000(self):
     'TimeSeries.write_to_pi_file writes list to new file'
     obj = TimeSeries.as_list(self.testdata + "read.PI.timezone.2.xml")
     TimeSeries.write_to_pi_file(self.testdata + "current.xml",
                                 obj,
                                 offset=2)
     target = file(self.testdata + "targetOutput.xml").read()
     current = file(self.testdata + "current.xml").read()
     self.assertEquals(target.strip(), current.strip())
Пример #6
0
 def test030(self):
     'TimeSeries.write_to_pi_file appends children to stream'
     stream = mock.Stream()
     obj = TimeSeries.as_dict(self.testdata + "read.PI.timezone.2.xml")
     TimeSeries.write_to_pi_file(stream, obj, offset=0, append=True)
     target_lines = file(self.testdata + "targetOutput00.xml").readlines()[3:-1]
     target = ''.join(i.strip() for i in target_lines)
     current = ''.join(i.strip() for i in ''.join(stream.content).split('\n'))
     self.assertEquals(target, current)
Пример #7
0
 def test000(self):
     'TimeSeries.write_to_pi_file writes list to new file'
     obj = TimeSeries.as_list(self.testdata + "read.PI.timezone.2.xml")
     TimeSeries.write_to_pi_file(self.testdata + "current.xml",
                                 obj,
                                 offset=2)
     target = file(self.testdata + "targetOutput.xml").read()
     current = file(self.testdata + "current.xml").read()
     self.assertEquals(target.strip(), current.strip())
Пример #8
0
 def test030(self):
     'TimeSeries.write_to_pi_file appends children to stream'
     stream = mock.Stream()
     obj = TimeSeries.as_dict(self.testdata + "read.PI.timezone.2.xml")
     TimeSeries.write_to_pi_file(stream, obj, offset=0, append=True)
     target_lines = file(self.testdata +
                         "targetOutput00.xml").readlines()[3:-1]
     target = ''.join(i.strip() for i in target_lines)
     current = ''.join(i.strip()
                       for i in ''.join(stream.content).split('\n'))
     self.assertEquals(target, current)