keep_from = datetime.now() - timedelta(days=keep_days) nb_rows = self.execute_sql("delete from tb_log where created_on < ?", ("{:%Y-%m-%d}".format(keep_from), )) self.execute_sql("vacuum") return nb_rows def __str__(self): return "[{}] {}".format(self.controller_name, self["text_value"]) if __name__ == "__main__": # generates LOG entries to help testing the application import sys from random import randint from model.pw_db import Ponicwatch_Db db = Ponicwatch_Db("sqlite3", {'database': sys.argv[1]}) db.allow_close = False class simulation(object): def __init__(self, db): self.db = db self.name = "Controller SIMULATION" simu = simulation(db) logger = Ponicwatch_Log(simu) # add an entry for the last 24h, every 10 minutes created_on, end_time = datetime.now( timezone.utc) - timedelta(1), datetime.now(timezone.utc) delta = timedelta(minutes=10) while created_on <= end_time: logger.insert(controller_name=simu.name,
parser.add_argument("-n", "--notification", dest="notification", help="Sends notification email", action='store_true', default=False) parser.add_argument('-v', '--version', action='version', version=__version__) # parser.add_argument('config_file', nargs='?', default='') args, unk = parser.parse_known_args() if isinstance(args.debug, int): DEBUG = args.debug if args.dbfilename: db = Ponicwatch_Db("sqlite3", {'database': args.dbfilename}, args.cleandb) ctrl = Controller(db, bottle_ip=args.bottle_ip, pigpio_host=args.pigpio) http_view.controller = ctrl if args.print_list: ctrl.print_list() elif args.notification: ctrl.ponicwatch_notification() else: ctrl.run() else: print("currently: -s dbfilename is mandatory")
def __init__(self): self.name = 'Mushtent' self.db = Ponicwatch_Db("sqlite3", {'database': 'local_ponicwatch.db'}) self.log = Ponicwatch_Log(controller=self, debug=3)
self.db.curs.execute( "SELECT user_id from tb_user where login=? and password=?", (login, password)) user_row = self.db.curs.fetchall() finally: self.db.close() if len(user_row) == 1: self.get_record(id=user_row[0][0]) else: self["id"] = None if __name__ == "__main__": from model.pw_db import Ponicwatch_Db # test for the database on Sqlite3 pw_db = Ponicwatch_Db("sqlite3", {"database": "local_ponicwatch.db"}) user = User(db=pw_db, id=1) #user.get_user(id=1) print("1) Name: {} user {}: {} {}".format(user, user["id"], user["login"], user["password"])) new_user = User(db=pw_db, id=user["id"]) print("2) Name: {} user_id: {}".format(new_user, new_user["id"])) new_user = User(db=pw_db) new_user.insert(login="******", email="new@new", authorization=0, password="******", name="New User")
else: data[timestamp] = [ (pwo_name, row[0]) ] if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("-s", "--sqlite", dest="dbfilename", help="Path of a Sqlite3 database.") # type=exist_file, # required=False, parser.add_argument("-a", "--SENSORS", dest="sensors", help="List of sensors", required=False, default="") parser.add_argument("-b", "--SWITCHES", dest="switches", help="List of switches", required=False, default="") parser.add_argument("-f", "--from", dest="from", help="From time stamp", required=False, default=None) parser.add_argument("-t", "--to", dest="to", help="To time stamp", required=False, default=None) parser.add_argument('-v', '--version', action='version', version=__version__) args, unk = parser.parse_known_args() log_table = Ponicwatch_Log(controller=ctrl(), db=Ponicwatch_Db("sqlite3", {'database': args.dbfilename}), debug=3) data = {} # dictionary key = timestamp, value = [ (pwo1, value1), (pwo2, value2), ... ] pwo_list = {} for pwo in args.sensors.split(","): load_data("SENSOR", pwo) with open("../Private/extraction.data", "wt") as fout: print("""# Site = RASPI # Contact = # Longitude = 103.8 # Latitude = 1.367 # # UTC_Offset = +08:00 # TimeZone = SGT