Utilizador:Giro720/Scripts: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Giro720 (discussão | contribs)
Sem resumo de edição
→‎source_prosa.py: parece não ser mais necessário o truque da dança das codificações; alterando o que acabei de usar
Linha 257:
==source_prosa.py==
<source lang="python">
# -*- coding: latinutf-18 -*-
"""
Programa gera cabeçalhos para os textos em um arquivo em codificação utf-8, para ser exportado
com auxilio do pagefromfile.py; cria ainda uma lista de índice correspondente ao artigo principal
da obra que deve ser exportada manualmente.
 
Arquivo de entrada: '_entrada.txt'
Arquivos de saída: 'lista.txt', 'dic.txt'
 
Marcação de início de capítulo: '*'
Marcação de início de divisão: '@'
Linha 271:
Autor
Obra
 
@Primeira Parte
*I: A noite
 
texto...
"""
 
from num_romano import num_romano
 
def gera_cabecalho(inicio, fim, div):
cap = 0
for j in range(inicio, fim):
frase = unicode(texto[j], 'latinutf-18').encode('utf-8')
if frase[0] == '@':
titulo_div_utf = frase[1:len(frase)-1]
titulo_div = unicode(titulo_div_utf, 'utf-8').encode('latinutf-18')
titulo_div_secao_utf = titulo_div_utf + ":"
div += 1
Linha 296:
cap += 1
capitulo_utf = frase[1:len(frase)-1]
capitulo = unicode(capitulo_utf, 'utf-8').encode('latinutf-18')
if div:
lista.write("* [[%s/%s/%s|Capítulo %s]]\n" % (obra, num_romano(div), num_romano(cap), capitulo ) )
Linha 304:
"|obra=[[%s]]\n"
"|autor=%s\n"
"|seçãoseção=%s CapítuloCapítulo %s\n"
"|anterior=[[%s/%s/%s|%s CapítuloCapítulo %s]]\n"
"|posterior=[[%s/%s/%s|%s CapítuloCapítulo %s]]\n"
"|notas=%s\n}}\n" % (
obra_utf, num_romano(div), num_romano(cap),
Linha 319:
"|obra=[[%s]]\n"
"|autor=%s\n"
"|seçãoseção=%s CapítuloCapítulo %s\n"
"|anterior=\n"
"|posterior=[[%s/%s/%s|%s CapítuloCapítulo %s]]\n"
"|notas=%s\n}}\n" % (
obra_utf, num_romano(div), num_romano(cap),
Linha 329:
notas_utf) )
else:
saida.write("[[Categoria:%s|%s, CapítuloCapítulo %02d]]\n{{-stop-}}\n\n" % (obra_utf, titulo_div_utf, cap-1) )
if cap == cap_atual and div != div_lista[0]:
saida.write("{{-start-}}\n{{subst:void|'''%s/%s/%s'''}}"
Linha 335:
"|obra=[[%s]]\n"
"|autor=%s\n"
"|seçãoseção=%s CapítuloCapítulo %s\n"
"|anterior=[[%s/%s/%s|%s CapítuloCapítulo %s]]\n"
"|posterior=[[%s/%s/%s|%s CapítuloCapítulo %s]]\n"
"|notas=%s\n}}\n" % (
obra_utf, num_romano(div), num_romano(cap),
Linha 350:
"|obra=[[%s]]\n"
"|autor=%s\n"
"|seçãoseção=%s CapítuloCapítulo %s\n"
"|anterior=[[%s/%s/%s|%s CapítuloCapítulo %s]]\n"
"|posterior=\n"
"|notas=%s\n}}\n" % (
Linha 364:
"|obra=[[%s]]\n"
"|autor=%s\n"
"|seçãoseção=%s CapítuloCapítulo %s\n"
"|anterior=[[%s/%s/%s|%s CapítuloCapítulo %s]]\n"
"|posterior=[[%s/%s/%s|%s CapítuloCapítulo %s]]\n"
"|notas=%s\n}}\n" % (
obra_utf, num_romano(div), num_romano(cap),
Linha 381:
"|obra=[[%s]]\n"
"|autor=%s\n"
"|seçãoseção=CapítuloCapítulo %s\n"
"|anterior=\n"
"|posterior=[[%s/%s|CapítuloCapítulo %s]]\n"
"|notas=%s\n}}\n" % (
obra_utf, num_romano(cap),
Linha 391:
notas_utf) )
else:
saida.write("[[Categoria:%s|CapítuloCapítulo %02d]]\n{{-stop-}}\n\n" % (obra_utf, cap-1) )
if cap == cap_atual:
saida.write("{{-start-}}\n{{subst:void|'''%s/%s'''}}"
Linha 397:
"|obra=[[%s]]\n"
"|autor=%s\n"
"|seçãoseção=CapítuloCapítulo %s\n"
"|anterior=[[%s/%s|CapítuloCapítulo %s]]\n"
"|posterior=\n"
"|notas=%s\n}}\n" % (
Linha 411:
"|obra=[[%s]]\n"
"|autor=%s\n"
"|seçãoseção=CapítuloCapítulo %s\n"
"|anterior=[[%s/%s|CapítuloCapítulo %s]]\n"
"|posterior=[[%s/%s|CapítuloCapítulo %s]]\n"
"|notas=%s\n}}\n" % (
obra_utf, num_romano(cap),
Linha 424:
saida.write(frase)
if div:
saida.write("[[Categoria:%s|%s CapítuloCapítulo %02d]]\n{{-stop-}}\n\n" % (obra_utf, titulo_div_secao_utf, cap))
elif cap:
saida.write("[[Categoria:%s|CapítuloCapítulo %02d]]\n{{-stop-}}\n\n" % (obra_utf, cap))
 
entrada = open('_entrada.txt', 'r')
lista = open('lista.txt', 'w')
saida = open('dict.txt', 'w')
 
texto = entrada.readlines()
 
autor = texto[0].strip()
obra = texto[1].strip()
notas = texto[2].strip()
 
autor_utf = unicode(autor, 'latinutf-18').encode('utf-8')
obra_utf = unicode(obra, 'latinutf-18').encode('utf-8')
notas_utf = unicode(notas, 'latinutf-18').encode('utf-8')
titulo_div_secao_utf = ""
 
lista.write("{{navegar\n"
"|obra=%s\n"
Linha 449:
"{{wikipédia|%s}}\n"
"{{versão para impressão disponível}}\n" % (obra, autor, notas, obra) )
 
#Gera arquivo com cabeçalho
 
div_lista = [0]
cap_anterior = 0 # Número do último capítulo do tomo anterior
cap_atual = 0 # Número do último capítulo do tomo atual
 
inicio = 3
for i in range(3, len(texto)):
frase = unicode(texto[i], 'latinutf-18').encode('utf-8')
if frase[0] == '@':
div_lista[0] += 1
Linha 474:
else:
gera_cabecalho(inicio, len(texto), div_lista[0])
lista.write("\n[[Categoria: ]]\n"
"[[Categoria:%s]]\n"
Linha 481:
"[[Categoria: ]]\n" % (
autor, obra) )
 
entrada.close()
lista.close()
 
lista = open('lista.txt', 'r')
texto=lista.readlines()
 
# Gera arquivo para impressão
 
saida.write("{{-start-}}\n{{subst:void|'''Anexo:Imprimir/%s'''}}{{VersãoVersão para impressãoimpressão|%s}}\n"
"{{navegar\n"
"|obra=[[%s]]\n"
"|autor=%s\n"
"|notas=%s\n}}\n"
"==Ã͍ndice==\n" % (
obra_utf,
obra_utf, obra_utf, autor_utf, notas_utf) )
 
for i in range(7, len(texto)):
frase = texto[i]
if frase[0] == '*' or frase[0] == '=':
saida.write("%s" % unicode(frase, 'latinutf-18').encode('utf-8') )
 
for i in range(7, len(texto)):
frase = texto[i]
if frase[0] == '*':
saida.write("{{quebra de páginapágina}}\n"
"{{:%s}}\n" % unicode(frase[4:len(frase)-3], 'latinutf-18').encode('utf-8') )
 
saida.write("{{quebra de páginapágina}}\n"
"{{GFDL-print}}\n{{-stop-}}" )
lista.close()