import requests from media_manager.config import AllEncompassingConfig from media_manager.notification.schemas import MessageNotification from media_manager.notification.service_providers.abstractNotificationServiceProvider import ( AbstractNotificationServiceProvider, ) class PushoverNotificationServiceProvider(AbstractNotificationServiceProvider): def __init__(self): self.config = AllEncompassingConfig().notifications.pushover def send_notification(self, message: MessageNotification) -> bool: response = requests.post( url="https://api.pushover.net/1/messages.json", params={ "token": self.config.api_key, "user": self.config.user, "message": message.message, "title": "MediaManager - " + message.title, }, ) if response.status_code not in range(200, 300): return False return True