Пример #1
0
        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,
Пример #2
0
    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")
Пример #3
0
 def __init__(self):
     self.name = 'Mushtent'
     self.db = Ponicwatch_Db("sqlite3",
                             {'database': 'local_ponicwatch.db'})
     self.log = Ponicwatch_Log(controller=self, debug=3)
Пример #4
0
            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")
Пример #5
0
        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