Send a unvailable message

This commit is contained in:
Dryusdan 2020-12-11 14:37:31 +01:00
parent 20b42fee2c
commit 5999727a0d
4 changed files with 36 additions and 12 deletions

View File

@ -10,3 +10,15 @@
1801sk21: KS-10 1801sk21: KS-10
1801sk22: KS-11 1801sk22: KS-11
1801sk23: KS-12 1801sk23: KS-12
1801sys45: SYS-E3-SAT-1-16
1801sys47: SYS-E3-SSD-1-32
1801sys48: SYS-E3-SAT-1-32
1801sys49: SYS-E3-SSD-2-32
1801sys50: SYS-E3-SAT-2-32
1801sys53: SYS-E5-SAT-1-64
1801sys54: SYS-E5-SSD-1-64
1801sys55: SYS-E5-SSD-2-64
1801sys56: SYS-E5-SAT-2-64
1807sys62: SYS-XEON-SAT-1-32
2001sys24: SYS-XEON-SATA-2-64
2004sys23: SYS-XEON-NVME-2-64

View File

@ -66,11 +66,12 @@ class OVHTracker:
) )
) )
if self.db.isNotified( if self.db.isNotified(
wantedServer, wantedDatacenter wantedServer, wantedDatacenter, 1
): ):
self.logger.info("Already notified") self.logger.info("Already notified")
else: else:
self.notify(wantedServer, wantedDatacenter) refOfServer = Settings().get("config/refToName.yml")
self.notify("Le serveur {} disponible au datacenter de {}".format(refOfServer[server], datacenter)),
self.db.updateNotified( self.db.updateNotified(
wantedServer, wantedDatacenter, 1 wantedServer, wantedDatacenter, 1
) )
@ -78,12 +79,23 @@ class OVHTracker:
if self.db.isServerExist( if self.db.isServerExist(
wantedServer, wantedDatacenter wantedServer, wantedDatacenter
): ):
self.db.updateAvailable( if self.db.isNotified(
wantedServer, wantedDatacenter, 0 wantedServer, wantedDatacenter, 0
) ):
self.db.updateNotified( self.logger.info("Already notified")
wantedServer, wantedDatacenter, 0 else:
) self.db.updateNotified(
wantedServer, wantedDatacenter, 0
)
self.db.updateAvailable(
wantedServer, wantedDatacenter, 0
)
refOfServer = Settings().get("config/refToName.yml")
self.notify("Le serveur {} est de nouveau indisponible au datacenter de {}".format(refOfServer[server], datacenter),
self.db.updateAvailable(
wantedServer, wantedDatacenter, 1
)
def notify(self, server, datacenter): def notify(self, server, datacenter):
Notifications(self.settings).run(server, datacenter) Notifications(self.settings).run(server, datacenter)

View File

@ -71,11 +71,11 @@ class DB:
else: else:
return True return True
def isNotified(self, server, datacenter): def isNotified(self, server, datacenter, available):
data = (server, datacenter) data = (server, datacenter, available)
cursor = self.connection.cursor() cursor = self.connection.cursor()
cursor.execute( cursor.execute(
"SELECT name FROM server WHERE name = ? AND datacenter = ? AND notified = 1", "SELECT name FROM server WHERE name = ? AND datacenter = ? AND available = ? AND notified = 1",
data, data,
) )
if len(cursor.fetchall()) == 0: if len(cursor.fetchall()) == 0:

View File

@ -32,11 +32,11 @@ class Notifications:
self._notifyChannel[key]() self._notifyChannel[key]()
return True return True
def run(self, server, datacenter): def run(self, message):
refOfServer = Settings().get("config/refToName.yml") refOfServer = Settings().get("config/refToName.yml")
self.apprise.notify( self.apprise.notify(
body="", body="",
title="Le serveur {} disponible au datacenter de {}".format(refOfServer[server], datacenter), title="{}".format(message),
notify_type=apprise.NotifyType.INFO, notify_type=apprise.NotifyType.INFO,
) )