Utilizador:Giro720/Scripts: diferenças entre revisões
Conteúdo apagado Conteúdo adicionado
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:
"""
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], '
if frase[0] == '@':
titulo_div_utf = frase[1:len(frase)-1]
titulo_div = unicode(titulo_div_utf, 'utf-8').encode('
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('
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"
"|
"|anterior=[[%s/%s/%s|%s
"|posterior=[[%s/%s/%s|%s
"|notas=%s\n}}\n" % (
obra_utf, num_romano(div), num_romano(cap),
Linha 319:
"|obra=[[%s]]\n"
"|autor=%s\n"
"|
"|anterior=\n"
"|posterior=[[%s/%s/%s|%s
"|notas=%s\n}}\n" % (
obra_utf, num_romano(div), num_romano(cap),
Linha 329:
notas_utf) )
else:
saida.write("[[Categoria:%s|%s,
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"
"|
"|anterior=[[%s/%s/%s|%s
"|posterior=[[%s/%s/%s|%s
"|notas=%s\n}}\n" % (
obra_utf, num_romano(div), num_romano(cap),
Linha 350:
"|obra=[[%s]]\n"
"|autor=%s\n"
"|
"|anterior=[[%s/%s/%s|%s
"|posterior=\n"
"|notas=%s\n}}\n" % (
Linha 364:
"|obra=[[%s]]\n"
"|autor=%s\n"
"|
"|anterior=[[%s/%s/%s|%s
"|posterior=[[%s/%s/%s|%s
"|notas=%s\n}}\n" % (
obra_utf, num_romano(div), num_romano(cap),
Linha 381:
"|obra=[[%s]]\n"
"|autor=%s\n"
"|
"|anterior=\n"
"|posterior=[[%s/%s|
"|notas=%s\n}}\n" % (
obra_utf, num_romano(cap),
Linha 391:
notas_utf) )
else:
saida.write("[[Categoria:%s|
if cap == cap_atual:
saida.write("{{-start-}}\n{{subst:void|'''%s/%s'''}}"
Linha 397:
"|obra=[[%s]]\n"
"|autor=%s\n"
"|
"|anterior=[[%s/%s|
"|posterior=\n"
"|notas=%s\n}}\n" % (
Linha 411:
"|obra=[[%s]]\n"
"|autor=%s\n"
"|
"|anterior=[[%s/%s|
"|posterior=[[%s/%s|
"|notas=%s\n}}\n" % (
obra_utf, num_romano(cap),
Linha 424:
saida.write(frase)
if div:
saida.write("[[Categoria:%s|%s
elif cap:
saida.write("[[Categoria:%s|
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, '
obra_utf = unicode(obra, '
notas_utf = unicode(notas, '
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], '
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'''}}{{
"{{navegar\n"
"|obra=[[%s]]\n"
"|autor=%s\n"
"|notas=%s\n}}\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, '
for i in range(7, len(texto)):
frase = texto[i]
if frase[0] == '*':
saida.write("{{quebra de
"{{:%s}}\n" % unicode(frase[4:len(frase)-3], '
saida.write("{{quebra de
"{{GFDL-print}}\n{{-stop-}}" )
lista.close()
|