-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcomando_ver_conversa_IMP.py
61 lines (46 loc) · 1.77 KB
/
comando_ver_conversa_IMP.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import html_pag_ver_conversa
import html_pag_mensagem_de_erro
import obj_sessao
import obj_video
import obj_comentario
import obj_video
def processa(ses, cmd_args):
assert ses == None or isinstance(ses, obj_sessao.Classe)
assert isinstance(cmd_args, dict)
erros = []
# Obtém o identificador do vídeo ou comentário a ver:
vid_id = cmd_args.pop('video', None)
com_id = cmd_args.pop('comentario', None)
max_coms = cmd_args.pop('max_coms', 100)
max_nivels = cmd_args.pop('max_nivels', 100)
if vid_id == None and com_id == None:
erros.append("O identificador do video ou comentário raiz não foi especificado")
elif vid_id != None and com_id != None:
erros.append("Apenas uma raiz deve ser especificada 'video' ou 'comentario'")
if len(erros) == 0:
if vid_id != None:
vid = obj_video.obtem_objeto(vid_id)
if vid == None:
erros.append(f"O vídeo \"{vid_id}\" não existe")
else:
titulo = f"Comentários do vídeo {vid_id}"
raizes = obj_comentario.busca_por_video(vid_id, {False})
elif com_id != None:
com = obj_comentario.obtem_objeto(com_id)
if com == None:
erros.append(f"O comentario \"{com_id}\" não existe")
else:
raizes = obj_comentario.busca_por_campo('pai', com)
if len(raizes) > 0:
titulo = f"Respostas ao comentário {com_id}"
else:
titulo = f"Não há respostas ao comentário {com_id}"
else:
# Não deveria passar aqui:
assert False
if len(erros) == 0:
flor = obj_comentario.obtem_conversa(raizes, max_coms, max_nivels)
pag = html_pag_ver_conversa.gera(ses, titulo, flor, erros)
else:
pag = html_pag_mensagem_de_erro.gera(ses, erros)
return pag