diff --git a/apprise/plugins/NotifyNtfy.py b/apprise/plugins/NotifyNtfy.py index cc705c6c..138c3fca 100644 --- a/apprise/plugins/NotifyNtfy.py +++ b/apprise/plugins/NotifyNtfy.py @@ -42,6 +42,7 @@ from json import dumps from os.path import basename from .NotifyBase import NotifyBase +from ..common import NotifyFormat from ..common import NotifyType from ..common import NotifyImageSize from ..AppriseLocale import gettext_lazy as _ @@ -515,6 +516,10 @@ class NotifyNtfy(NotifyBase): if body: virt_payload['message'] = body + if self.notify_format == NotifyFormat.MARKDOWN: + # Support Markdown + headers['X-Markdown'] = 'yes' + if self.priority != NtfyPriority.NORMAL: headers['X-Priority'] = self.priority diff --git a/test/test_plugin_ntfy.py b/test/test_plugin_ntfy.py index 7c6a1b74..8a7e60d1 100644 --- a/test/test_plugin_ntfy.py +++ b/test/test_plugin_ntfy.py @@ -487,6 +487,22 @@ def test_plugin_custom_ntfy_edge_cases(mock_post): assert response['attach'] == 'http://example.com/file.jpg' assert response['filename'] == 'smoke.jpg' + # Reset our mock object + mock_post.reset_mock() + + # Markdown Support + results = NotifyNtfy.parse_url('ntfys://topic/?format=markdown') + assert isinstance(results, dict) + instance = NotifyNtfy(**results) + + assert instance.notify( + body='body', title='title', + notify_type=apprise.NotifyType.INFO) is True + + assert mock_post.call_count == 1 + assert mock_post.call_args_list[0][0][0] == 'https://ntfy.sh' + assert 'X-Markdown' in mock_post.call_args_list[0][1]['headers'] + @mock.patch('requests.post') @mock.patch('requests.get')