def check_sensors(self): """ Sprawdza czy zarejestrowane sensory są nadal aktywne. """ db = None try: db = mysql.connector.Connect(**Config.dbinfo()) cursor = db.cursor() cursor.execute("SELECT sensorID, address, port FROM Sensors") rows = cursor.fetchall() except Exception, e: print e
def m_register(self, address, port, uuid): """ Dodaje informacje o nowym monitorze do katalogu.\n """ db = None try: db = mysql.connector.Connect(**Config.dbinfo()) cursor = db.cursor() # cursor.execute("INSERT INTO Monitors(address, port, uuid) VALUES(SUBSTRING_INDEX((SELECT host FROM information_schema.processlist WHERE ID=CONNECTION_ID()), ':', 1), %s, %s)", (self.port, MonitorHTTP.monitor.get_id())) cursor.execute("INSERT INTO Monitors(address, port, uuid) VALUES(%s, %s, %s)", (address, port, uuid)) db.commit() except Exception, e: print "Database Error: %s"%e
def del_sensor(self, sid): """ Usuwa sensor z bazy danych.\n sid - numer ID sensora.\n """ db = None try: db = mysql.connector.Connect(**Config.dbinfo()) cursor = db.cursor() cursor.execute("DELETE FROM Sensors WHERE sensorID = %s", (sid,)) db.commit() except Exception, e: print e
def del_sensor(self, host, port, uuid): """ Usuwa sensor z bazy danych.\n sid - numer ID sensora.\n """ db = None try: db = mysql.connector.Connect(**Config.dbinfo()) cursor = db.cursor() cursor.execute("DELETE FROM Sensors WHERE address = %s AND port = %s AND monitorUUID = %s", (host, port, uuid)) db.commit() except Exception, e: print e
def del_monitor(self, mid, uuid): """ Usuwa monitor z bazy danych.\n mid - numer ID monitora.\n uuid - UUID monitora.\n """ db = None try: db = mysql.connector.Connect(**Config.dbinfo()) cursor = db.cursor() cursor.execute("DELETE FROM Sensors WHERE monitorUUID = %s", (uuid,)) cursor.execute("DELETE FROM Monitors WHERE monitorID = %s", (mid,)) db.commit() except Exception, e: print e
def get_monitors(self): """ Zwraca pełną informację o wszystkich monitorach znajdujących się w bazie danych.\n """ db = None monitors = [] try: db = mysql.connector.Connect(**Config.dbinfo()) cursor = db.cursor() cursor.execute("SELECT * FROM Monitors") for row in cursor.fetchall(): monitor = {"monitorID" : str(row[0]), "address" : str(row[1]), "port" : str(row[2])} monitors.append(monitor) except Exception, e: print e
def m_register(self, address, port, uuid): """ Dodaje informacje o nowym monitorze do katalogu.\n """ db = None try: db = mysql.connector.Connect(**Config.dbinfo()) cursor = db.cursor() #Usuniecie ewentualnych duplikatow cursor.execute("SELECT monitorID, uuid FROM Monitors WHERE address = %s AND port = %s", (address, port)) for row in cursor.fetchall(): cursor.execute("DELETE FROM Monitors WHERE monitorID = %s", (row[0],)) cursor.execute("DELETE FROM Sensors WHERE monitorUUID = %s", (row[1],)) # cursor.execute("INSERT INTO Monitors(address, port, uuid) VALUES(SUBSTRING_INDEX((SELECT host FROM information_schema.processlist WHERE ID=CONNECTION_ID()), ':', 1), %s, %s)", (self.port, MonitorHTTP.monitor.get_id())) cursor.execute("INSERT INTO Monitors(address, port, uuid) VALUES(%s, %s, %s)", (address, port, uuid)) db.commit() except Exception, e: print "Database Error: %s"%e
def s_register(self, uuid, host, port, hostname, cpu = True, ram = True, hdd = True): """ Rejestruje nowy sensor.\n uuid - UUID monitora\n host - adres sensora\n port - port sensora\n hostname - nazwa sensora\n cpu - informuje czy sensor monitoruje obciażenie cpu\n ram - informuje czy sensor monitoruje zużycie ramu\n hdd - informuje czy sensor monitoruje dane o dyskach\n """ db = None try: db = mysql.connector.Connect(**Config.dbinfo()) cursor = db.cursor() cursor.execute("INSERT INTO Sensors(monitorUUID, name, address, port, cpu, ram, hdd) VALUES(%s, %s, %s, %s, %s, %s, %s)", (uuid, hostname, host, port, cpu, ram, hdd)) db.commit() except Exception, e: print e
def get_sensors(self, mid = None): """ Zwraca pełną informację o wszystkich sensorach znajdujących się w bazie danych.\n """ db = None sensors = [] try: db = mysql.connector.Connect(**Config.dbinfo()) cursor = db.cursor() if mid: cursor.execute("SELECT * FROM Sensors WHERE monitorUUID = (SELECT uuid FROM Monitors WHERE monitorID = %s)", (mid,)) else: cursor.execute("SELECT * FROM Sensors") for row in cursor.fetchall(): sensor = {"sensorID" : str(row[0]), "name" : str(row[2]), "address" : str(row[3]), "port" : str(row[4]), "cpu" : str(row[5]), "ram" : str(row[6]), "hdd" : str(row[7])} sensors.append(sensor) except Exception, e: print e