histlearn commited on
Commit
cfded06
·
verified ·
1 Parent(s): 5562b19

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -0
app.py CHANGED
@@ -47,6 +47,9 @@ def match_alunos(tarefas_csv_path, alunos_csv_path, contador_csv_path):
47
  print(f"Arquivo {tarefas_csv_path} ou {alunos_csv_path} está vazio. Pulando...")
48
  return
49
 
 
 
 
50
  tarefas_df.columns = tarefas_df.columns.str.strip()
51
  alunos_df.columns = alunos_df.columns.str.strip()
52
 
@@ -73,11 +76,23 @@ def match_alunos(tarefas_csv_path, alunos_csv_path, contador_csv_path):
73
 
74
  alunos_df['Aluno_Pattern'] = alunos_df.apply(lambda row: generate_aluno_pattern(row['RA'], row['Dig. RA']), axis=1)
75
 
 
 
 
 
 
 
 
 
76
  tarefas_df['Aluno_Pattern'] = tarefas_df['Aluno'].apply(extract_aluno_pattern)
77
  tarefas_df['Duração'] = tarefas_df['Duração'].apply(parse_duration)
78
 
 
 
79
  matched_alunos = alunos_df[alunos_df['Aluno_Pattern'].isin(tarefas_df['Aluno_Pattern'])]
80
 
 
 
81
  result_df = matched_alunos[['Nome do Aluno']].drop_duplicates()
82
 
83
  for aluno in result_df['Nome do Aluno']:
@@ -94,6 +109,8 @@ def match_alunos(tarefas_csv_path, alunos_csv_path, contador_csv_path):
94
  else:
95
  contador_df = pd.concat([contador_df, pd.DataFrame({'Nome do Aluno': [aluno], 'Tarefas Completadas': [1], 'Acertos Absolutos': [nota_total], 'Total Tempo': [str(tempo_total)]})], ignore_index=True)
96
 
 
 
97
  contador_df.to_csv(contador_csv_path, index=False)
98
 
99
  return result_df
@@ -148,6 +165,7 @@ def process_inputs(html_file, tarefa_files):
148
  def download_html_file(file_path):
149
  return file_path
150
 
 
151
  # --- Interface Gradio ---
152
 
153
  with gr.Blocks() as interface:
@@ -165,3 +183,4 @@ with gr.Blocks() as interface:
165
  generate_btn.click(fn=process_and_prepare_download, inputs=[html_file, excel_files], outputs=[output_html, download_btn])
166
 
167
  interface.launch()
 
 
47
  print(f"Arquivo {tarefas_csv_path} ou {alunos_csv_path} está vazio. Pulando...")
48
  return
49
 
50
+ print(f"Tarefas DataFrame (antes da normalização):\n{tarefas_df.head()}")
51
+ print(f"Alunos DataFrame (antes da normalização):\n{alunos_df.head()}")
52
+
53
  tarefas_df.columns = tarefas_df.columns.str.strip()
54
  alunos_df.columns = alunos_df.columns.str.strip()
55
 
 
76
 
77
  alunos_df['Aluno_Pattern'] = alunos_df.apply(lambda row: generate_aluno_pattern(row['RA'], row['Dig. RA']), axis=1)
78
 
79
+ print(f"Alunos DataFrame (com padrão):\n{alunos_df.head()}")
80
+
81
+ def extract_aluno_pattern(nome):
82
+ if isinstance(nome, str):
83
+ match = re.search(r'\d+.*', nome.lower())
84
+ return match.group(0) if match else None
85
+ return None
86
+
87
  tarefas_df['Aluno_Pattern'] = tarefas_df['Aluno'].apply(extract_aluno_pattern)
88
  tarefas_df['Duração'] = tarefas_df['Duração'].apply(parse_duration)
89
 
90
+ print(f"Tarefas DataFrame (com padrão):\n{tarefas_df.head()}")
91
+
92
  matched_alunos = alunos_df[alunos_df['Aluno_Pattern'].isin(tarefas_df['Aluno_Pattern'])]
93
 
94
+ print(f"Matched Alunos DataFrame:\n{matched_alunos.head()}")
95
+
96
  result_df = matched_alunos[['Nome do Aluno']].drop_duplicates()
97
 
98
  for aluno in result_df['Nome do Aluno']:
 
109
  else:
110
  contador_df = pd.concat([contador_df, pd.DataFrame({'Nome do Aluno': [aluno], 'Tarefas Completadas': [1], 'Acertos Absolutos': [nota_total], 'Total Tempo': [str(tempo_total)]})], ignore_index=True)
111
 
112
+ print(f"Contador DataFrame (atualizado):\n{contador_df.head()}")
113
+
114
  contador_df.to_csv(contador_csv_path, index=False)
115
 
116
  return result_df
 
165
  def download_html_file(file_path):
166
  return file_path
167
 
168
+
169
  # --- Interface Gradio ---
170
 
171
  with gr.Blocks() as interface:
 
183
  generate_btn.click(fn=process_and_prepare_download, inputs=[html_file, excel_files], outputs=[output_html, download_btn])
184
 
185
  interface.launch()
186
+