def _get_value_count(self, value_count, board_ids=None, sensor_type=None, start_offset=None, end_offset=None): db_params = { 'db': self.db, 'board_ids': board_ids, 'sensor_type': sensor_type, 'start': utils.time_offset(start_offset), 'end': utils.time_offset(end_offset) } if value_count['type'] == 'Metric': db_params['last_available'] = value_count['count'] metrics = database.get_metric(**db_params) elif value_count['type'] == 'LastMetric': metrics = database.get_last_metric(**db_params) else: metrics = [] return metrics
def _check_feed_interval(self, feed_name, result, interval): try: last_feeds = database.get_feed(self.db, feed_name=feed_name, result=result, last_available=1) except OperationalError as e: last_feeds = None LOG.error("Fail to get feeds '%s'", e) if not last_feeds: last_feed = 0 else: last_feed = last_feeds[0].last_update return utils.time_offset(-last_feed) > interval
def _check_action_interval(self, sensor_data, sensor_action_id, action_interval): try: last_actions = database.get_action(self.db, board_ids=sensor_data['board_id'], sensor_type=sensor_data['sensor_type'], sensor_action_id=sensor_action_id, last_available=1) except OperationalError as e: last_actions = None LOG.error("Fail to get action '%s'", e) if not last_actions: last_action = 0 else: last_action = last_actions[0].last_update return utils.time_offset(-last_action) > action_interval