Esempio n. 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)
Esempio n. 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)