def setupDatabase(self):
        try:
            config = configparser.ConfigParser()
            config.readfp(open('connectionmanager.ini'))
            host = config.get('database', 'host')
            database = config.get('database', 'database')
            user = config.get('database', 'user')
            password = config.get('database', 'password')
            self.databasePrefix = config.get('database', 'database_prefix')
        except Exception as e:
            self.logger.error("Could not fetch connectionmanager.ini: %s", e)
            return False

        self.conDatabase = mysql.Database(host, database, user, password, self.logger)
        
        if self.conDatabase.connect():
            try:
                self.conDatabase.createTable(self.databasePrefix+"connections", ['start VARCHAR(100)', 'end VARCHAR(100)', 'starttime TIMESTAMP', 'endtime TIMESTAMP', 'next_scrape TIMESTAMP', 'active INT'])
                self.conDatabase.createTable(self.databasePrefix+"stations", ['name VARCHAR(100)', 'stationid VARCHAR(30)'])
                self.conDatabase.close()
            except Exception as e:
                self.logger.error("Could not create Tables: %s", e)
                return False
            self.logger.debug("Succesfuly connected to database.")
            return True
        else:
            self.logger.error("Could not connec to to Database.")
            return False
Example #2
0
    def __init__(self, dbHost, dbDatabase, dbDatabasePrefix, dbUser,
                 dbPassword, mqttIp, mqttPort, mqttUser, mqttPassword):
        print('1')
        self.dbHost = dbHost
        self.dbDatabasePrefix = dbDatabasePrefix
        self.dbUser = dbUser
        self.dbPassword = dbPassword
        self.mqttIp = mqttIp
        self.mqttPort = mqttPort
        self.mqttUser = mqttUser
        self.mqttPassword = mqttPassword
        self.mqttClient = mqtt.Client()

        # create logger
        self.logger = logging.getLogger('MQTTSQLMIRROR')
        self.logger.setLevel(logging.DEBUG)
        self.ch = logging.StreamHandler()
        self.ch.setLevel(logging.DEBUG)
        self.log = logging.FileHandler('mqttsqlmirror.log')
        self.log.setLevel(logging.INFO)
        formatter = logging.Formatter(
            '%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        self.ch.setFormatter(formatter)
        self.log.setFormatter(formatter)
        self.logger.addHandler(self.ch)
        self.logger.addHandler(self.log)

        # Establish mysql connection
        self.mysqlCon = mysql.Database(dbHost, dbDatabase, dbUser, dbPassword,
                                       self.logger)
Example #3
0
    def __init__(self, delete_before, table, host, database, user, password):
        # create logger
        self.logger = logging.getLogger('DATABASECLEARER')
        self.logger.setLevel(logging.DEBUG)
        self.ch = logging.StreamHandler()
        self.ch.setLevel(logging.DEBUG)
        self.log = logging.FileHandler('databaseclearer.log')
        self.log.setLevel(logging.INFO)
        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        self.ch.setFormatter(formatter)
        self.log.setFormatter(formatter)
        self.logger.addHandler(self.ch)
        self.logger.addHandler(self.log) 

        self.con = mysql.Database(host, database, user, password, self.logger)
        curs = self.con.connect()

        if self.con != False and curs != False:
            self.con.delete(table, "DATEDIFF(NOW(), insertdatetime) > "+str(delete_before))
            self.logger.info("Successfuly deleted.")

        self.con.close()