def get_moodle(user): session = get_session(user.sapu_username, user.sapu_password) historico = session.get("https://sapu.ucpel.edu.br/engine.php?class=LoginMoodle&method=index", headers=headers(), proxies=proxies()) soup = BeautifulSoup(historico.content, 'html.parser') if not str(soup.find('script').get_text().lstrip()).split("'")[1] == "Erro": index = soup.find('script') return messages.formata_moodle(str(index.get_text().lstrip()).split("'")[1]) else: msg = messages.perfil_errado(user.first_name) return msg
def get_boleto(user): session = get_session(user.sapu_username, user.sapu_password) boleto = session.get("https://sapu.ucpel.edu.br/engine.php?class=EmitirBoletoFormList", headers=headers(), proxies=proxies()) soup = BeautifulSoup(boleto.content, 'html.parser') if not str(soup.find('script').get_text().lstrip()).split("'")[1] == "Erro": try: index = soup.find(class_='tdatagrid_body').find_all('td')[1].find('a') url = util.find_between(str(index), "href=\"", "\">") boleto = session.get("https://sapu.ucpel.edu.br/engine.php?class=EmitirBoletoFormList&method=onBoleto&target=1&key={}".format(url.split("key=")[1]), headers=headers(), proxies=proxies()) soup = BeautifulSoup(boleto.content, 'html.parser') index = soup.find_all(language="JavaScript") return str(index[2].get_text().lstrip()).split("'")[1], True except: return "Você não possui boletos em aberto", False else: msg = messages.perfil_errado(user.first_name) return msg, False
def get_curriculo(user): session = get_session(user.sapu_username, user.sapu_password) curriculo = session.get("https://sapu.ucpel.edu.br/engine.php?class=MatrizCurricularFormList", headers=headers(), proxies=proxies()) soup = BeautifulSoup(curriculo.content, 'html.parser') if not str(soup.find('script').get_text().lstrip()).split("'")[1] == "Erro": tdatagrid_body = soup.find(class_='tdatagrid_body') semestres = [] msg = "<b>Matriz Curricular</b>" for index in tdatagrid_body.find_all(class_='tdatagrid_group'): semestres.append([index.get_text().lstrip()[:-1], util.find_between(str(index), 'level="', '">')]) for semestre, i in semestres: msg += "\n\n<b>{}</b>".format(str(semestre).capitalize()) for index in tdatagrid_body.find_all(childof=i): materia, ch, link = util.formata_curriculo(index, session) msg += messages.formata_curriculo(materia, ch, link) else: msg = messages.perfil_errado(user.first_name) return msg
def get_emails(user, args): session = get_session(user.sapu_username, user.sapu_password) historico = session.get("https://sapu.ucpel.edu.br/engine.php?class=MensagemForm&method=inbox", headers=headers(), proxies=proxies()) soup = BeautifulSoup(historico.content, 'html.parser') if not str(soup.find('script').get_text().lstrip()).split("'")[1] == "Erro": table = [] td = [] count = 0 for index in soup.find('table').find_all('td'): if index.get_text().lstrip(): td.append(index.get_text().lstrip()) count += 1 if count > 2: table.append(td) count = 0 td = [] msg = util.formata_email(table, args) else: msg = messages.perfil_errado(user.first_name) return msg
def get_horarios(user): session = get_session(user.sapu_username, user.sapu_password) horarios = session.get("https://sapu.ucpel.edu.br/engine.php?class=HorarioFormList", headers=headers(), proxies=proxies()) soup = BeautifulSoup(horarios.content, 'html.parser') if not str(soup.find('script').get_text().lstrip()).split("'")[1] == "Erro": tdatagrid_body = soup.find(class_='tdatagrid_body') dias = [] msg = "<b>Horários</b>" for index in tdatagrid_body.find_all(class_='tdatagrid_group'): dias.append([index.get_text().lstrip()[:-1], util.find_between(str(index), 'level="', '">')]) for dia, i in dias: msg += "\n\n<b>{}</b>".format(str(dia).capitalize()) for index in tdatagrid_body.find_all(childof=i): materia, inicio, fim, predio, sala = util.formata_horarios(index) msg += messages.formata_horario(materia, inicio, fim, predio, sala) if not dias: msg = messages.horarios_empty(user.first_name) else: msg = messages.perfil_errado(user.first_name) return msg
def get_disciplinas(user): session = get_session(user.sapu_username, user.sapu_password) disciplinas = session.get("https://sapu.ucpel.edu.br/engine.php?class=MatriculaFormList", headers=headers(), proxies=proxies()) soup = BeautifulSoup(disciplinas.content, 'html.parser') if not str(soup.find('script').get_text().lstrip()).split("'")[1] == "Erro": tdatagrid_body = soup.find(class_='tdatagrid_body') table = [] td = [] count = 0 for index in tdatagrid_body.find_all('td'): td.append(index.get_text().lstrip()) count += 1 if count == 5: table.append(td) td = [] count = 0 msg = util.formata_disciplinas(table) if not table: msg = messages.disciplinas_empty(user.first_name) else: msg = messages.perfil_errado(user.first_name) return msg