[plonegov-br] Importar notícias de site Plone

Luiz Geraldo Silva Braz luiz.lgsb em dpf.gov.br
Quinta Abril 16 20:03:09 BRT 2015


Oi Robério,

não sei se você resolveu esse assunto mas um jeito de exportar 3
notícias está mostrado no exemplo abaixo.
Enquanto não temos um repositório de nosso código na Internet vai assim
mesmo.
Se te interessar o resto, depois posso dar um jeito de te passar.

Luiz


> Oi Pessoal,
>
> É possível copiar (importar) todas as notícias de um site para outro?
>
> abs,
>--
>Robério

# -*- coding: utf-8 -*-

import json

from Acquisition import aq_inner

from Products.Five.browser import BrowserView
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
from Products.CMFCore.utils import getToolByName


class GetLastNewsView(BrowserView):

    """ Get last news BrowserView """

    index = ViewPageTemplateFile('templates/getlastnews_view.pt')

    def __call__(self):
        self.context = aq_inner(self.context)
        return self.render()

    @property
    def portal(self):
        return getToolByName(self.context, 'portal_url').getPortalObject()

    @property
    def brains(self):
        path_ = '/'.join(self.portal.getPhysicalPath())
        path = "%s/noticias" % path_
        catalog = getToolByName(self.context, 'portal_catalog')
        query = {
            'path': {'query': path, 'depth': 99},
            'portal_type': ['acao', 'aviso', 'nota', 'operacao'],
            'sort_on': 'effective',
            'sort_order': 'descending',
            'sort_limit': 3,
        }
        results = catalog(**query)[:3]
        return results

    def get_news(self):
        results = []
        for brain in self.brains:
            results.append({
                'title': brain.Title,
                'description': brain.Description,
                'url': brain.getURL(),
                'image_url': '%s/image_thumb' % brain.getURL()
            })
        return results

    def render(self):
        self.request.response.setHeader("Content-type", "application/json")
        self.news = json.dumps(self.get_news())
        return self.index()

-- 
-----------------------
Luiz Geraldo Silva Braz
PERITO CRIMINAL FEDERAL
MJ - Departamento de Polícia Federal
Coordenação Geral de Tecnologia da Informação
SPO - Lote 7 - Setores Complementares
Edifício CGTI - CEP: 70.610-902
VoIP PF: X 6100 9455 (http://intranet.dpf.gov.br/institucional/voip/) 
Fone/Fax: (61) 2024-9455
Cel.: (61) 8286-7589 
e-mail: luiz.lgsb em dpf.gov.br
----------------------------------------------------------------------------------------------------------
Entenda o que é Software Livre:
http://www.gnu.org/philosophy/free-sw.pt-br.html


-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: luiz_lgsb.vcf
Tipo: text/x-vcard
Tamanho: 162 bytes
Descrição: não disponível
URL: <http://listas.interlegis.gov.br/pipermail/plonegov-br/attachments/20150416/45205e42/attachment.vcf>


Mais detalhes sobre a lista de discussão PloneGov-BR