pprint json
This commit is contained in:
parent
d9ef6690fc
commit
06afbc187d
2 changed files with 21 additions and 7 deletions
|
@ -9,9 +9,10 @@ from typing import (
|
||||||
)
|
)
|
||||||
from matrix_bot.client import Client
|
from matrix_bot.client import Client
|
||||||
from matrix_bot.invite_policy import WhiteList
|
from matrix_bot.invite_policy import WhiteList
|
||||||
|
from .format import Message
|
||||||
|
|
||||||
async def __send_messsages(
|
async def __send_messsages(
|
||||||
message_queue: asyncio.Queue[dict[str, Any]], # For now, type will change in the futur
|
message_queue: asyncio.Queue[Message],
|
||||||
bot: Client,
|
bot: Client,
|
||||||
rooms: list[str]
|
rooms: list[str]
|
||||||
)->NoReturn:
|
)->NoReturn:
|
||||||
|
@ -20,9 +21,12 @@ async def __send_messsages(
|
||||||
"""
|
"""
|
||||||
while True:
|
while True:
|
||||||
message = await message_queue.get()
|
message = await message_queue.get()
|
||||||
message = str(message)
|
|
||||||
for room in rooms:
|
for room in rooms:
|
||||||
await bot.send_message(room, message)
|
await bot.send_formated_message(
|
||||||
|
room,
|
||||||
|
message.formated_body,
|
||||||
|
unformated_message=message.body
|
||||||
|
)
|
||||||
message_queue.task_done()
|
message_queue.task_done()
|
||||||
|
|
||||||
async def send_messages(
|
async def send_messages(
|
||||||
|
|
|
@ -3,22 +3,32 @@ Format the alert message.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
|
import dataclasses
|
||||||
|
import json
|
||||||
from typing import (
|
from typing import (
|
||||||
Any,
|
Any,
|
||||||
NoReturn
|
NoReturn,
|
||||||
|
Optional
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@dataclasses.dataclass
|
||||||
|
class Message:
|
||||||
|
body: str
|
||||||
|
formated_body: Optional[str]
|
||||||
|
|
||||||
def format_alert(
|
def format_alert(
|
||||||
alert: dict[str, Any]
|
alert: dict[str, Any]
|
||||||
)->str:
|
)->Message:
|
||||||
"""
|
"""
|
||||||
Format an alert in json format to a nice string.
|
Format an alert in json format to a nice string.
|
||||||
"""
|
"""
|
||||||
return str(alert)
|
body = json.dumps(alert, indent=4)
|
||||||
|
formated_body = f"<pre><code>{body}</code></pre>\n"
|
||||||
|
return Message(body, formated_body)
|
||||||
|
|
||||||
async def format_alerts(
|
async def format_alerts(
|
||||||
alert_queue: asyncio.Queue[dict[str,Any]],
|
alert_queue: asyncio.Queue[dict[str,Any]],
|
||||||
message_queue: asyncio.Queue[str]
|
message_queue: asyncio.Queue[Message]
|
||||||
)->NoReturn:
|
)->NoReturn:
|
||||||
"""
|
"""
|
||||||
Read alerts from alert_queue, format them, and put them in message_queue.
|
Read alerts from alert_queue, format them, and put them in message_queue.
|
||||||
|
|
Loading…
Reference in a new issue