start of refactor to objects
This commit is contained in:
28
modules/utils.py
Normal file
28
modules/utils.py
Normal file
@@ -0,0 +1,28 @@
|
||||
import logging
|
||||
from dotenv import load_dotenv
|
||||
import requests
|
||||
import os
|
||||
|
||||
load_dotenv()
|
||||
|
||||
def upsert_list_of_dicts_by_id(list_of_dicts, new_dict, id='id', seq_check_field: str | None = None):
|
||||
for index, item in enumerate(list_of_dicts):
|
||||
if item.get(id) == new_dict.get(id):
|
||||
if seq_check_field is not None:
|
||||
if item.get(seq_check_field) > new_dict.get(seq_check_field):
|
||||
logging.info('Skipping out of sequence msg')
|
||||
return list_of_dicts
|
||||
list_of_dicts[index] = new_dict
|
||||
return list_of_dicts
|
||||
|
||||
list_of_dicts.append(new_dict)
|
||||
return list_of_dicts
|
||||
|
||||
def send_tg_alert(msg: str):
|
||||
token = os.getenv("TG_TOKEN")
|
||||
chat_id = os.getenv("TG_ALERTS_CHAT_ID")
|
||||
|
||||
url = f'https://api.telegram.org/bot{token}/sendMessage?chat_id={chat_id}'
|
||||
response = requests.post(url, json={'text': str(str(msg)[:250])}, timeout=10)
|
||||
|
||||
return response.json()
|
||||
Reference in New Issue
Block a user