コード例 #1
0
def get_kwh(meters, start, end):
    search_params = {}

    if meters:
        search_params.update({'name': {'$in': meters}})
    if start:
        start = isodate(start)
        search_params.update({'datetime': {'$gt': start}})
    if end:
        end = isodate(end)
        if 'datetime' in search_params:
            search_params['datetime'].update({'$lt': end})
        else:
            search_params.update({'datetime': {'$lt': end}})

    measures = [x for x in collection.find(
        search_params,
        {'datetime':1, 'ae':1},
        sort=[('datetime', pymongo.ASCENDING)])]

    return [(
        measure['datetime'].replace(tzinfo=from_zone).astimezone(to_zone),
        measure['ae'])
        for measure in measures]
コード例 #2
0
 def update_kwh(self, cursor, uid, pid, start, end, context=None):
     production = self.pool.get('generationkwh.production.aggregator')
     return production.update_kwh(cursor, uid, pid,
             isodate(start), isodate(end), context)