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]
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)