2019-12-04 19:28:06 +00:00
|
|
|
import logging
|
|
|
|
|
2019-12-04 18:36:14 +00:00
|
|
|
from restic_compose_backup.alerts.smtp import SMTPAlert
|
|
|
|
from restic_compose_backup.alerts.discord import DiscordWebhookAlert
|
|
|
|
from restic_compose_backup.config import Config
|
|
|
|
|
2019-12-04 19:28:06 +00:00
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
2019-12-04 02:58:27 +00:00
|
|
|
ALERT_INFO = 'INFO',
|
|
|
|
ALERT_ERROR = 'ERROR'
|
|
|
|
ALERT_TYPES = [ALERT_INFO, ALERT_ERROR]
|
2019-12-04 18:36:14 +00:00
|
|
|
BACKENDS = [SMTPAlert, DiscordWebhookAlert]
|
2019-12-04 02:58:27 +00:00
|
|
|
|
|
|
|
|
2019-12-04 18:36:14 +00:00
|
|
|
def configured_alert_classes():
|
|
|
|
"""Returns a list of configured alert class instances"""
|
2019-12-04 19:28:06 +00:00
|
|
|
logger.debug('Getting alert backends')
|
2019-12-04 18:36:14 +00:00
|
|
|
entires = []
|
|
|
|
|
|
|
|
for cls in BACKENDS:
|
|
|
|
instance = cls.create_from_env()
|
2019-12-04 19:28:06 +00:00
|
|
|
logger.debug("Alert backend '%s' configured: %s", cls.name, instance != None)
|
2019-12-04 18:36:14 +00:00
|
|
|
if instance:
|
|
|
|
entires.append(instance)
|
|
|
|
|
|
|
|
return entires
|