-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconnection.py
66 lines (54 loc) · 2.17 KB
/
connection.py
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
62
63
64
65
66
import sqlite3
import logging
# Configuration du logger
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
file_handler = logging.FileHandler("app.log")
file_handler.setLevel(logging.DEBUG) # Définir le niveau du fichier
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
stream_handler = logging.StreamHandler()
stream_handler.setLevel(logging.DEBUG) # Définir le niveau du terminal
stream_handler.setFormatter(formatter)
logger.addHandler(file_handler)
logger.addHandler(stream_handler)
class DatabaseManager:
def __init__(self, db_name):
"""Initialise la connexion à la base de données."""
self.conn = sqlite3.connect(db_name)
self.cursor = self.conn.cursor()
logging.debug(f"Connexion à {db_name} réussie.")
def fetch_data(self, lecture_sql):
"""Récupère des données de la table."""
try:
self.cursor.execute(lecture_sql)
rows = self.cursor.fetchall()
return rows
except sqlite3.Error as e:
logging.debug(f"Erreur lors de la récupération des données : {e}")
return None
def fetch_one_data(self, lecture_sql, data):
"""Récupère des données de la table."""
try:
if data == ("",):
self.cursor.execute(lecture_sql)
else:
self.cursor.execute(lecture_sql, data)
rows = self.cursor.fetchone()
return rows
except sqlite3.Error as e:
logging.debug(f"Erreur lors de la récupération des données : {e}")
return None
def exec_data(self, exec_sql, data):
"""Insère des données dans la table."""
try:
self.cursor.execute(exec_sql, data)
self.conn.commit()
return True # réussite
except sqlite3.Error as e:
return False # echec
def close(self):
"""Ferme la connexion à la base de données."""
self.conn.close()
logging.debug("Connexion fermée.")
db = DatabaseManager("base.db")