Como Inserir Posts de Blogs no Scribus Automaticamente

Há tempos estou pensando sobre um sistema editorial que auxilie a produção de jornais pequenos, usando um CMS para gerar conteúdo a ser editado e diagramado.

Mas eu estava pensando de forma complicada demais, imaginando uma interface com banco de dados e outras misturas exotéricas.

Na verdade, tudo é relativamente fácil graças aos padrões. Especificamente, graças ao padrão XML-RPC. E a APIs implementadas em blogs, como a do WordPress?.

Assim, basta usar o módulo Python xmlrpclib para recuperar as informações de um post a partir de seu número ID. Como no trecho de código abaixo, que busca as tags, o título de um post, o nome do autor, o sumário e o restante do post, e os insere num quadro de texto previamente selecionado (pode ser usado no console Python do Scribus):

import xmlrpclib
site = "http://seu-site.com.br"
server = xmlrpclib.ServerProxy( site+"/xmlrpc.php" )
loginname = loginname
password = senha
post-id = 746  # ID do post desejado
post = server.metaWeblog.getPost (post-id, loginname, password)
scribus.insertText( ', '.join(post['categories'])+'\n',0)
scribus.insertText( post['title']+'\n',-1)
scribus.insertText( post['wp_author_display_name']+'\n',-1)
scribus.insertText( post['description']+'\n',-1)
Agora, meu trabalho fica muito mais fácil.

Mas ainda faltam coisas a resolver:

  1. Formatar e limpar estilos HTML (negritos, itálicos, subscritos etc) dentro do Scribus, substituindo <strong>,<em> etc.
  2. Filtrar a foto e a legenda e baixar a foto.
  3. Fazer uma interface melhor para escolher matérias para diagramar. O Scripter do Scribus é de uma pobreza só, em matéria de User Interface.

Bibliografia:

  1. WordPress? API support
  2. MovebleType? API
  3. Google Data Protocol Refeference
  4. MetaBlog? API

-- JoseAntonioMeiraDaRocha - 16 Jan 2010

Revisão 2 - 28 Jan 2010 - por AurelioAHeckert Editar Anexar Registrar-se