-
Notifications
You must be signed in to change notification settings - Fork 2
/
comando_buscar_comentarios_de_video_IMP.py
56 lines (48 loc) · 1.68 KB
/
comando_buscar_comentarios_de_video_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
import html_bloco_titulo
import html_pag_generica
import html_bloco_lista_de_comentarios
import html_pag_mensagem_de_erro
import obj_comentario
import obj_sessao
import obj_video
import obj_usuario
def processa(ses, cmd_args):
# Validação de tipos (paranóia):
assert ses == None or isinstance(ses, obj_sessao.Classe)
assert cmd_args != None and type(cmd_args) is dict
ses_dono = obj_sessao.obtem_dono(ses);
para_admin = obj_usuario.eh_administrador(ses_dono)
erros = []
# Obtém o vídeo {vid} em questão e seu identificador {vid_id}:
vid_id = cmd_args.pop('video', None)
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:
erros.append("O vídeo a buscar não foi especificado")
vid = None
ht_bloco = None
if len(erros) == 0:
assert vid != None
com_ids = obj_comentario.busca_por_video(vid_id, sem_pai = True)
if len(com_ids) == 0:
erros.append(f"O vídeo {vid_id} não tem nenhum comentário")
else:
ht_titulo = html_bloco_titulo.gera(f"Comentários do video {vid_id}")
ht_tabela = html_bloco_lista_de_comentarios.gera \
( com_ids,
para_admin,
mostra_autor = True, # Podem ter autores diferentes.
mostra_video = False, # São todos do mesmo vídeo.
mostra_pai = True, # Podem ter pais diferentes.
mostra_nota = True, # Porque não mostraria?
)
ht_bloco = \
ht_titulo + "<br/>\n" + \
ht_tabela
if ht_bloco == None:
pag = html_pag_mensagem_de_erro.gera(ses, erros)
else:
pag = html_pag_generica.gera(ses, ht_bloco, erros)
return pag