import sessao
import usuario
import html_cabecalho
import html_menu_geral
import html_rodape
import html_bloco_de_erro
import re
def gera(ses, html_conteudo, erros):
# Cabeçalho das páginas:
html_cabe = html_cabecalho.gera("Site de compras: Projeto MC857A 2020-1", True)
# Menu geral no alto da página:
logado = (ses != None)
if logado:
usr = sessao.obtem_usuario(ses)
nome_usuario = usuario.obtem_atributos(usr)['nome']
admin = usuario.obtem_atributos(usr)['administrador']
else:
nome_usuario = None
admin = False
html_menu = html_menu_geral.gera(logado, nome_usuario, admin)
# Mensagens de erro:
if erros == None:
erros = []
elif type(erros) == str:
# Split lines, create a list:
erros = re.split('[\n]', erros)
assert type(erros) is list
# Cleanup the messages:
erros = [ er.strip() for er in erros ]
erros = [ er for er in erros if len(er) > 0 ]
if len(erros) != 0:
erros = "
\n" + "
\n".join(erros)
html_erros = html_bloco_de_erro.gera(erros) + "\n"
else:
html_erros = ""
# Rodapé da página:
html_roda = html_rodape.gera()
# Monta a página:
pagina = \
html_cabe + "
\n" + \
html_menu + "
\n" + \
html_erros + "
\n" + \
html_conteudo + "
\n" + \
html_roda
return pagina