Pushover to support numerical priority values (#597)

This commit is contained in:
Chris Caron 2022-06-02 19:31:38 -04:00 committed by GitHub
parent 8ed4b7b72a
commit 463eb54897
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 7 deletions

View File

@ -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'])

View File

@ -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,