This commit is contained in:
Chris Caron 2025-03-10 00:33:39 +00:00 committed by GitHub
commit dc87978d09
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 15 additions and 11 deletions

View File

@ -127,7 +127,7 @@ class NotifyNextcloudTalk(NotifyBase):
super().__init__(**kwargs)
if self.user is None or self.password is None:
msg = 'User and password have to be specified.'
msg = 'A NextCloudTalk User and Password must be specified.'
self.logger.warning(msg)
raise TypeError(msg)

View File

@ -268,9 +268,7 @@ class NotifyTwitter(NotifyBase):
# and we failed to load any of them. Since it's also valid to
# notify no one at all (which means we notify ourselves), it's
# important we don't switch from the users original intentions
msg = 'No Twitter targets to notify.'
self.logger.warning(msg)
raise TypeError(msg)
self.targets = None
# Initialize our cache values
self._whoami_cache = None
@ -284,6 +282,10 @@ class NotifyTwitter(NotifyBase):
Perform Twitter Notification
"""
if self.targets is None:
self.logger.warning('No valid Twitter targets to notify.')
return False
# Build a list of our attachments
attachments = []
@ -815,7 +817,7 @@ class NotifyTwitter(NotifyBase):
params.update(self.url_parameters(privacy=privacy, *args, **kwargs))
return '{schema}://{ckey}/{csecret}/{akey}/{asecret}' \
'/{targets}/?{params}'.format(
'/{targets}?{params}'.format(
schema=self.secure_protocol[0],
ckey=self.pprint(self.ckey, privacy, safe=''),
csecret=self.pprint(
@ -825,7 +827,7 @@ class NotifyTwitter(NotifyBase):
self.asecret, privacy, mode=PrivacyMode.Secret, safe=''),
targets='/'.join(
[NotifyTwitter.quote('@{}'.format(target), safe='@')
for target in self.targets]),
for target in self.targets]) if self.targets else '',
params=NotifyTwitter.urlencode(params))
def __len__(self):

View File

@ -1402,7 +1402,7 @@ def test_plugin_matrix_transaction_ids_api_v3_no_cache(
# Instantiate our object
obj = Apprise.instantiate('matrix://user:pass@localhost/#general?v=3')
# Ensure mode is flush
# Ensure mode is memory
assert obj.store.mode == PersistentStoreMode.MEMORY
# Performs a login

View File

@ -521,10 +521,12 @@ def test_plugin_twitter_edge_cases():
)
# Invalid Target User
with pytest.raises(TypeError):
NotifyTwitter(
ckey='value', csecret='value', akey='value', asecret='value',
targets='%G@rB@g3')
obj = NotifyTwitter(
ckey='value', csecret='value', akey='value', asecret='value',
targets='%G@rB@g3')
assert obj.notify(
body='body', title='title', notify_type=NotifyType.INFO) is False
def test_plugin_twitter_dm_caching(