danielraynaud commited on
Commit
d2f55d7
·
verified ·
1 Parent(s): 4a66ea9

Create db_operations.py

Browse files
Files changed (1) hide show
  1. database/db_operations.py +40 -0
database/db_operations.py ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # database/db_operations.py
2
+
3
+ import json
4
+ import logging
5
+ from typing import List, Tuple
6
+ from .db_manager import DatabaseManager
7
+
8
+ logging.basicConfig(level=logging.INFO)
9
+ logger = logging.getLogger(__name__)
10
+
11
+ def adicionar_lote_questoes(db: DatabaseManager, questoes: list) -> Tuple[bool, str]:
12
+ """Adiciona várias questões de uma vez"""
13
+ try:
14
+ conn = db.get_connection()
15
+ cursor = conn.cursor()
16
+
17
+ for questao in questoes:
18
+ cursor.execute('''
19
+ INSERT INTO previous_questions
20
+ (year, area, question_text, options, correct_answer,
21
+ explanation, difficulty, references, tags)
22
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
23
+ ''', (
24
+ questao.get('year'),
25
+ questao.get('area'),
26
+ questao.get('question_text'),
27
+ json.dumps(questao.get('options', {})),
28
+ questao.get('correct_answer'),
29
+ questao.get('explanation'),
30
+ questao.get('difficulty', 'medium'),
31
+ json.dumps(questao.get('references', [])),
32
+ json.dumps(questao.get('tags', []))
33
+ ))
34
+
35
+ conn.commit()
36
+ logger.info(f"Adicionadas {len(questoes)} questões com sucesso")
37
+ return True, "Questões adicionadas com sucesso"
38
+ except Exception as e:
39
+ logger.error(f"Erro ao adicionar questões: {e}")
40
+ return False, f"Erro ao adicionar questões: {str(e)}"