Spaces:
Runtime error
Runtime error
File size: 1,683 Bytes
8e10d17 | 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 53 54 55 56 57 58 59 60 61 | import os
from datetime import datetime
from sqlalchemy import create_engine, Column, Integer, String, Text, DateTime, Float
from sqlalchemy.orm import declarative_base, sessionmaker
from dotenv import load_dotenv
import psycopg2
load_dotenv()
db_config= {
"user": os.getenv("POSTGRES_USER"),
"password": os.getenv("POSTGRES_PASSWORD"),
"dbname": os.getenv("POSTGRES_DB"),
"host": os.getenv("POSTGRES_HOST"),
"port": os.getenv("POSTGRES_PORT")
}
def get_connection():
try:
return psycopg2.connect(**db_config)
except Exception as e:
print(f"[ERREUR CONNEXION DB] : {e}")
return None
def log_interaction(user_message, user_lat, user_lon, intention, mot_cle, message, reponse_texte):
conn = get_connection()
if not conn:
print("[INFO] Attention connection echouer")
return
try:
with conn.cursor() as cur:
query = """
INSERT INTO users_interactions
(user_message, user_lat, user_lon, intention, mot_cle, inerne_message, response_text)
VALUES (%s, %s, %s, %s, %s, %s, %s);
"""
values = (
str(user_message),
user_lat,
user_lon,
intention,
mot_cle,
message,
str(reponse_texte)
)
cur.execute(query, values)
conn.commit()
except Exception as e:
print(f"[INFO] Erreur d'insertion : {e}")
conn.rollback()
finally:
# On ferme la connexion
if conn:
conn.close()
|