-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdbmanager.py
More file actions
101 lines (89 loc) · 4.7 KB
/
dbmanager.py
File metadata and controls
101 lines (89 loc) · 4.7 KB
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
import sqlite3
import hashlib
class DBManager():
def __init__(self, name):
self.conn = sqlite3.connect(name)
self.cursor = self.conn.cursor()
def create(self):
self.cursor.execute("CREATE TABLE unidade (nomeUnidade TEXT, codigoUnidade INT PRIMARY KEY)")
self.cursor.execute("CREATE TABLE UnidLessionaDisc (codigoUnidade INT, codigoDisciplina INT, id INTEGER PRIMARY KEY AUTOINCREMENT)")
self.cursor.execute("CREATE TABLE disciplina (nomeDisciplina TEXT, codigoDisciplina INT PRIMARY KEY, ativacao DATE, desativacao DATE, CredAula INT, CredTrabalho INT, tipo TEXT, objetivos TEXT, programa TEXT, programaResumido TEXT, metodo TEXT, criterio TEXT, normaRecuperacao TEXT, bibliografia TEXT)")
self.cursor.execute("CREATE TABLE docente (nomeDocente TEXT, codigo TEXT PRIMARY KEY)")
self.cursor.execute("CREATE TABLE DocenteMinistraDisc (codigoDocente TEXT, codigoDisciplina INT, id INTEGER PRIMARY KEY AUTOINCREMENT)")
self.cursor.execute("CREATE TABLE DiscTemRequis (id INTEGER PRIMARY KEY AUTOINCREMENT, codigoDisciplina TEXT, codigoRequisito INT, tipoReq TEXT, cursoNome TEXT, cursoID TEXT, periodoIdeal INT)")
def dump(self):
self.cursor.execute("SELECT * FROM unidade")
print(self.cursor.fetchall())
print()
self.cursor.execute("SELECT * FROM docente")
print(self.cursor.fetchall())
print()
self.cursor.execute("SELECT * FROM disciplina")
print(self.cursor.fetchall())
print()
self.cursor.execute("SELECT * FROM DocenteMinistraDisc")
print(self.cursor.fetchall())
print()
self.cursor.execute("SELECT * FROM DiscTemRequis")
print(self.cursor.fetchall())
def close(self):
self.conn.close()
def insertUnidade(self, nome, codigo):
sql = ("INSERT INTO unidade(nomeUnidade, codigoUnidade) VALUES (?,?);")
val = (nome, codigo)
try:
self.cursor.execute(sql, val)
self.conn.commit()
except:
self.conn.rollback()
def insertDisciplina(self, info):
sql = "INSERT INTO disciplina (nomeDisciplina, codigoDisciplina, ativacao, desativacao, CredAula, CredTrabalho, tipo, objetivos, programa, programaResumido, metodo, criterio, normaRecuperacao, bibliografia) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"
val = (info["nome"], info["codigo"], info["ativacao"], info["desativacao"], info["creditos_aula"], info["creditos_trabalho"], info["tipo"], info["objetivos"], info["programa"], info["programa_resumido"], info["metodo"], info["criterio"], info["norma_de_recuperacao"], info["bibliografia"])
try:
self.cursor.execute(sql, val)
self.conn.commit()
except:
self.conn.rollback()
def insertDocente(self, nomeDocente):
sql = "INSERT INTO docente (nomeDocente, codigo) VALUES (?, ?);"
hash = hashlib.md5(nomeDocente.encode()).hexdigest()
val = (nomeDocente, hash)
try:
self.cursor.execute(sql, val)
self.conn.commit()
return hash
except:
self.conn.rollback()
return
def insertDocenteDiciplina(self, codigoDocente, codigoDisciplina):
sql = "INSERT INTO DocenteMinistraDisc (codigoDocente, codigoDisciplina) VALUES (?, ?);"
val = (codigoDocente, codigoDisciplina)
try:
self.cursor.execute(sql, val)
self.conn.commit()
except:
self.conn.rollback()
def insereDisciplinaUnidade(codigoUnidade ,codigoDisciplina):
sql = "INSERT INTO UnidLessionaDisc (codigoUnidade, codigoDisciplina) VALUES (?, ?);"
val = (codigoUnidade, codigoDisciplina)
try:
self.cursor.execute(sql, val)
self.conn.commit()
except:
self.conn.rollback()
def insereDisciplinaRequisito(self, codigoDisciplina ,codigoRequisito, tipoReq, cursoNome, cursoID, periodoIdeal):
sql = "INSERT INTO DiscTemRequis (codigoDisciplina ,codigoRequisito, tipoReq, cursoNome, cursoID, periodoIdeal) VALUES (?, ?, ?, ? , ?, ?);"
val = (codigoDisciplina ,codigoRequisito, tipoReq, cursoNome, cursoID, periodoIdeal)
try:
self.cursor.execute(sql, val)
self.conn.commit()
except:
self.conn.rollback()
def insertDiciplinaUnidade(self, codigoUnidade, codigoDisciplina):
sql = "INSERT INTO UnidLessionaDisc (codigoUnidade, codigoDisciplina) VALUES (?, ?);"
val = (codigoUnidade, codigoDisciplina)
try:
self.cursor.execute(sql, val)
self.conn.commit()
except:
self.conn.rollback()