pull/1357/merge
Chris Caron 2025-07-08 10:34:07 +02:00 committed by GitHub
commit 8fb7becad3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 37 additions and 12 deletions

View File

@ -41,7 +41,7 @@ from datetime import timezone
from ..base import NotifyBase
from ...url import PrivacyMode
from ...common import NotifyFormat, NotifyType
from ...common import NotifyFormat, NotifyType, PersistentStoreMode
from ...conversion import convert_between
from ...utils import pgp as _pgp
from ...utils.parse import (
@ -75,6 +75,10 @@ class NotifyEmail(NotifyBase):
# Support attachments
attachment_support = True
# Our default is to no not use persistent storage beyond in-memory
# reference; this allows us to auto-generate our config if needed
storage_mode = PersistentStoreMode.AUTO
# Default Notify Format
notify_format = NotifyFormat.HTML

View File

@ -313,8 +313,8 @@ class NotifySlack(NotifyBase):
r'|(?:>|\>)))', re.IGNORECASE)
def __init__(self, access_token=None, token_a=None, token_b=None,
token_c=None, targets=None, include_image=True,
include_footer=True, use_blocks=None, **kwargs):
token_c=None, targets=None, include_image=None,
include_footer=None, use_blocks=None, **kwargs):
"""
Initialize Slack Object
"""
@ -386,10 +386,15 @@ class NotifySlack(NotifyBase):
re.IGNORECASE,
)
# Place a thumbnail image inline with the message body
self.include_image = include_image
self.include_image = \
self.template_args['image']['default'] \
if include_image is None else include_image
# Place a footer with each post
self.include_footer = include_footer
self.include_footer = \
self.template_args['footer']['default'] \
if include_footer is None else include_footer
return
def send(self, body, title='', notify_type=NotifyType.INFO, attach=None,
@ -1150,7 +1155,8 @@ class NotifySlack(NotifyBase):
# Get Image Flag
results['include_image'] = \
parse_bool(results['qsd'].get('image', True))
parse_bool(results['qsd'].get(
'image', NotifySlack.template_args['image']['default']))
# Get Payload structure (use blocks?)
if 'blocks' in results['qsd'] and len(results['qsd']['blocks']):
@ -1158,7 +1164,8 @@ class NotifySlack(NotifyBase):
# Get Footer Flag
results['include_footer'] = \
parse_bool(results['qsd'].get('footer', True))
parse_bool(results['qsd'].get(
'footer', NotifySlack.template_args['footer']['default']))
return results

View File

@ -117,7 +117,6 @@ class NotifySpike(NotifyBase):
"""
Send Spike.sh Notification
"""
self.throttle()
payload = {
'message': title if title else body,
@ -129,6 +128,9 @@ class NotifySpike(NotifyBase):
'Content-Type': 'application/json',
}
# Always call throttle before any remote server i/o is made
self.throttle()
try:
response = requests.post(
self.webhook_url,

View File

@ -242,8 +242,14 @@ class NotifyWebexTeams(NotifyBase):
# We're done early as we couldn't load the results
return results
# The first token is stored in the hostname
results['token'] = NotifyWebexTeams.unquote(results['host'])
# Set our token if found as an argument
if 'token' in results['qsd'] and len(results['qsd']['token']):
results['token'] = \
NotifyWebexTeams.unquote(results['qsd']['token'])
else:
# The first token is stored in the hostname
results['token'] = NotifyWebexTeams.unquote(results['host'])
return results

View File

@ -1,4 +1,3 @@
version: "3.3"
services:
test.py39:
build:

View File

@ -120,7 +120,7 @@ def test_plugin_simplepush_urls():
@pytest.mark.skipif(
'cryptography' in sys.modules,
reason="Requires that cryptography NOT be installed")
def test_plugin_fcm_cryptography_import_error():
def test_plugin_simpepush_cryptography_import_error():
"""
NotifySimplePush() Cryptography loading failure
"""

View File

@ -53,6 +53,13 @@ apprise_url_tests = (
# Our expected url(privacy=True) startswith() response:
'privacy_url': 'wxteams://a...a/',
}),
('wxteams://?token={}'.format('a' * 80), {
# token provided - we're good
'instance': NotifyWebexTeams,
# Our expected url(privacy=True) startswith() response:
'privacy_url': 'wxteams://a...a/',
}),
('webex://{}'.format('a' * 140), {
# token provided - we're good
'instance': NotifyWebexTeams,