Merge branch 'implement_markdown_rendering'

This commit is contained in:
Marc Koch 2024-07-05 15:42:25 +02:00
commit 9c072b0e8e
2 changed files with 13 additions and 2 deletions

View File

@ -2,6 +2,7 @@ import asyncio
from html import escape from html import escape
import json import json
from typing import Any, Dict, Tuple, List, Awaitable, Callable from typing import Any, Dict, Tuple, List, Awaitable, Callable
import markdown
from aiohttp import ClientTimeout from aiohttp import ClientTimeout
from maubot import MessageEvent, Plugin from maubot import MessageEvent, Plugin
@ -639,9 +640,11 @@ class NtfyBot(Plugin):
if click and not title: if click and not title:
html_content += "%s<a href=\"%s\">%s</a>" % ( html_content += "%s<a href=\"%s\">%s</a>" % (
emoji, escape(click), emoji, escape(click),
escape(body).replace("\n", "<br />")) markdown.markdown(escape(body))
.replace("\n", "<br />"))
else: else:
html_content += emoji + escape(body).replace("\n", "<br />") html_content += (emoji + markdown.markdown(escape(body))
.replace("\n", "<br />"))
# add non-emoji tags # add non-emoji tags
if tags: if tags:

8
ntfy/exceptions.py Normal file
View File

@ -0,0 +1,8 @@
class SubscriptionError(Exception):
"""Raised when an error occurs while subscribing to a ntfy topic."""
def __init__(self, http_response: dict) -> None:
self._http_message = http_response
self.message = self._http_message.get("error")
self.code = self._http_message.get("code")
super().__init__(self.message)