Commit c511d951 authored by porramet's avatar porramet

udate

parent 98ee8070
Pipeline #1697 failed with stages
...@@ -6,7 +6,7 @@ pip install git+https://git.igridproject.info/porrametict/notification_center.gi ...@@ -6,7 +6,7 @@ pip install git+https://git.igridproject.info/porrametict/notification_center.gi
How to Use How to Use
1. Configure the Notification Service 1. Configure the Notification center
You need to create a configuration dictionary for both Gmail and/or Telegram. The configuration should look like this: You need to create a configuration dictionary for both Gmail and/or Telegram. The configuration should look like this:
```python ```python
...@@ -24,11 +24,11 @@ config = { ...@@ -24,11 +24,11 @@ config = {
} }
``` ```
2. Initialize the Notification Service 2. Initialize the Notification center
```python ```python
from notification_service import NotificationService from notification_center import NotificationCenter
notification_service = NotificationService(config) notification_center = NotificationCenter(config)
``` ```
3. Send a Notification 3. Send a Notification
...@@ -39,9 +39,8 @@ Example: ...@@ -39,9 +39,8 @@ Example:
Sending a Gmail Notification: Sending a Gmail Notification:
```python ```python
from src.strategies.gmail import MessageParams
gmail_params:MessageParams = { gmail_params = {
"to" : ["poramet.tan@nectec.or.th"], "to" : ["poramet.tan@nectec.or.th"],
"subject" : "Test Notification", "subject" : "Test Notification",
"body" : f""" "body" : f"""
...@@ -55,15 +54,14 @@ notification_params = { ...@@ -55,15 +54,14 @@ notification_params = {
"params": gmail_params "params": gmail_params
} }
notification_service.send_notification(notification_params) notification_center.send_notification(notification_params)
``` ```
Sending a Telegram Notification: Sending a Telegram Notification:
```python ```python
from src.strategies.telegram import MessageParams
telegram_params:MessageParams = { telegram_params = {
"text" :f"""Hello World""" "text" :f"""Hello World"""
} }
...@@ -72,5 +70,5 @@ notification_params = { ...@@ -72,5 +70,5 @@ notification_params = {
"params": telegram_params "params": telegram_params
} }
notification_service.send_notification(notification_params) notification_center.send_notification(notification_params)
``` ```
from setuptools import setup, find_packages from setuptools import setup, find_packages
setup( setup(
name='nc_service', name='notification_center',
version='1.0.0', version='1.0.0',
packages=find_packages(where='src'), packages=find_packages(where='src'),
package_dir={'': 'src'}, package_dir={'': 'src'},
......
import strategies.gmail as gmail
import strategies.telegram as telegram
from notification_service import *
\ No newline at end of file
from .strategies import gmail
from .strategies import telegram
from .notification_center import *
\ No newline at end of file
from typing import TypedDict,Union,Literal,Optional from typing import TypedDict,Union,Literal,Optional
from src.strategies.gmail import Gmail,MessageParams as GmailMessageParams from .strategies.gmail import Gmail,MessageParams as GmailMessageParams
from src.strategies.telegram import Telegram, MessageParams as TelegramMessageParams from .strategies.telegram import Telegram, MessageParams as TelegramMessageParams
from src.notification_sender import NotificationSender from .notification_sender import NotificationSender
class GmailConfig(TypedDict): class GmailConfig(TypedDict):
...@@ -24,7 +24,7 @@ class NotificationMessageParams(TypedDict): ...@@ -24,7 +24,7 @@ class NotificationMessageParams(TypedDict):
method: Literal['gmail', 'telegram'] method: Literal['gmail', 'telegram']
params: Union[GmailMessageParams, TelegramMessageParams] params: Union[GmailMessageParams, TelegramMessageParams]
class NotificationService: class NotificationCenter:
_config : NotificationConfig _config : NotificationConfig
_gmail_strategy : Optional[Gmail] = None _gmail_strategy : Optional[Gmail] = None
_telegram_strategy : Optional[Telegram] = None _telegram_strategy : Optional[Telegram] = None
......
from typing import Union from typing import Union
from strategies.gmail import MessageParams as GmailMessageParams from .strategies.gmail import MessageParams as GmailMessageParams
from strategies.telegram import MessageParams as TelegramMessageParams from .strategies.telegram import MessageParams as TelegramMessageParams
from strategies.notification_strategy import NotificationStrategy from .strategies.notification_strategy import NotificationStrategy
class NotificationSender: class NotificationSender:
......
from notification_center import NotificationCenter
from src import config
_config = {
"telegram": {
"bot_token": config.TG_BOT_TOKEN, # Telegram bot token
"chat_id": config.TG_CHAT_ID, # The chat ID to send messages to
}
}
ns = NotificationCenter(_config)
params = {"method":"telegram","params":{"text":"TEST"}}
ns.send_notification(params)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment