import sqlite3 def create_table(): conn = sqlite3.connect("code.db") cursor = conn.cursor() cursor.execute("DELETE FROM code;") with open('code.txt', 'r') as f: c = 0 txt = "" id = 1 for l in f : txt += l if l == ";;;\n": c += 1 if c == 5 : tab = txt.split(";;;\n") txt = "" c = 0 cursor.execute("INSERT INTO code (id, titre, niveau, mots_cle, enonce, test) VALUES (?, ?, ?, ?, ?, ?)", (id, tab[0], tab[1], tab[2], tab[3], tab[4])) id += 1 conn.commit() conn.close() def return_title(): conn = sqlite3.connect("code.db") cursor = conn.cursor() cursor.execute("SELECT id, titre, niveau FROM code") rows = cursor.fetchall() conn.close() return [{"id" : v[0], "title" : v[1].replace("\n",""), "niveau":v[2]} for v in rows] def return_exercise(id): conn = sqlite3.connect("code.db") cursor = conn.cursor() cursor.execute("SELECT * FROM code WHERE id = ?", (id,)) rows = cursor.fetchall() conn.close() return rows[0] def return_mot_cle(): conn = sqlite3.connect("code.db") cursor = conn.cursor() cursor.execute("SELECT id, mots_cle FROM code") rows = cursor.fetchall() conn.close() return [{"id" : v[0], "mot_cle" : v[1].replace("\n","")} for v in rows] def return_niveau(): conn = sqlite3.connect("code.db") cursor = conn.cursor() cursor.execute("SELECT id, niveau FROM code") rows = cursor.fetchall() conn.close() return [{"id" : v[0], "niveau" : v[1]} for v in rows]