Browse Source

Pushover to support numerical priority values (#597)

pull/598/head
Chris Caron 3 years ago committed by GitHub
parent
commit
463eb54897
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 20
      apprise/plugins/NotifyPushover.py
  2. 4
      test/test_plugin_pushover.py

20
apprise/plugins/NotifyPushover.py

@ -564,19 +564,25 @@ class NotifyPushover(NotifyBase):
# Set our priority
if 'priority' in results['qsd'] and len(results['qsd']['priority']):
_map = {
# Keep for backwards compatibility
'l': PushoverPriority.LOW,
'm': PushoverPriority.MODERATE,
'n': PushoverPriority.NORMAL,
'h': PushoverPriority.HIGH,
'e': PushoverPriority.EMERGENCY,
}
try:
results['priority'] = \
_map[results['qsd']['priority'][0].lower()]
except KeyError:
# No priority was set
pass
# Entries to additionally support (so more like PushOver's API
'-2': PushoverPriority.LOW,
'-1': PushoverPriority.MODERATE,
'0': PushoverPriority.NORMAL,
'1': PushoverPriority.HIGH,
'2': PushoverPriority.EMERGENCY,
}
priority = results['qsd']['priority'][0].lower()
results['priority'] = \
next((
v for k, v in _map.items() if priority.startswith(k)),
NotifyPushover.template_args['priority']['default'])
# Retrieve all of our targets
results['targets'] = NotifyPushover.split_path(results['fullpath'])

4
test/test_plugin_pushover.py

@ -115,6 +115,10 @@ apprise_url_tests = (
('pover://%s@%s?priority=emergency' % ('u' * 30, 'a' * 30), {
'instance': plugins.NotifyPushover,
}),
# API Key + emergency(2) priority setting (via numeric value
('pover://%s@%s?priority=2' % ('u' * 30, 'a' * 30), {
'instance': plugins.NotifyPushover,
}),
# API Key + emergency priority setting with retry and expire
('pover://%s@%s?priority=emergency&%s&%s' % ('u' * 30,
'a' * 30,

Loading…
Cancel
Save