from libx import * def conta_tudo(ano_sem,por_professores,por_turmas,alfaberito,desconsiderar,ip1,porta1,user1,senha1,db1): if ip1 =="localhost": link1 = f"mongodb://{ip1}:{str(porta1)}/?readPreference=primary" else: link1 = f"mongodb://{user1}:{senha1}@{ip1}:{porta1}/?authSource=admin&readPreference=primary&ssl=false" db_origem = MongoClient(link1).get_database(db1) db_marcas = db_origem.get_collection("marcas") db_comentarios = db_origem.get_collection("comentarios") cm = 0 cc = 0 contator = {} cp = 0 lista_turma = {} for m in db_marcas.find({"ano_sem":ano_sem}): turma = m["curso"]+" "+m["semestre"]+" "+m["turno"] if not turma in lista_turma: lista_turma[turma] = [m["professor"]] else: if not m["professor"] in lista_turma[turma]: lista_turma[turma].append(m["professor"]) if not m["professor"] in desconsiderar: cm +=1 if m["professor"] in contator: contator[m["professor"]]["marcas"] +=1 else: contator[m["professor"]] = {"marcas":1,"comentarios":0} for m in db_comentarios.find({"ano_sem":ano_sem}): if not m["professor"] in desconsiderar: cc +=1 if m["professor"] in contator: contator[m["professor"]]["comentarios"] +=1 else: contator[m["professor"]] = {"marcas":0,"comentarios":1} if por_turmas: print("\n\n\n","_"*40,"|",ano_sem,"|","_"*40) lto = [] for p in lista_turma: lto.append(p) if alfaberito: lto.sort() for t in lto: n = 0 print("\n\t\t",t,"\n") lista_turma[t].sort() for p in lista_turma[t]: n += 1 print("\t\t\t\t",n,"\t",p) if por_professores: print("\n\n\n","_"*40,"|",ano_sem,"|","_"*40) print("") print("\t","NÂș","\t","PROFESSOR", " "*(50-len("professor")),"MARCAS","\t","COMENTARIOS") print("") po = [] for p in contator: po.append(p) if alfaberito: po.sort() for p in po: cp+=1 print("\t",cp,"\t",p, " "*(50-len(p)),contator[p]["marcas"],"\t",contator[p]["comentarios"]) print("") print("\t"," ","\t", " "*(50-len("TOTAL ")),"TOTAL ",cm,"\t",cc) print("\n\n") while True: conta_tudo("2021-2",True,True,True,["Tania Fujii","Lia Daniel","Ivan Herrmann","Ana Carolina Bezerra dos Santos","Letricia Pereira Soares Avalhais","Giseli Klauck"],"0.0.0.0",2323,"USUARIO","SENHA","connect") time.sleep(60)