diff --git a/TheCodeLabs_BaseUtils/TheCodeLabs_BaseUtils/NtfyHelper.py b/TheCodeLabs_BaseUtils/TheCodeLabs_BaseUtils/NtfyHelper.py new file mode 100644 index 0000000000000000000000000000000000000000..950158690351bd90e0f6e6255c88143244ccdec2 --- /dev/null +++ b/TheCodeLabs_BaseUtils/TheCodeLabs_BaseUtils/NtfyHelper.py @@ -0,0 +1,25 @@ +import base64 +from typing import Any + +import requests + + +class NtfyHelper: + @staticmethod + def send_message(userName: str, + password: str, + baseUrl: str, + topicName: str, + message: str, + tags: list[str], + headers: dict[str, Any] | None = None) -> None: + base64Encoded = base64.b64encode(f'{userName}:{password}'.encode('utf-8')) + + baseHeaders = { + 'Authorization': f'Basic {base64Encoded.decode("utf-8")}', + 'Tags': ','.join(tags) + } + baseHeaders.update(headers) + + response = requests.post(f'{baseUrl}/{topicName}', data=message, headers=baseHeaders) + response.raise_for_status() diff --git a/TheCodeLabs_BaseUtils/setup.py b/TheCodeLabs_BaseUtils/setup.py index 5929538c582d59f0601abdd9831e869cd7689a68..ff0b72abe67343a3067b26685e43ed78164a9245 100644 --- a/TheCodeLabs_BaseUtils/setup.py +++ b/TheCodeLabs_BaseUtils/setup.py @@ -3,7 +3,7 @@ from setuptools import setup setup( name='TheCodeLabs-BaseUtils', packages=['TheCodeLabs_BaseUtils'], - version='1.7.0', + version='1.8.0', license='MIT', description='Useful python classes', author='TheCodeLabs', @@ -14,7 +14,8 @@ setup( install_requires=[ 'psutil', 'snakeviz', - 'pyocclient' + 'pyocclient', + 'requests' ], setup_requires=[ 'wheel'