Add support for tags with optional emoji support

This commit is contained in:
Sophie Tauchert 2023-01-08 17:51:23 +01:00
parent e32b9c4b49
commit 942d105de2
No known key found for this signature in database
GPG key ID: 52701DE5F5F51125
3 changed files with 53 additions and 10 deletions

26
ntfy/emoji.py Normal file
View file

@ -0,0 +1,26 @@
from typing import List, Tuple
from mautrix.util.logging import TraceLogger
try:
import emoji
WHITE_CHECK_MARK = emoji.emojize(":white_check_mark:")
except ImportError:
emoji = None
WHITE_CHECK_MARK = ""
def parse_tags(log: TraceLogger, tags: List[str]) -> Tuple[List[str], List[str]]:
if emoji is None:
log.warn("Please install the `emoji` package for emoji support")
return ([], tags)
emojis = []
non_emoji_tags = []
for tag in tags:
emojized = emoji.emojize(f":{tag}:")
if emoji.is_emoji(emojized):
emojis.append(emojized)
else:
non_emoji_tags.append(tag)
return (emojis, non_emoji_tags)