mirror of
https://github.com/evilhero/mylar
synced 2025-02-01 12:07:50 +00:00
FIX: remove NMA (service no longer exists)
This commit is contained in:
parent
0a501022de
commit
e9d5b8237b
1 changed files with 0 additions and 121 deletions
|
@ -83,127 +83,6 @@ class PROWL:
|
|||
def test_notify(self):
|
||||
self.notify('ZOMG Lazors Pewpewpew!', 'Test Message')
|
||||
|
||||
class NMA:
|
||||
|
||||
def __init__(self, test_apikey=None):
|
||||
|
||||
self.NMA_URL = "https://www.notifymyandroid.com/publicapi/notify"
|
||||
self.TEST_NMA_URL = "https://www.notifymyandroid.com/publicapi/verify"
|
||||
if test_apikey is None:
|
||||
self.apikey = mylar.CONFIG.NMA_APIKEY
|
||||
self.test = False
|
||||
else:
|
||||
self.apikey = test_apikey
|
||||
self.test = True
|
||||
self.priority = mylar.CONFIG.NMA_PRIORITY
|
||||
|
||||
self._session = requests.Session()
|
||||
|
||||
def _send(self, data, module):
|
||||
try:
|
||||
r = self._session.post(self.NMA_URL, data=data, verify=True)
|
||||
except requests.exceptions.RequestException as e:
|
||||
logger.error(module + '[' + str(e) + '] Unable to send via NMA. Aborting notification for this item.')
|
||||
return {'status': False,
|
||||
'message': str(e)}
|
||||
|
||||
logger.fdebug('[NMA] Status code returned: ' + str(r.status_code))
|
||||
if r.status_code == 200:
|
||||
from xml.dom.minidom import parseString
|
||||
dom = parseString(r.content)
|
||||
try:
|
||||
success_info = dom.getElementsByTagName('success')
|
||||
success_code = success_info[0].getAttribute('code')
|
||||
except:
|
||||
error_info = dom.getElementsByTagName('error')
|
||||
error_code = error_info[0].getAttribute('code')
|
||||
error_message = error_info[0].childNodes[0].nodeValue
|
||||
logger.info(module + '[' + str(error_code) + '] ' + error_message)
|
||||
return {'status': False,
|
||||
'message': '[' + str(error_code) + '] ' + error_message}
|
||||
|
||||
else:
|
||||
if self.test is True:
|
||||
logger.info(module + '[' + str(success_code) + '] NotifyMyAndroid apikey valid. Test notification sent successfully.')
|
||||
else:
|
||||
logger.info(module + '[' + str(success_code) + '] NotifyMyAndroid notification sent successfully.')
|
||||
return {'status': True,
|
||||
'message': 'APIKEY verified OK / notification sent'}
|
||||
elif r.status_code >= 400 and r.status_code < 500:
|
||||
logger.error(module + ' NotifyMyAndroid request failed: %s' % r.content)
|
||||
return {'status': False,
|
||||
'message': 'APIKEY verified OK / failure to send notification'}
|
||||
else:
|
||||
logger.error(module + ' NotifyMyAndroid notification failed serverside.')
|
||||
return {'status': False,
|
||||
'message': 'APIKEY verified OK / failure to send notification'}
|
||||
|
||||
def notify(self, snline=None, prline=None, prline2=None, snatched_nzb=None, sent_to=None, prov=None, module=None):
|
||||
|
||||
if module is None:
|
||||
module = ''
|
||||
module += '[NOTIFIER]'
|
||||
|
||||
apikey = self.apikey
|
||||
priority = self.priority
|
||||
|
||||
if snatched_nzb:
|
||||
if snatched_nzb[-1] == '\.': snatched_nzb = snatched_nzb[:-1]
|
||||
event = snline
|
||||
description = "Mylar has snatched: " + snatched_nzb + " from " + prov + " and " + sent_to
|
||||
else:
|
||||
event = prline
|
||||
description = prline2
|
||||
|
||||
data = {'apikey': apikey, 'application': 'Mylar', 'event': event.encode('utf-8'), 'description': description.encode('utf-8'), 'priority': priority}
|
||||
|
||||
logger.info(module + ' Sending notification request to NotifyMyAndroid')
|
||||
request = self._send(data, module)
|
||||
|
||||
if not request:
|
||||
logger.warn(module + ' Error sending notification request to NotifyMyAndroid')
|
||||
|
||||
def test_notify(self):
|
||||
module = '[TEST-NOTIFIER]'
|
||||
try:
|
||||
r = self._session.get(self.TEST_NMA_URL, params={'apikey': self.apikey}, verify=True)
|
||||
except requests.exceptions.RequestException as e:
|
||||
logger.error(module + '[' + str(e) + '] Unable to send via NMA. Aborting test notification - something is probably wrong...')
|
||||
return {'status': False,
|
||||
'message': str(e)}
|
||||
|
||||
logger.fdebug('[NMA] Status code returned: ' + str(r.status_code))
|
||||
if r.status_code == 200:
|
||||
from xml.dom.minidom import parseString
|
||||
dom = parseString(r.content)
|
||||
try:
|
||||
success_info = dom.getElementsByTagName('success')
|
||||
success_code = success_info[0].getAttribute('code')
|
||||
except:
|
||||
error_info = dom.getElementsByTagName('error')
|
||||
error_code = error_info[0].getAttribute('code')
|
||||
error_message = error_info[0].childNodes[0].nodeValue
|
||||
logger.info(module + '[' + str(error_code) + '] ' + error_message)
|
||||
return {'status': False,
|
||||
'message': '[' + str(error_code) + '] ' + error_message}
|
||||
|
||||
else:
|
||||
logger.info(module + '[' + str(success_code) + '] NotifyMyAndroid apikey valid. Testing notification service with it.')
|
||||
elif r.status_code >= 400 and r.status_code < 500:
|
||||
logger.error(module + ' NotifyMyAndroid request failed: %s' % r.content)
|
||||
return {'status': False,
|
||||
'message': 'Unable to send request to NMA - check your connection.'}
|
||||
else:
|
||||
logger.error(module + ' NotifyMyAndroid notification failed serverside.')
|
||||
return {'status': False,
|
||||
'message': 'Internal Server Error. Try again later.'}
|
||||
|
||||
event = 'Test Message'
|
||||
description = 'ZOMG Lazors PewPewPew!'
|
||||
data = {'apikey': self.apikey, 'application': 'Mylar', 'event': event.encode('utf-8'), 'description': description.encode('utf-8'), 'priority': 2}
|
||||
|
||||
return self._send(data,'[NOTIFIER]')
|
||||
|
||||
# 2013-04-01 Added Pushover.net notifications, based on copy of Prowl class above.
|
||||
# No extra care has been put into API friendliness at the moment (read: https://pushover.net/api#friendly)
|
||||
class PUSHOVER:
|
||||
|
|
Loading…
Reference in a new issue