summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2023-07-17 21:13:03 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2023-07-17 21:13:03 +0200
commit70e43a432296fa6524e0468adaf271e13d6bb590 (patch)
tree54d8bfa86b65d6711307f34358b0cb78edd45a70
parent0e62e0066533242c6a22c843f7cb63ef615a52a5 (diff)
downloadsignal-event-notifier-70e43a432296fa6524e0468adaf271e13d6bb590.tar.gz
signal-event-notifier-70e43a432296fa6524e0468adaf271e13d6bb590.zip
fix mention cli argument
signal-cli does not support using the --mention argument multiple times instead one can pass multiple strings to it. See: https://github.com/AsamK/signal-cli/issues/1136
-rwxr-xr-xsignal_event_notifier.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/signal_event_notifier.py b/signal_event_notifier.py
index 1c5d802..144298b 100755
--- a/signal_event_notifier.py
+++ b/signal_event_notifier.py
@@ -67,7 +67,8 @@ def load_responsibilities(start: datetime.date,
return resp.split(',')
-def fmt_mentions(responsibilities: list[str]) -> t.Tuple[str, str]:
+def fmt_mentions(
+ responsibilities: t.Optional[list[str]] = None) -> t.Tuple[str, str]:
"""Return a string of mentions and the required cli arguments for signal-cli"""
if not responsibilities:
@@ -83,10 +84,10 @@ def fmt_mentions(responsibilities: list[str]) -> t.Tuple[str, str]:
else:
name = num = tokens[0]
- mention_arg += f' --mention {len(mention_notification_prfx)+1}:{len(name)}:{num}'
+ mention_arg += f' {len(mention_notification_prfx)}:{len(name)}:{num}'
mention_notification_prfx += f', {name}'
- return mention_notification_prfx[2:], mention_arg
+ return mention_notification_prfx[2:], f'--mention {mention_arg[1:]}'
def notify(notification: str,
@@ -98,11 +99,11 @@ def notify(notification: str,
if not recipients and not group:
return
- mentions, mentions_args = fmt_mentions(recipients)
+ mentions, mentions_arg = fmt_mentions(responsibilities=recipients)
if mentions:
notification = f'{mentions} {notification}'
- cmd = f'signal-cli -u {signal_user} send --message-from-stdin{mentions_args}'
+ cmd = f'signal-cli -u {signal_user} send --message-from-stdin {mentions_arg}'
if group:
cmd += f' -g {group}'