Sistema editorial com Scribus+Python+MySQL

Quero pegar meus artigos de blogs internet e publicar em papel. Ou, mais pretenciosamente ainda, quero um completo sistema editorial para jornais e revistas. Que permita à redação trabalhar num CMS e pegue o material automaticamente para montar as páginas. Em código aberto como uma latinha de cerveja gelada…

Pois hoje, 2007, é possível o casamento entre um Content Management System (CMS) como WordPress e um Desktop Publisher como Scribus, através de linguagem Python e banco de dados MySQL.

O programa open source de editoração Scribus tem um módulo de linguagem script, ou seja, permite que o usuário crie e rede programas dentro do Scribus que operam elementos de páginas de jornal. A linguagem script do Scribus é Python, uma das mais usadas e poderosas linguagens-cola, atualmente.

Com muitos usuários e desenvolvedores, Python tem módulos prontos para fazer tudo o que se imagina. Por exemplo, módulos para acesso a banco de dados MySQL.

Para ter meu sistema Scribus+Python funcionando legal para um sistema editorial, eu precisava aprender a procurar e instalar novos módulos. Fiz isso, então:

  1. Baixei e instalei o Scribus.
  2. Baixei os arquivos do MySQLdb, o módulos Python 2.4 para acessar MySQL.
  3. Descomprimi dentro desta pasta do Scribus: \lib\site-packages\.
  4. Pronto. Reiniciei o Scribus para acessar banco de dados do WordPress ou de qualquer outro gerenciador de conteúdo ou blog.

Eu preciso também de módulos para o Python operar imagens, fotos etc. Procurei um módulo de manipulaçã de imagem e achei o PIL, Python Imaging Library. Baixei uma versão indicada para o interpretrador Python 2.4 do Scribus 1.3.3. Abri o executável zipado e extraí os arquivos para os diretórios \lib\site-packages e \scripts, dentro do diretório do Scribus.

O arranjo ainda esta sendo testado. Mas, dando certo, permitiria que scripts automatizados diagramassem grosseiramente as páginas de jornais. Todo o trabalho chato será feito por scripts. Depois, os diagramadores fariam pequenos ou grandes ajustes nas páginas.

Carregando o módulo para acessar MySQL

Se as instalações estivessem corretas, seria possível controlar o banco de dados pelo console do Scriper Scribus, que nada mais é do que um console Python. Abri o console pelo menu “Script > Mostrar console”. Digitei o código:

Import MySQLdb

E usei a tecla F9 pra rodar este pedaço de programa. Quando tudo deu certo, não há mensagem de erro, apenas não acontece nada na tela de retorno do console. O que indica que foram carregadas sem problemas as bibliotecas para o Python acessar o MySQL.

Usando o MySQLdb

Eu tenho um servidor WAMP rodando com um “espelho” do meu site WordPress. Portanto, tenho um banco de dados MySQL com a cópia do conteúdo de meu site WordPress. Eu posso acessar esse banco de dados e editá-lo pelo OpenOffice Base. Ou posso acessar pelo Scribus e usar o texto para diagramar o jornal de papel. Isso é feito através da linguagem script do Scribus. Um exemplo de script assim vem no próprio Scribus, no arquivo \share\samples\sample_db_usage.py .

Uso código Python como este:

db=MySQLdb.connect(host="localhost", user="root", passwd="********", db="wordpress_database")
cursor=db.cursor()
cursor.execute("select * from wp_posts")# Pega o total de linhas da tabela
numrows = int(cursor.rowcount)
# Pega e mostra uma linha por vez
for x in range(0,numrows):
  row = cursor.fetchone()
  print row[0], "-->", row[1]

Isto imprimiu duas colunas de números no console. Não serviu para nada, apenas para eu confirmar que funciona a conexão Scribus-MySQL.

Então, tive a comprovação que um script Scribus pode acessar um banco de dados MySQL e pegar material, textos, links de imagens, e montar páginas “sozinho”! Pode até gerar o PDF.

Agora, todo um mundo novo à frente!

Eu já imagino um sistema editorial montado em um CMS que já é o próprio site do veículo. O diagramador faz uma consulta no Scribus, e o script puxa as matérias e entrega pré-diagramadas. Cada página é montada on the fly apenas para visualização ou é montada definitivamente, depois que esgotou o prazo de fechamento.

O departamento comercial de um veículo pode usar um blog para recepção de anúncios destacados e classificados. Scripts da diagramação lêem as informações de anúncios diretamente do banco de dados do comercial. Tudo em tempo real.

[Atualização 2012-08-29: Não tive tempo para desenolver isto, mas ha projetos em   http://www.mediabistro.com/10000words/how-to-run-a-news-site-and-newspaper-using-wordpress-and-google-docs_b4781]

Bibliografia

  1. Python Database modules.
  2. Database Programming in Python: Accessing MySQL
José Antonio Meira da Rocha

Jornalista, professor das áreas de Editoração e de Mídias Digitais na Universidade Federal de Santa Maria, campus cidade de Frederico Westphalen, Rio Grande do Sul, Brasil. Doutor em Design pelo Programa de Pós-Graduação em Design (PGDesign)/Universidade Federal do Rio Grande do Sul (UFRGS), Porto Alegre, Brasil, 2023. Mestre em Mídias pela UNISINOS, São Leopoldo, RS, Brasil, 2003. Especialista em Informática na Educação, Unisinos, 1976.

View Comments

  • a ideia é excelente ! E mais excelente ainda se funcionasse.
    Como correram os testes ?
    Conseguiu fazer alguma automação.
    Para quem nao percebe nada programaçao mas lida com dados e sites era excelente se desse mais informaçoes sobre este assunto.
    Obrigado pela ideia e pelas dicas...

    • Olá, Eli!
      Estou preparando um projeto de doutorado em cima desta ideia. Se der certo, em quatro anos poderei publicar o sistema. Em vez de acessar diretamente o MySQL, tentarei usar a API de um CMS como WordPress ou Blogger.

Recent Posts

Sempre faça um fotão

Colheita de soja. Foto: Wenderson Araujo/Trilux Fotógrafos de mídias rurais já perderam a conta das…

1 year ago

A corrupção dos tolos

João Batista MezzomoAuditor fiscal O que está por trás de tudo o que está acontecendo…

4 years ago

Naomi who? Naomi Wu!

A.k.a. "SexyCyborg". A mulher do século 21. Naomi Wu testa seu iluminador de implantes na…

5 years ago

Raspagem de dados

A principal ferramenta do jornalista de dados é a planilha, tipo LibreOffice Calc, M.S. Excel…

5 years ago

Que estratégia político-terapêutica pára um governo deliroide?

Rita Almeida, 9 de março de 2019 Psicóloga Rita Almeida: não delirantes, mas deliroides. Não…

6 years ago

Sua tia não é fascista, ela está sendo manipulada

Rafael Azzi5 de outubro de 2018 Você se pergunta como um candidato com tão poucas…

6 years ago