· 5 years ago · Oct 03, 2020, 07:56 PM
1import sqlite3
2
3class TODOApp(object):
4 def __init__(self, sqlite_file):
5 self.conn = sqlite3.connect(sqlite_file)
6 self.c = self.conn.cursor()
7 self.tasks = [] # Vogliamo una *lista* di task, non un solo task per tutta l'app!
8
9 query = """
10 CREATE TABLE IF NOT EXISTS todos
11 (
12 todo_id INTEGER PRIMARY KEY AUTOINCREMENT,
13 content TEXT,
14 todo_date TEXT,
15 todo_status TEXT,
16 user_name TEXT
17 )
18 """
19
20 self.c.execute(query)
21 self.conn.commit()
22
23
24 # Non chiamare "get" qualcosa che in realtà fa un'aggiunta. Le get servono per recuperare qualcosa
25 def add_task(self, task_content):
26 # Non hai bisogno di un'ulteriore variabile
27 # the_task = task
28 sql = """
29 INSERT INTO todos (content, todo_date, todo_status, user_name)
30 VALUES (?, ?, ?, ?)
31 """
32 # Usa le date nel formato yyyymmdd
33 query_params = (task_content, '19900512', 'open', 'davide')
34
35 self.c.execute(sql, query_params)
36 self.conn.commit()
37
38 # Magari vuoi aggiungere questo task alla lista?
39 # Per ora aggiungiamo stringhe, ma in futuro potremmo volere inserire oggetti di classe Task oppure dizionari!
40 self.tasks.append(task_content)
41
42
43# print(get_task(task)) # Questa print non fa quello che pensi. Ti stampa semplicemente l'indirizzo di memoria di questa funzione!
44todo = TODOApp("./app.db") # Stiamo passando il path del file SQLite. Sostituiscilo col percorso che vuoi tu, ma occhio che se la todos non esiste si incazza!
45
46
47print("Aggiungo un task!")
48
49todo.add_task("Comprare i fiori per la fidanzata")
50