· 5 years ago · Feb 11, 2020, 09:04 AM
1import sqlite3
2import hashlib
3
4
5def myexa256(instring):
6 return hashlib.sha256(instring).hexdigest()
7
8def createtable():
9#gestion des erreur en cour bug impossible d'intercepter la bonne erreur ??
10 try:
11 conn = sqlite3.connect('mykerndata.db')
12 cursor = conn.cursor()
13
14 cursor.execute("""
15 CREATE TABLE IF NOT EXISTS kernel(
16 id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE NOT NULL,
17 exa TEXT UNIQUE NOT NULL,
18 dmesg TEXT UNIQUE NOT NULL,
19 status TEXT NOT NULL,
20 source TEXT NOT NULL
21 )
22 """)
23 conn.commit()
24 conn.close()
25 except sqlite3.Error:
26 print("Error")
27 except sqlite3.DatabaseError:
28 print("DatabaseError")
29 except sqlite3.DataError:
30 print("DataError")
31 except sqlite3.IntegrityError:
32 print("IntegrityError")
33 except sqlite3.InternalError:
34 print("InternalError")
35 except sqlite3.NotSupportedError:
36 print("NotSupportedError")
37 except sqlite3.OperationalError:
38 print("OperationalError")
39 except sqlite3.ProgrammingError:
40 print("ProgrammingError")
41 except sqlite3.InterfaceError:
42 print("InterfaceError")
43 finally:
44 conn.close()
45 print ("Erreur non gerre def : createtable")
46
47
48def inserdata(message,status,source):
49 try:
50 conn = sqlite3.connect('mykerndata.db')
51 cursor = conn.cursor()
52# print (myexa256(message) + " " + message)
53 cursor.execute("""
54 INSERT INTO kernel(exa, dmesg, status, source) VALUES(?, ?, ?, ?)""", (myexa256(message),message,status,source)
55 )
56 conn.commit()
57 conn.close()
58 finally:
59 conn.close()
60 print ("Erreur non gerre base de donnee fermee : inserdata")
61
62def afficher_toutes_les_entree():
63 conn = sqlite3.connect('mykerndata.db')
64 cursor = conn.cursor()
65 cursor.execute("""SELECT id, exa, dmesg, status, source FROM kernel""")
66 rows = cursor.fetchall()
67 for row in rows:
68 print('{0} : {1} - {2} - {3} - {4}'.format(row[0], row[1], row[2], row[3], row[4]))
69 conn.close()
70
71createtable()
72#nserdata("G","info","buffer")
73afficher_toutes_les_entree()