Пример #1
0
    def _action(self, id_treeapp, schema, id_conteudo, link,
                      add=None, edit=None, delete=None, dados={}):
        """
        """
        if not link:
            return
        portal = Portal(id_site=self.id_site,
                        request=self.request)
        link = "/".join( link.split("/")[:-1] )
        
        src = portal._readFile(path="htmls/%s/index.xml" % link)
        if src:
            
            fd = open("%s%s,%s,%s.xml" % (self.dados["path"],
                                         schema,
                                         self.id_site,
                                         id_conteudo), "w")
            
            soup = BeautifulSoup(src,
                                 fromEncoding=settings.GLOBAL_ENCODING)

            for item in soup.findAll("rdf:description"):
                if add:
                    site = getDadosSite(id_site=self.id_site,
                            request=self.request)
                    base = site["base_html"]
                    tit = portal._getConteudoSite(env_site=self.id_site,
                                                  id_conteudo=id_conteudo, 
                                                  schema=schema)['url']
                    item.__setitem__("rdf:about", base+tit)
                ## push para alertar usuário de uma notícia importante
                ## Neste metodo sempre envia false
                tag = Tag(soup, "dc:push", [])
                tag['rdf:enviar'] = 'false'
                item.insert(0, tag)


                if add:
                    status = "added"
                elif edit:
                    status = "edited"
                elif delete:
                    status = "deleted"
                else:
                    status = "added"
                tag = Tag(soup, "dc:status", [])
                tag.insert(0, status)
                item.insert(0, tag)


                dadosite = getDadosSite(self.id_site)

                veiculo = dadosite["titulo"]
                tag = Tag(soup, "dc:veiculo", [])
                tag.insert(0, veiculo)
                item.insert(0, tag)

                base_img = dadosite["base_app"]
                tag = Tag(soup, "dc:base_img", [])
                tag.insert(0, base_img)
                item.insert(0, tag)

                src = unicode(soup)
                src = src.replace("<?xml version='1.0' encoding='utf-8'?>",
                                  "<?xml version='1.0' encoding='latin1'?>")

            fd.write(src.encode(settings.GLOBAL_ENCODING))
            fd.close()