def _setDados(self, id_conteudo): """ """ for conteudo in self.execSql("select_conteudo_", id_conteudo=int(id_conteudo)): portal = Portal(id_site=self.id_site, request=self.request) tags = [] url = portal.getUrlByApp(env_site=self.id_site, schema=self.schema, id_conteudo=id_conteudo, exportar=1, admin=1, mkattr=1) dados = {"titulo":conteudo["titulo"], "descricao":conteudo["descricao"], "imagem_destaque":conteudo["imagem_destaque"], "titulo_destaque":conteudo["titulo_destaque"], "descricao_destaque":conteudo["descricao_destaque"], "link_destaque":portal.mklink(conteudo["link_destaque"]), "capa":[], "destaque":[{"titulo":conteudo["destaque_titulo"], "descricao":conteudo["destaque_descricao"], "img":conteudo["destaque_imagem"]}], "tags":tags} for i in self.execSql("select_destaque1", id_conteudo=int(id_conteudo)): dados["capa"].append({"titulo":i["titulo"], "imagem":i["imagem"], "descricao":i["descricao"], "link":portal.mklink(i["link"]), "ordem":i["ordem"]}) return {"titulo":conteudo["titulo"], "meta_type":self.meta_type, "id_conteudo":id_conteudo, "publicado_em":conteudo["publicado_em"], "expira_em":conteudo["expira_em"], "atualizado_em":conteudo["atualizado_em"], "url":url, "creators":[], "dados":dados}
def _getProgramacao(self, id_conteudo=None): """ return the data of conteudo, destaque1, destaque2 and destaque tables """ portal = Portal(id_site=self.id_site, request=self.request) if id_conteudo: items = self.execSql("select_conteudo", id_conteudo=int(id_conteudo)) else: items = self.execSql("select_conteudo2") for i in items: id_conteudo = i["id_conteudo"] i["link_destaque"] = portal.mklink(dados=i["link_destaque"]) i["destaque1"] = [] for item in self.execSql("select_destaque1", id_conteudo=int(id_conteudo)): item["link"] = portal.mklink(dados=item["link"]) i["destaque1"].append(item) return i
def _getNoticiaPublicada(self, id_noticia=None, mkl=None): """ Retorna os dados de uma noticia """ noticia = None portal = Portal(id_site=self.id_site, request=self.request) if not noticia: for noticia in self.execSql("select_noticia_publicada_ultima"): break for noticia in self.execSql("select_noticia_publicada", id_conteudo=int(id_noticia)): break if noticia: soup = BeautifulSoup(noticia["corpo"], fromEncoding=settings.GLOBAL_ENCODING) for a in soup.findAll("a"): href = unquote(a.get("href", "")).strip() if href.startswith("#h2href:"): kingkong, dados = href.split("#h2href:", 1) if mkl: href, attrs = mkl(dados=decode(dados)) for i in attrs.keys(): a[i] = attrs[i] else: href = portal.mklink(dados=dados) if href.find("javascript") >= 0: href = href.replace("[target=blank]", "") elif href.find("target=blank") >= 0: href = href.replace("[target=blank]", "") a["target"] = "blank" a["href"] = href noticia["corpo"] = unquote( unicode(soup) ) return noticia
def mkson(self, item, builder, tag='li', ignore=False, exportar=None, uln=[], lin=[], la=[], nivelu=0, nivell=0): """ """ portal = Portal(id_site=self.id_site, request=self.request) link = item['attributes'].get('jtext', None) classe = item['attributes'].get('classe', None) semTexto = item['attributes'].get('semTexto', None) scriptBanner = item['attributes'].get('scriptBanner', None) if not ignore: try: attr = lin[nivell] except: attr = {} try: attra = la[nivell] except: attra = {} if classe: attr['class'] = classe builder.start(tag, attr) if link: attra['href'] = portal.mklink(dados=link, exportar=exportar) if attra["href"].find("[target=blank]") >= 0: attra["href"] = attra["href"].replace("[target=blank]", "") if attra['href'].find('window.open') < 0: attra["target"] = "blank" builder.start('a', attra) if scriptBanner: builder.start('script',{}) builder.data(scriptBanner) if not(semTexto == 'true'): builder.data(item['data']) if not ignore: if link: builder.end('a') if scriptBanner: builder.end('script') nivelu+=1 itens = item.get('children', []) nitens = len(itens) for i in xrange(nitens): if i == 0: ignf = False ignl = True elif i == (nitens-1): ignf = True ignl = False else: ignf = True ignl = True if nitens == 1: ignl = False if (i + 1) < nitens: proximoitem=itens[i+1] else: proximoitem=None self.mkfather(itens[i], builder=builder, ignf=ignf, ignl=ignl, uln=uln, lin=lin, la=la, nivelu=nivelu, nivell=nivell+1, proximoitem=proximoitem) if not ignore: builder.end(tag)