def getUNICAMP_eng(text): aprovacao = 0 reprovacao = 0 semestre = 0 cr = 0 cr_curso = 0 classificacao = "" semestre_inicial = "" curso = "" if len(re.findall(r'\d\.\d\d\d\d', text)) >= 1: aux = re.findall(r'\d\.\d\d\d\d', text)[1] cr = float(aux[-6:]) if len(re.findall(r'\d\.\d\d\d\d', text)) >= 2: aux = re.findall(r'\d\.\d\d\d\d', text)[0] cr_curso = float(aux[-6:]) aprovacao = len(re.findall(r'Passed ', text)) reprovacao = len(re.findall(r'Reproved', text)) semestre = len(re.findall(r'SEMESTER', text.upper())) if len(re.findall(r'\dº Semester of \d\d\d\d', text)) >= 1: semestre_inicial = re.findall(r'\dº Semester of \d\d\d\d', text)[0][-4:] + "-0" + \ re.findall(r'\dº Semester of \d\d\d\d', text)[0][0] if semestre_inicial == "": if len(re.findall(r' semester of \d\d\d\d', text)) >= 1: ano = re.findall(r' semester of \d\d\d\d', text)[0][-4:] if len(re.findall(r'First semester of ' + ano, text)) >= 1: semestre_inicial = ano + "-01" else: semestre_inicial = ano + + "-02" course_aux = text.split("Course") if len(course_aux) > 1: course_aux1 = course_aux[1].split("Accredited by Ministerial Decree") if len(course_aux1[0].split("\n")) > 8: curso = course_aux1[0].split("\n")[8] else: curso = course_aux1[0].split(" – ")[1] if len(re.findall(r'\n\d\dº de \d\d alunos', text)) >= 1: classificacao = re.findall(r'\n\d\dº de \d\d alunos', text)[0] elif len(re.findall(r'\n\d\dº de \d\d\d alunos', text)) >= 1: classificacao = re.findall(r'\n\d\dº de \d\d\d alunos', text)[0] elif len(re.findall(r'\n\d\d\dº de \d\d\d alunos', text)) >= 1: classificacao = re.findall(r'\n\d\d\dº de \d\d\d alunos', text)[0] elif len(re.findall(r'\n\dº de \d\d alunos', text)) >= 1: classificacao = re.findall(r'\n\dº de \d\d alunos', text)[0] status = checkKPI(aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso) return aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status
def getUNICAMP_port(text): aprovacao = 0 reprovacao = 0 semestre = 0 cr = 0 cr_curso = 0 classificacao = "" semestre_inicial = "" curso = "" if len(re.findall(r'\d\.\d\d\d\d', text)) >= 2: aux = re.findall(r'\d\.\d\d\d\d', text)[0] cr = float(aux[-6:]) aux = re.findall(r'\d\.\d\d\d\d', text)[1] cr_curso = float(aux[-6:]) if len(re.findall(r'\d\.\d\d\d\d', text)) == 1: cr = 0 aux = re.findall(r'\d\.\d\d\d\d', text)[0] cr_curso = float(aux[-6:]) aprovacao = len(re.findall(r'Aprovado ', text)) reprovacao = len(re.findall(r'Reprovado ', text)) semestre = len(re.findall(r'Semestre', text)) if len(re.findall(r'\dº Semestre de \d\d\d\d', text)) >= 1: semestre_inicial = re.findall(r'\dº Semestre de \d\d\d\d', text)[0][-4:] + "-0" + \ re.findall(r'\dº Semestre de \d\d\d\d', text)[0][0] if len(re.findall(r'\n\d\dº de \d\d alunos', text)) >= 1: classificacao = re.findall(r'\n\d\dº de \d\d alunos', text)[0] elif len(re.findall(r'\n\d\dº de \d\d\d alunos', text)) >= 1: classificacao = re.findall(r'\n\d\dº de \d\d\d alunos', text)[0] elif len(re.findall(r'\n\d\d\dº de \d\d\d alunos', text)) >= 1: classificacao = re.findall(r'\n\d\d\dº de \d\d\d alunos', text)[0] elif len(re.findall(r'\n\dº de \d\d alunos', text)) >= 1: classificacao = re.findall(r'\n\dº de \d\d alunos', text)[0] curso_aux = text.split("Reconhecido pel") if len(curso_aux) > 1: curso_aux2 = curso_aux[0].split("Curso: ") if len(curso_aux2) > 1: curso = curso_aux2[1].split(" - ")[1] else: curso_aux = text.split("Habilita") if len(curso_aux) > 1: curso_aux2 = curso_aux[0].split("Curso: ") if len(curso_aux2) > 1: curso = curso_aux2[1].split(" - ")[1] status = checkKPI(aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso) return aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status
def getUFRJ_eng(text): aprovacao = 0 reprovacao = 0 semestre = 0 cr = 0 cr_curso = 0 classificacao = "" semestre_inicial = "" curso = "" aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status = getUniversityUnknown_eng(text) status = checkKPI(aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso) return aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status
def getUSP_port(text): aprovacao = 0 reprovacao = 0 semestre = 0 cr = 0 cr_curso = 0 classificacao = "" semestre_inicial = "" curso = "" aprovacao = len(re.findall(r'\d\.\dA\w', text)) trancada = len(re.findall(r'\d\.\dT\w', text)) reprovacao_nota = len(re.findall(r'\d\.\dRN\w', text)) reprovacao_nota_freq = len(re.findall(r'\d\.\dRA\w', text)) reprovaca_freq = len(re.findall(r'\d\.\dRF\w', text)) reprovacao = reprovacao_nota_freq + reprovaca_freq + reprovacao_nota if len(re.findall(r'\d\d\d\d \dº. Semestre', text)) >= 1: semestre_inicial = re.findall(r'\d\d\d\d \dº. Semestre', text)[0][0:4] + "-0" + \ re.findall(r'\d\d\d\d \dº. Semestre', text)[0][6] elif len(re.findall(r'\d\d\d\d \d¼. Semestre', text)) >= 1: semestre_inicial = re.findall(r'\d\d\d\d \d¼. Semestre', text)[0][0:4] + "-0" + \ re.findall(r'\d\d\d\d \d¼. Semestre', text)[0][6] semestre = len(re.findall(r'Semestre', text)) - len(re.findall(r'no Semestre', text)) if len(re.findall(r'Média Ponderada com reprovações: \d\.\d', text)) >= 1: cr = float(re.findall(r'Média Ponderada com reprovações: \d\.\d', text)[0][-3:]) if len(re.findall(r'Média ponderada de seu curso : \d\.\d\d\d\d', text)) >= 1: cr_curso = float(re.findall(r'Média ponderada de seu curso : \d\.\d\d\d\d', text)[0][-6:]) if len(re.findall(r'M”dia Ponderada com reprova“łes: \d\.\d', text)) >= 1: cr = float(re.findall(r'M”dia Ponderada com reprova“łes: \d\.\d', text)[0][-3:]) if len(re.findall(r'M”dia ponderada de seu curso : \d\.\d\d\d\d', text)) >= 1: cr_curso = float(re.findall(r'M”dia ponderada de seu curso : \d\.\d\d\d\d', text)[0][-6:]) curso_aux = text.split("Curso:") if len(curso_aux) > 1: curso_aux2 = curso_aux[1].split(" Quantidade de reingressos: ") if len(curso_aux2) > 1: curso = curso_aux2[0].split(" - ")[1] status = checkKPI(aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso) return aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status
def getUSP_eng(text): aprovacao = 0 reprovacao = 0 semestre = 0 cr = 0 cr_curso = 0 classificacao = "" semestre_inicial = "" curso = "" aprovacao = len(re.findall(r'\d\.\dA\w', text)) trancada = len(re.findall(r'\d\.\dT\w', text)) reprovacao_nota = len(re.findall(r'\d\.\dRN\w', text)) reprovacao_nota_freq = len(re.findall(r'\d\.\dRA\w', text)) reprovaca_freq = len(re.findall(r'\d\.\dRF\w', text)) reprovacao = reprovacao_nota_freq + reprovaca_freq + reprovacao_nota semestre_inicial_aux = text.split(" Semester") if len(semestre_inicial_aux) > 1: semestre_inicial_aux2 = semestre_inicial_aux[0].split("Period: ") if len(semestre_inicial_aux2) > 1: semestre_inicial_aux3 = semestre_inicial_aux2[1].split(" ") if len(semestre_inicial_aux3) > 1: if semestre_inicial_aux3[1] == "First": semestre_mes = "01" else: semestre_mes = "02" semestre_inicial = semestre_inicial_aux3[0] + "-" + semestre_mes if len(re.findall(r'Pondered average including failures: \d\.\d', text)) >= 1: cr = float(re.findall(r'Pondered average including failures: \d\.\d', text)[0][-3:]) if semestre == 0: semestre = len(re.findall(r'Semester', text)) semestre = semestre - len(re.findall(r'Credits attained in the Semester', text)) semestre = semestre - len(re.findall(r'Credits earned by the end of the Semester', text)) curso_aux = text.split("Program Name: ") if len(curso_aux) > 1: curso_aux2 = curso_aux[1].split("_") if len(curso_aux2) > 1: curso = curso_aux2[0].split(" ")[1] status = checkKPI(aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso) return aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status
def getUFRJ_port(text): aprovacao = 0 reprovacao = 0 semestre = 0 cr = 0 cr_curso = 0 classificacao = "" semestre_inicial = "" curso = "" aprovacao = len(re.findall(r'AP\n', text)) reprovacao = len(re.findall(r'RF\n', text)) + len(re.findall(r'RM\n', text)) + len(re.findall(r'RFM\n', text)) semestre_inicial = re.findall(r'\d\d\d\d/\d\n', text)[0] semestre_inicial = semestre_inicial[:4] + "-0" + semestre_inicial[-2] try: curso = text.split("HISTÓRICO NÃO OFICIAL")[1].split("Portaria")[0].split("\n")[2] except: curso = text.split("BOLETIM NÃO OFICIAL")[1].split("Portaria")[0].split("\n")[2] semestre = len(re.findall(r'\d\d\d\d/\d\n', text)) semestre_final = re.findall(r'\d\d\d\d/\d\n', text)[len(re.findall(r'\d\d\d\d/\d\n', text)) - 1] try: aux = text.split("Totais: no período")[len(text.split("Totais: no período")) - 2].split(semestre_final)[1] if(len(re.findall(r'\d\d\.\d\n', aux)) >0 ): cr = re.findall(r'\d\d\.\d\n', aux)[1] else: cr = re.findall(r'\d\.\d\n', aux)[1] except: cr = re.findall(r'\d\.\d\n', text) cr = cr[len(cr) - 1] cr = float(cr) status = checkKPI(aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso) return aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status
def getUNESP_port(text): aprovacao = 0 reprovacao = 0 semestre = 0 cr = 0 cr_curso = 0 classificacao = "" semestre_inicial = "" curso = "" if len(re.findall(r'\dº semestre de \d\d\d\d', text)) >= 1: semestre_inicial = re.findall(r'\dº semestre de \d\d\d\d', text)[0][-4:] + "-0" + \ re.findall(r'\dº semestre de \d\d\d\d', text)[0][0] semestre = len(re.findall(r'semestre', text)) aprovacao = len(re.findall(r'Aprovado', text)) reprovacao = len(re.findall(r'Reprovado', text)) if len(re.findall(r'\n\d\dº de \d\d alunos', text)) >= 1: classificacao = re.findall(r'\n\d\dº de \d\d alunos', text)[0] elif len(re.findall(r'\n\d\dº de \d\d\d alunos', text)) >= 1: classificacao = re.findall(r'\n\d\dº de \d\d\d alunos', text)[0] elif len(re.findall(r'\n\d\d\dº de \d\d\d alunos', text)) >= 1: classificacao = re.findall(r'\n\d\d\dº de \d\d\d alunos', text)[0] elif len(re.findall(r'\n\dº de \d\d alunos', text)) >= 1: classificacao = re.findall(r'\n\dº de \d\d alunos', text)[0] if len(re.findall(r'\d,\d\d\d', text)) > 1: len_cr = len(re.findall(r'\d,\d\d\d', text)) cr = float(re.findall(r'\d,\d\d\d', text)[len_cr - 2].replace(',', '.')) cr_curso = float(re.findall(r'\d,\d\d\d', text)[len_cr - 1].replace(',', '.')) curso_aux = text.split("Curso:") if len(curso_aux) > 1: curso_aux2 = curso_aux[1].split("\n") if len(curso_aux2) > 1: curso = curso_aux2[0] status = checkKPI(aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso) return aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status
def getUFSCAR_port(text): aprovacao = 0 reprovacao = 0 semestre = 0 cr = 0 cr_curso = 0 classificacao = "" semestre_inicial = "" curso = "" if len(re.findall(r'\d\d\d\d/\d\n', text)) > 1: semestre_inicial = re.findall(r'\d\d\d\d/\d\n', text)[1][0:4] + "-0" + re.findall( r'\d\d\d\d/\d\n', text)[0][5] aprovacao = len(re.findall(r'APROVADO', text)) reprovacao = len(re.findall(r'REPROVADO', text)) semestre = max(len(re.findall(r'\d\d\d\d/\d\n', text)) - 3, 0) if len(re.findall(r'Média Geral\nTotal:\d\.\d\d', text)) >= 1: cr = float( re.findall(r'Média Geral\nTotal:\d\.\d\d', text)[0].split(':')[1]) curso_aux = text.split("\n") if len(re.findall(r'\d\d\d\d\d\d - \w', curso_aux[0])) >= 1 and curso_aux[1] != "\n" and not ( curso_aux[1].isupper()) and curso_aux[1] != '': curso = curso_aux[1].replace("Curso: ", "") else: curso_aux = text.split("Ingresso:") if len(curso_aux) > 2: curso = curso_aux[1].split("\n")[2].replace("Curso: ", "") status = checkKPI(aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso) return aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status
def getCEFET_port(text): # Resultado da extração do texto do arquivo de pdf em análise # A partir dos padrões de divulgação de informação nessa string podemos usar # a rotina de re.findall(pattern,string) e obter os valores e quantidades de dados desejados # O documento de histórico da PUCRIO não traz as informações de cr_curso e nem classificação aprovacao = 0 reprovacao = 0 semestre = 0 cr = 0 cr_curso = 0 classificacao = "" semestre_inicial = "" curso = "" # Obtenção do número de aprovações dos alunos # Padrão: Utilização da sigla 'AP' entre espaços aprovacao = len(re.findall(r',\d\d Aprovado\n', text)) trancamento = len(re.findall(r',\d\d Trancamento de Disciplinas\n', text)) # Obtenção do número de aprovações dos alunos # Padrão: Utilização da sigla 'RM' entre espaços reprovacao = len(re.findall(r',\d\d Reprovado\n', text)) + trancamento # Para a obtenção do semestre atual devemos fazer uma contagem do numero de semestres distintos # Na PUCRIO a informação do semestre vem sempre antes da informação da matéria cursada # Buscamos então o padrão de: 5 numeros + espaço + 3 letras + 4 numeros semestres = re.findall(r'\nPeríodo Atual: \dº Semestre', text) if semestres == []: semestres = re.findall(r'\nPeríodo Atual:\n\d\dº Semestre\n', text) semestre = int(semestres[0][-13] + semestres[0][-12]) - 1 else: semestre = int(semestres[0][-11]) - 1 semestre_inicial_list = re.findall(r'\n\dº Semestre de \d\d\d\d\n', text) if len(semestre_inicial_list) > 1: semestre_inicial = semestre_inicial_list[0][ -5:-1] + "-0" + semestre_inicial_list[0][-20] else: semestre_inicial_list = re.findall(r'\n\dº Semes tre de \d\d\d\d\n', text) semestre_inicial = semestre_inicial_list[0][ -5:-1] + "-0" + semestre_inicial_list[0][-21] # Para obtenção do CR pegamos a sequencia padrão do cabeçalho do histórico cr_pattern = re.findall(r'\n\d,\d\d\d\d\n', text) len_cr = len(cr_pattern) if cr_pattern == []: cr = 0 else: cr = float(cr_pattern[len_cr - 1].replace(",", ".")) curso = text.split("CENTRO FED. DE EDUC.") curso = curso[1].split("\n")[1].split(" - ") len_curso = len(curso) curso = curso[len_curso - 1] status = checkKPI(aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso) return aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status
def getPUCRIO_port(text): # O documento de histórico da PUCRIO não traz as informações de cr_curso e nem classificação cr_curso = "" classificacao = "" curso = "" # Resultado da extração do texto do arquivo de pdf em análise # A partir dos padrões de divulgação de informação nessa string podemos usar # a rotina de re.findall(pattern,string) e obter os valores e quantidades de dados desejados # Obtenção do número de aprovações dos alunos # Padrão: Utilização da sigla 'AP' entre espaços aprovacao = len(re.findall(r'\nAP', text)) # Obtenção do número de aprovações dos alunos # Padrão: Utilização da sigla 'RM' entre espaços reprovacao = len(re.findall(r'\nRM', text)) + len(re.findall( r'\nRF', text)) # Para a obtenção do semestre atual devemos fazer uma contagem do numero de semestres distintos # Na PUCRIO a informação do semestre vem sempre antes da informação da matéria cursada # Buscamos então o padrão de: 5 numeros + espaço + 3 letras + 4 numeros semestres = re.findall(r'\n\d\d\d\d\d\n\w\w\w\d\d\d\d', text) if (len(semestres) > 1): lista_semestres = [] # Retirmos apenas os chars nas posiões de 1 a 6 para termos a descrição do semestre for j in semestres: lista_semestres.append(j[1:6]) # Selecionamos apenas os valores distintos output = [] for x in lista_semestres: if x not in output: output.append(x) # Armazenamos a contagem do vetor final na variavel desejada semestre = len(output) if semestre == 0: semestre_inicial = 0 else: # Guardamos a informação do semestre inicial semestre_inicial = output[0] semestre_inicial = output[0][0:4] + "-0" + output[0][-1:] else: semestres = re.findall(r'\n\d\n\d\n\d\n\d\n\d\n\d\n\w\w\w', text) semestres = [float(x.replace('\n', '')[1:6]) for x in semestres] semestre = len(set(semestres)) semestre_inicial = str(min(semestres)) semestre_inicial = semestre_inicial[:4] + "-0" + semestre_inicial[4] # Para obtenção do CR pegamos a sequencia padrão do cabeçalho do histórico cr_pattern = re.findall(r'\n...\n...\n\d\d\d\d\n\d\n\d,\d', text) if cr_pattern == []: cr_pattern = re.findall(r'\n\d\d\d\d\n\d\n\d,\d', text) # Retiramos as informações respectivas nos locais conhecidos da string if cr_pattern != []: # Obtenção do CR. Descontruimos e reconstruimos o numero com ponto pois no documento ele possui vírgulas cr = cr_pattern[0][-3] + "." + cr_pattern[0][-1] cr = float(cr) else: cr_pattern = re.findall(r'\n\d\n\d\n\d\n\d\n\d\n\d\n\d\n', text) if (len(cr_pattern) > 0): cr = float(cr_pattern[0].replace('\n', '')[-2:]) / 10 else: cr = 0 else: # Retiramos as informações respectivas nos locais conhecidos da string # Obtenção do CR. Descontruimos e reconstruimos o numero com ponto pois no documento ele possui vírgulas cr = cr_pattern[0][-3] + "." + cr_pattern[0][-1] cr = float(cr) status = checkKPI(aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso) return aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status
def getHistorico(filename): col_names = [ 'Nome', 'Universidade', 'Aprovacao', 'Reprovacao', 'Semestre', 'CR', 'CR Curso', 'Classificacao', 'Semestre Inicial', 'Curso', 'Status', 'Arquivo' ] df = pd.DataFrame(columns=col_names) file = os.path.basename(filename).split(' - ') nome = file[0] universidade = file[1] if filename.find(" - ") > 0: try: text = getInfoPDFMiner(filename) aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status = getKPI( text) df2 = pd.DataFrame([[ nome, universidade, aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status, os.path.basename(filename) ]], columns=col_names) if (float(df2['Aprovacao']) + float(df2['Reprovacao'])) <= 2: try: text = getInfoPyPDF2(filename) aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status = getKPI( text) df3 = pd.DataFrame([[ nome, universidade, aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status, os.path.basename(filename) ]], columns=col_names) if (float(df3['Aprovacao']) + float(df3['Reprovacao'])) > ( float(df2['Aprovacao']) + float(df2['Reprovacao'])): df2 = df3 except: pass df = df.append(df2) except: try: text = getInfoPyPDF2(filename) aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status = getKPI( text) df3 = pd.DataFrame([[ nome, universidade, aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status, os.path.basename(filename) ]], columns=col_names) df = df.append(df3) except: aprovacao = 0 reprovacao = 0 semestre = 0 cr = 0 cr_curso = 0 classificacao = "" semestre_inicial = "" curso = "" status = checkKPI(aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso) df3 = pd.DataFrame([[ nome, universidade, aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status, os.path.basename(filename) ]], columns=col_names) df = df.append(df3) return (df)
def getUFF_port(text): aprovacao = 0 reprovacao = 0 semestre = 0 cr = 0 cr_curso = 0 classificacao = "" semestre_inicial = "" curso = "" if len(re.findall(r'\dº/\d\d\d\d', text)) >= 1: semestre_inicial = re.findall(r'\dº/\d\d\d\d', text)[1][-4:] + "-0" + \ re.findall(r'\dº/\d\d\d\d', text)[1][0] semestre = len(set(re.findall(r'\dº/\d\d\d\d', text))) try: cr = re.findall(r'COEFICIENTE DE RENDIMENTO:\n\d\.\d\n',text) len_cr = len(cr) cr = cr[len_cr -1][-4:-1] except: cr = text.split("COEFICIENTE DE RENDIMENTO:") cr = cr[len(cr) - 1] cr = re.findall(r'\d\.\d',cr) cr = cr[len(cr)-1] qtd_cr = len(re.findall(r'COEFICIENTE DE RENDIMENTO:',text)) notas = re.findall(r'\d\d\.\d\n', text) len_notas_10 = len(notas) notas.extend(re.findall(r'\d\.\d\n', text)) len_notas_dup = len(notas) try: notas.remove('0.0\n') except: pass if(len(notas) != len_notas_dup - len_notas_10): list_aux = ['0.0\n']*(len_notas_dup - len(notas) - len_notas_10) notas.extend(list_aux) notas = [1 if float(x)>=6 else 0 for x in notas] aprovacao = sum(notas) reprovacao = len(notas) - aprovacao if(float(cr) >=6): aprovacao -= qtd_cr else: reprovacao -= qtd_cr curso_aux = text.split("PORTARIA") if len(curso_aux) > 1: curso_aux2 = curso_aux[1].split("\n") if len(curso_aux2) > 1: curso = curso_aux2[2] cr = float(cr) status = checkKPI(aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso) return aprovacao, reprovacao, semestre, cr, cr_curso, classificacao, semestre_inicial, curso, status