More code cleanup

This commit is contained in:
Chris Caron 2025-03-09 20:33:29 -04:00
parent 2f96710c41
commit 981f1ece8b
3 changed files with 14 additions and 10 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

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