-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.py
More file actions
52 lines (44 loc) · 1.59 KB
/
app.py
File metadata and controls
52 lines (44 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import sqlite3
import logging
import json
from telegram_sender import TelegramSender
# Logger opsætning
logging.basicConfig(
filename="app.log",
level=logging.INFO,
format="%(asctime)s - %(levelname)s - %(message)s"
)
DB_PATH = "messages.db"
def process_and_send_messages():
"""
Henter parsed beskeder fra databasen og sender dem til Telegram.
"""
try:
with sqlite3.connect(DB_PATH) as conn:
cursor = conn.cursor()
cursor.execute("""
SELECT id, parsed_fields FROM messages
WHERE parsed_fields IS NOT NULL
ORDER BY id DESC
LIMIT 10
""")
rows = cursor.fetchall()
if not rows:
logging.info("Ingen parsed beskeder til afsendelse.")
return
telegram_sender = TelegramSender()
for message_id, parsed_fields in rows:
parsed_message = json.loads(parsed_fields)
formatted_message = "\n".join(f"{k}: {v}" for k, v in parsed_message.items())
logging.info(f"Sender besked ID {message_id} til Telegram: {formatted_message}")
telegram_sender.send_message(formatted_message)
except sqlite3.Error as e:
logging.error(f"Databasefejl under behandling af beskeder: {e}")
except Exception as e:
logging.error(f"Fejl under afsendelse af beskeder: {e}")
if __name__ == "__main__":
logging.info("Starter app.py")
try:
process_and_send_messages()
except Exception as e:
logging.error(f"Kritisk fejl i app.py: {e}")