Add some fallback emoji support without the emoji package
This commit is contained in:
parent
942d105de2
commit
af952a2e2f
1 changed files with 26 additions and 5 deletions
|
@ -1,19 +1,40 @@
|
||||||
|
from types import SimpleNamespace
|
||||||
from typing import List, Tuple
|
from typing import List, Tuple
|
||||||
|
|
||||||
from mautrix.util.logging import TraceLogger
|
from mautrix.util.logging import TraceLogger
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import emoji
|
import emoji
|
||||||
WHITE_CHECK_MARK = emoji.emojize(":white_check_mark:")
|
|
||||||
except ImportError:
|
except ImportError:
|
||||||
emoji = None
|
# basic list of supported emoji, based on https://docs.ntfy.sh/publish/#tags-emojis
|
||||||
WHITE_CHECK_MARK = "✅"
|
emoji_dict = {
|
||||||
|
"+1": "👍",
|
||||||
|
"-1": "👎️",
|
||||||
|
"facepalm": "🤦",
|
||||||
|
"partying_face": "🥳",
|
||||||
|
"warning": "⚠️",
|
||||||
|
"no_entry": "⛔",
|
||||||
|
"tada": "🎉",
|
||||||
|
"rotating_light": "🚨",
|
||||||
|
"no_entry_sign": "🚫",
|
||||||
|
"heavy_check_mark": "✔️",
|
||||||
|
"triangular_flag_on_post": "🚩",
|
||||||
|
"cd": "💿",
|
||||||
|
"loudspeaker": "📢",
|
||||||
|
"skull": "💀",
|
||||||
|
"computer": "💻",
|
||||||
|
"white_check_mark": "✅",
|
||||||
|
}
|
||||||
|
emoji = SimpleNamespace()
|
||||||
|
emoji.emojize = lambda e: emoji_dict.get(e[1:-1], e)
|
||||||
|
emoji.is_emoji = lambda e: e in emoji_dict.values()
|
||||||
|
|
||||||
|
WHITE_CHECK_MARK = emoji.emojize(":white_check_mark:")
|
||||||
|
|
||||||
|
|
||||||
def parse_tags(log: TraceLogger, tags: List[str]) -> Tuple[List[str], List[str]]:
|
def parse_tags(log: TraceLogger, tags: List[str]) -> Tuple[List[str], List[str]]:
|
||||||
if emoji is None:
|
if emoji is None:
|
||||||
log.warn("Please install the `emoji` package for emoji support")
|
log.warn("Please install the `emoji` package for full emoji support")
|
||||||
return ([], tags)
|
|
||||||
emojis = []
|
emojis = []
|
||||||
non_emoji_tags = []
|
non_emoji_tags = []
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue