Пример #1
0
    def store_raw(self, datasource, gp, timestamp, trend_names, raw_data_rows):
        if len(raw_data_rows) > 0:
            granularity = ensure_granularity(gp)
            raw_datapackage = RawDataPackage(granularity, timestamp, trend_names, raw_data_rows)
            transaction = store_raw(datasource, raw_datapackage)

            transaction.run(self.conn)
Пример #2
0
def refine_datapackage(cursor, raw_datapackage):
    dns, value_rows = zip(*raw_datapackage.rows)

    entity_ids = dns_to_entity_ids(cursor, list(dns))

    refined_value_rows = map(refine_values, value_rows)

    refined_rows = zip(entity_ids, refined_value_rows)

    timestamp = pytz.UTC.localize(datetime.strptime(raw_datapackage.timestamp,
            "%Y-%m-%dT%H:%M:%S"))

    granularity = ensure_granularity(raw_datapackage.granularity)

    return DataPackage(granularity, timestamp, raw_datapackage.trend_names,
            refined_rows)
Пример #3
0
    def store(self, datasource, entitytype, gp, ts, trend_names, data_rows,
        sub_query=None):

        if len(data_rows) == 0:
            return

        granularity = ensure_granularity(gp)

        with closing(self.conn.cursor()) as cursor:
            trendstore = get_or_create_trendstore(cursor, datasource, entitytype,
                    granularity)

        self.conn.commit()

        datapackage = DataPackage(granularity, ts, trend_names, data_rows)

        transaction = trendstore.store(datapackage)
        transaction.run(self.conn)