#!/usr/bin/env python3 ''' common functions and stuff ''' import logging import os import sys from datetime import datetime QUEUE = bool(os.environ.get('el_QUEUE', False)) name = os.path.splitext(os.path.split(sys.argv[0])[-1])[0] log = logging.getLogger(__name__) log.setLevel(logging.INFO) logging.basicConfig(format="%(name)s: %(levelname)s %(message)s") # Use queue or postgres if QUEUE is True: log.debug('Importing dbi from queue') from .queue import dbi else: log.debug('Importing dbi from postgres') from .postgres import dbi # Insert state def statein(sensor, value, device_class, unit, **kwargs): ''' Insert new state in db ''' verbose = bool(kwargs['verbose']) if 'verbose' in kwargs else False sql = """INSERT INTO states (sensor_id, value, device_class, unit, time) SELECT sensors.id, %s, %s, %s, %s FROM sensors WHERE sensors.name = %s;""" values = (value, device_class, unit, datetime.utcnow(), sensor) log.debug('dbi(' + sql + ',' + str(values) + ')') dbi(sql, values, verbose=verbose)