Exemple #1
0
 def getConteudoBusca(self, regiao=None, categoria=None):
     """
         Returns the results of an establishment search
     """
     lista = []
     portal = Portal(id_site=self.id_site, request=self.request)
     if regiao == "todas" and categoria == "todas":
         for i in self.execSql("select_busca"):
             i["url"] = portal.getUrlByApp(env_site=self.id_site,
                                           schema=self.schema,
                                           id_conteudo=i["id_conteudo"],
                                           exportar=1,
                                           admin=1,
                                           mkattr=1)
             lista.append(i)
         return lista
     elif regiao == "todas":
         for i in self.execSql("select_busca_categoria", 
                                 categoria=categoria):
             i["url"] = portal.getUrlByApp(env_site=self.id_site,
                                           schema=self.schema,
                                           id_conteudo=i["id_conteudo"],
                                           exportar=1,
                                           admin=1,
                                           mkattr=1)
             lista.append(i)
             return lista
     elif categoria == "todas":
         for i in self.execSql("select_busca_regiao", 
                                 regiao=regiao):
             i["url"] = portal.getUrlByApp(env_site=self.id_site,
                                           schema=self.schema,
                                           id_conteudo=i["id_conteudo"],
                                           exportar=1,
                                           admin=1,
                                           mkattr=1)
             lista.append(i)
             return lista
     else:
         for i in self.execSql("select_busca_completa",
                                 regiao=regiao, 
                                 categoria=categoria):
             i["url"] = portal.getUrlByApp(env_site=self.id_site,
                                           schema=self.schema,
                                           id_conteudo=i["id_conteudo"],
                                           exportar=1,
                                           admin=1,
                                           mkattr=1)
             lista.append(i)
             return lista
Exemple #2
0
    def _maisUltimasApp(self, limit=50, offset=0, exportar=None,
                              dt=1, render=None, samesite=None):
        """
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)

        exportar = self.request.get("exportar") or exportar
 
        res = {"qtde":0, "res":[]} 
        for i in self.execSql("select_ultimas_app",
                              schema=self.schema,
                              limit=int(limit),
                              offset=int(offset)):

            i["url"] = portal.getUrlByApp(env_site=self.id_site,
                                          schema=self.schema,
                                          id_conteudo=i["id_conteudo"],
                                          exportar=exportar,
                                          admin=render,
                                          samesite=samesite)
            if dt:
                i["datetime"] = lambda t, i=i["publicado_em"]:strftime(t, 
                                               strptime(i, "%Y-%m-%d %H:%M:%S"))
            res["res"].append(i)

        res["qtde"] = self.execSql("select_ultimas_app_qtde",
                                   schema=self.schema).next()["qtde"]

        return res
Exemple #3
0
    def _setDados(self, id_conteudo):
        """
        
        """
        for conteudo in self.execSql("select_conteudo_dados",
                                     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"],
                     "expira_em":conteudo["expira_em"],
                     "publicado_em":conteudo["publicado_em"],
                     "publicado":conteudo["publicado"],
                     "imagem":conteudo["imagem"],
                     "filiado":conteudo["filiado"],
                     "descricao":conteudo["descricao"],
                     "imagem_destaque":conteudo["imagem_destaque"],
                     "titulo_destaque":conteudo["titulo_destaque"],
                     "descricao_destaque":conteudo["descricao_destaque"],
                     "tags":tags}
            return dados
Exemple #4
0
    def _setDados(self, id_conteudo):
        """
            Método padrão que encapsula os dados de um conteúdo
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)

        for i in self.execSql("select_dados",
                              id_conteudo=int(id_conteudo)):

            tags = [j["tag"] for j in portal._getTags(id_site=self.id_site,
                                                      id_conteudo=id_conteudo,
                                                      schema=self.schema,
                                                      text=None)]
            dados = {"titulo": i["titulo"],
                     "descricao": i["descricao"],
                     "remuneracao_de": i["remuneracao_de"],
                     "remuneracao_ate": i["remuneracao_ate"],
                     "total_vagas": i["total_vagas"],
                     "descricao_vagas": i["descricao_vagas"],
                     "vagas_especiais": i["vagas_especiais"],
                     "descricao_remuneracao": i["descricao_remuneracao"],
                     "inscricoes": i["inscricoes"],
                     "banca_organizadora": i["banca_organizadora"],
                     "cadastro_reserva": i["cadastro_reserva"],
                     "validade_concurso": i["validade_concurso"],
                     "previsto": i["previsto"],
                     "nivel_escolaridade": i["nivel_escolaridade"],
                     "data_edital": i["data_edital"],
                     "data_inscricao": i["data_inscricao"],
                     "data_fim_inscricao": i["data_fim_inscricao"],
                     "data_prova": i["data_prova"],
                     "data_resultado": i["data_resultado"],
                     "destaque": [],
                     "tags": tags}

            dados["destaque"].append({"titulo": i["titulo_destaque"],
                                      "descricao": i["descricao_destaque"],
                                      "img": i["imagem_destaque"]})

            url = portal.getUrlByApp(env_site=self.id_site,
                                     schema=self.schema,
                                     id_conteudo=id_conteudo,
                                     exportar=1,
                                     admin=1,
                                     mkattr=1)

            return {"titulo": i["titulo"],
                    "meta_type": self.meta_type,
                    "id_conteudo": id_conteudo,
                    "publicado_em": i["publicado_em"],
                    "expira_em": i["expira_em"],
                    "atualizado_em": i["atualizado_em"],
                    "url": url,
                    "creators": [],
                    "dados": dados
                    }

        return {}
Exemple #5
0
 def getCinemasCidade(self, nome_cidade):
     """
     """
     cinemas = []
     for i in self.execSql("select_cinema_nome_cidade",
                            nome_cidade=nome_cidade):
         portal = Portal(id_site=self.id_site,
                         request=self.request)
         i['url'] = portal.getUrlByApp(env_site=self.id_site, schema=self.schema, id_conteudo=i['id_conteudo'], exportar=1, admin=1)
         cinemas.append(i)
     return cinemas
Exemple #6
0
    def _setDados(self, id_conteudo):
        """
            Método padrão que encapsula os dados de um conteúdo
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)

        for i in self.execSql("select_dados",
                              id_conteudo=int(id_conteudo)):

            tags = [j["tag"] for j in portal._getTags(
                                   id_site=self.id_site,
                                   id_conteudo=id_conteudo,
                                   schema=self.schema,
                                   text=None)]
            dados = {"titulo":i["titulo"],
                     "editor":i["editor"],
                     "calendario":i["calendario"],
                     "foto_galeria":i["foto_galeria"],
                     "foto_interna":i["foto_interna"],
                     "legenda_foto_interna":i["legenda_foto_interna"],
                     "destaque_capa":i["destaque_capa"],
                     "andamento":i["andamento"],
                     "cadastros":[],
                     "destaque":[],
                     "tags":tags}

            dados["destaque"].append({"titulo":i["titulo_destaque"],
                                      "descricao":i["descricao_destaque"],
                                      "img":i["imagem_destaque"]})
                
            for j in self.execSql("select_conteudo_cadastros",
                                  id_conteudo=int(id_conteudo)):
                dados["cadastros"].append(j)

            url = portal.getUrlByApp(env_site=self.id_site,
                                     schema=self.schema,
                                     id_conteudo=id_conteudo,
                                     exportar=1,
                                     admin=1,
                                     mkattr=1)

            return {"titulo":i["titulo"],
                    "meta_type":self.meta_type,
                    "id_conteudo":id_conteudo,
                    "publicado_em":i["publicado_em"],
                    "expira_em":i["expira_em"],
                    "atualizado_em":i["atualizado_em"],
                    "url":url,
                    "creators":[],
                    "dados":dados
                    }

        return {}
Exemple #7
0
 def getLastNewsDate(self, hash):
     """
         Returns the data of the last news in the folder with hash=hash
     """
     portal = Portal(id_site=self.id_site,
                     request=self.request)
     for i in self.execSql("select_last_date_by_hash", hash=hash):
         i["url"] = portal.getUrlByApp(env_site=self.id_site,
                                       schema=self.schema,
                                       id_conteudo=i["id_conteudo"],
                                       mkattr=0)
         yield i
Exemple #8
0
    def _setDados(self, id_conteudo):
        """
            Método padrão que encapsula os dados de um conteúdo
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)

        for i in self.execSql("select_dados",
                              id_conteudo=int(id_conteudo)):

            tags = [j["tag"] for j in portal._getTags(
                    id_site=self.id_site,
                    id_conteudo=id_conteudo,
                    schema=self.schema,
                    text=None)]

            dados = {"titulo": i["titulo"],
                     "descricao": i["descricao"],
                     "destaque": [],
                     "tags": tags,
                     "vigencia_de": i["vigencia_de"],
                     "vigencia_ate": i["vigencia_ate"],
                     "resultado": i["resultado"],
                     "categoria": i["categoria"],
                     "tipo": i["tipo"],
                     "servico": i["servico"],
                     "extra": i["extra"],
                     "finalizada": i["finalizada"]}

            dados["destaque"].append({"titulo": i["titulo_destaque"],
                                      "descricao": i["descricao_destaque"],
                                      "img": i["imagem_destaque"]})

            url = portal.getUrlByApp(env_site=self.id_site,
                                     schema=self.schema,
                                     id_conteudo=id_conteudo,
                                     exportar=1,
                                     admin=1,
                                     mkattr=1)
            return {"titulo": i["titulo"],
                    "meta_type": self.meta_type,
                    "id_conteudo": id_conteudo,
                    "publicado_em": i["publicado_em"],
                    "expira_em": i["expira_em"],
                    "atualizado_em": i["atualizado_em"],
                    "publicado": True if i["publicado"] else False,
                    "url": url,
                    "creators": [],
                    "dados": dados
                    }

        return {}
Exemple #9
0
 def getAnjo(self, dia, mes):
     """
         Calcula o anjo para um dia do ano
     """
     url="404"
     for i in self.execSql("select_por_titulo", data=str("2013"+"-"+mes+"-"+dia)):
         portal = Portal(id_site=self.id_site, request=self.request)
         url = portal.getUrlByApp(env_site=self.id_site,
                                           schema=self.schema,
                                           id_conteudo=i["id_conteudo"],
                                           exportar=1,
                                           admin=1,
                                           mkattr=1)
     return url
Exemple #10
0
 def getSorte(self):
     """
         Seleciona um item aleatorio
     """
     url = "404"
     for i in self.execSql("select_sorte"):
         portal = Portal(id_site=self.id_site, request=self.request)
         url = portal.getUrlByApp(env_site=self.id_site,
                                           schema=self.schema,
                                           id_conteudo=i["id_conteudo"],
                                           exportar=1,
                                           admin=1,
                                           mkattr=1)
     return url
Exemple #11
0
 def getFilmesBySessaoJson(self):
     """
     """
     data = datetime.now()
     data = str(data.date())
     portal = Portal(id_site=self.id_site,
                     request=self.request)
     dadosapp = portal._getApp(env_site=self.id_site,
                               schema=self.schema)["dados"]
     filmes =[]
     for i in self.execSql("select_filmes_sessoes",
                           SCHEMA=buffer(dadosapp['auth_schema']),
                           data_atual=data):
         i['url'] = portal.getUrlByApp(env_site=self.id_site, schema=dadosapp['auth_schema'], id_conteudo=i['id_conteudo'], exportar=1,admin=1)
         filmes.append(i)
     return filmes
Exemple #12
0
    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}
Exemple #13
0
 def getCidadeCinemaDict(self):
     """
     """
     cidades_cinema = {}        
     for i in self.execSql("select_cidades"):
         dados_cine = []
         for j in self.execSql("select_cinema_cidade",
                                id_cidade=int(i['id_cidade'])):
             portal = Portal(id_site=self.id_site,
                             request=self.request)
             j['url'] = portal.getUrlByApp(env_site=self.id_site, schema=self.schema, id_conteudo=j['id_conteudo'], exportar=1,admin=1)
             dados = {"id_conteudo":j["id_conteudo"],
                      "titulo":j["titulo"],
                      "url":j["url"]}
             dados_cine.append(dados)
         cidades_cinema[i["nome"]] = dados_cine 
     return cidades_cinema                                        
Exemple #14
0
    def _setDados(self, id_conteudo):
        """
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)

        for i in self.execSql("select_conteudo",
                              id_conteudo=int(id_conteudo)):

            tags = [j["tag"] for j in portal._getTags(
                                     id_site=self.id_site,
                                     id_conteudo=id_conteudo,
                                     schema=self.schema,
                                     text=None)]
            dados = {
                     "titulo":i["titulo"],
                     "descricao":i["descricao"],
                     "sea_id":i["sea_id"],
                     "embed":i["embed"],
                     "thumb":i["thumb"],
                     "destaque":[],
                     "tags":tags}

            dados["destaque"].append({"titulo":i["titulo_destaque"],
                                      "descricao":i["descricao_destaque"],
                                      "img":i["imagem_destaque"]})

            url = portal.getUrlByApp(env_site=self.id_site,
                                     schema=self.schema,
                                     id_conteudo=id_conteudo,
                                     exportar=1,
                                     admin=1,
                                     mkattr=1)
            return {"titulo":i["titulo"],
                    "meta_type":self.meta_type,
                    "id_conteudo":id_conteudo,
                    "publicado_em":i["publicado_em"],
                    "expira_em":i["expira_em"],
                    "atualizado_em":None,
                    "url":url,
                    "creators":"",
                    "dados":dados
                    }

        return {}
Exemple #15
0
 def getranking(self, modelo=None, limit=20, offset=0):
     """
         Retorna as avaliações filtrado ou não pelo modelo
     """
     portal = Portal(self.id_site, self.request)
     lr = self._listranking(modelo=modelo, limit=limit, offset=offset)
     res = []
     for i in lr:
         #i["imagem"] = portal.getUrlByFile(source=i["imagem"] )
         i["url"] = portal.getUrlByApp(env_site=self.id_site,
                                       schema=self.schema,
                                       id_conteudo=i["id_conteudo"],
                                       render=True,
                                       admin=1,
                                       exportar=1)
         res.append(i)
     
     return res
Exemple #16
0
    def _UltimasApp(self, limit=50, offset=0, exportar=None):
        """
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)

        exportar = self.request.get("exportar") or exportar

        for i in self.execSql("select_ultimas_app",
                              schema=self.schema,
                              limit=int(limit),
                              offset=int(offset)):

            i["url"] = portal.getUrlByApp(env_site=self.id_site,
                                          schema=self.schema,
                                          id_conteudo=i["id_conteudo"],
                                          exportar=exportar)
            yield i
Exemple #17
0
    def _getDates(self):
        """
            return all content with date (YYYY-MM-DD)
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)

        for i in self.execSql("select_dates",
                              schema=self.schema):
 

            i["url"] = portal.getUrlByApp(env_site=self.id_site,
                                          schema=self.schema,
                                          id_conteudo=i["id_conteudo"],
                                          url=i["url"],
                                          id_treeapp=i["id_treeapp"])

            yield i
Exemple #18
0
    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"],
                     #"id_categoria":conteudo["id_categoria"],
                     #"imagem":conteudo["imagem"],
                     "codigo_fipe":conteudo["codigo_fipe"],
                     "ordem":conteudo["ordem"],
                     "aval_design":conteudo["aval_design"],
                     "aval_performance":conteudo["aval_performance"],
                     "aval_conforto_acabamento":conteudo["aval_conforto_acabamento"],
                     "aval_dirigibilidade":conteudo["aval_dirigibilidade"],
                     "aval_consumo":conteudo["aval_consumo"],
                     "aval_manutencao":conteudo["aval_manutencao"],
                     "aval_custo_beneficio":conteudo["aval_custo_beneficio"],
                     "destaque":[{"titulo":conteudo["destaque_titulo"],
                                  "descricao":conteudo["destaque_descricao"],
                                  "img":conteudo["destaque_imagem"]}],
                     "tags":tags}


            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}
Exemple #19
0
    def _setDados(self, id_conteudo):
        """
            Método padrão que encapsula os dados de um conteúdo
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)

        for i in self.execSql("select_evento",
                              id_conteudo=int(id_conteudo)):

            dados = {"id_conteudo": i["id_conteudo"],
                     "titulo": i["titulo"],
                     "local": i["local"],
                     "preco_entrada": i["preco_entrada"],
                     "consumacao_minima":i["consumacao_minima"],
                     "site" : i["site"],
                     "hora_inicio" : i["hora_inicio"],
                     "hora_fim" : i["hora_fim"],
                     "credito_imagem" : i["credito_imagem"],
                     "publicado_em" : i["atualizado_em"],
                     "id_idioma" : i["id_idioma"]}


            url = portal.getUrlByApp(env_site=self.id_site,
                                     schema=self.schema,
                                     id_conteudo=id_conteudo,
                                     exportar=1,
                                     admin=1,
                                     mkattr=1)

            return {"titulo":i["titulo"],
                    "meta_type":self.meta_type,
                    "id_conteudo":id_conteudo,
                    "publicado_em":i["publicado_em"],
                    "expira_em":i["expira_em"],
                    "atualizado_em":i["atualizado_em"],
                    "url":url,
                    "creators":[],
                    "dados":dados
                    }

        return {}
Exemple #20
0
 def getPar(self, bom=[], ruim=[]):
     lista = set()
     for i in bom:
         for j in self.execSql("select_nome", id_caracteristica=i):
             lista.add(j["id_conteudo"])
     for i in ruim:
         for j in self.execSql("select_nome", id_caracteristica=i):
             if j["id_conteudo"] in lista and len(lista) > 1:
                 lista.remove(j["id_conteudo"])
     for i in lista:
         portal = Portal(id_site=self.id_site, request=self.request)
         url = portal.getUrlByApp(env_site=self.id_site,
                                           schema=self.schema,
                                           id_conteudo=i,
                                           exportar=1,
                                           admin=1,
                                           mkattr=1)
         for i in self.execSql("select_titulo", id_conteudo=i):
             return {"url":url, "nome":i["titulo"]}
     return "404"
Exemple #21
0
    def getVideosSite(self, tags, limit=50, offset=0, serialize=None):
        """Retorna videos se tiverem alguma tag
        """
        qtde = 0
        items = 0
        tags = tags.strip().split(" ")
        portal = Portal(id_site=self.id_site, request=self.request)
        if tags:
            has = False
            for tag in tags:
                has = True
                self.execSqlBatch("select_videos_count",
                                  tag=tag)
            if has:
                for i in self.execSqlUnion():
                    qtde += i["qtde"]

            for tag in tags:
                self.execSqlBatch("select_videos",
                                  tag=tag,
                                  limit=int(limit),
                                  offset=int(offset))
            items = self.execSqlUnion(order="sea_id DESC", limit=int(limit),
                                                           offset=int(offset))
        copia = items
        if serialize:
            items = [i for i in items]
            for i in items:
                comm = portal._getComentarios(env_site=self.id_site,
                                              schema=self.schema,
                                              id_conteudo=i["id_conteudo"])
                comm = [j for j in comm]
                i["comm"] = comm
                i["url"] = portal.getUrlByApp(env_site=self.id_site,
                                              schema=self.schema,
                                              id_conteudo=i["id_conteudo"],
                                              exportar=1,
                                              admin=1)
            return {"qtde":qtde, "items":items}

        return {"qtde":qtde, "items":items}
Exemple #22
0
 def getAscendente(self, data, offset):
     """
         Calcula o anjo para um dia do ano
     """
     i = 0
     data = int(data)
     for signo in SIGNOS:
         if data >= signo[1] and data <= signo[2] or i > 10:
             break
         i+=1
     pos = i + int(offset)
     if pos > 11:
         pos -= 12
     url = SIGNOS[pos][0]
     for i in self.execSql("select_por_titulo", titulo=url):
         portal = Portal(id_site=self.id_site, request=self.request)
         url = portal.getUrlByApp(env_site=self.id_site,
                                           schema=self.schema,
                                           id_conteudo=i["id_conteudo"],
                                           exportar=1,
                                           admin=1,
                                           mkattr=1)
     return {"url":url, "nome":SIGNOS[pos][0]}
Exemple #23
0
    def getSignoChines(self, dia, mes, ano):
        """
            Calcula o signo chines para uma data
        """
        data = datetime.date(int(ano), int(mes), int(dia))
        match = None
        for signo in MAPA:
            for datas in signo["datas"]:
                if datas[0] <= data and data <= datas[1]:
                    match = signo["nome"]
                    break

        url = "404"
        if match:
            url = match
        for i in self.execSql("select_por_titulo2", titulo=match):
            portal = Portal(id_site=self.id_site, request=self.request)
            url = portal.getUrlByApp(env_site=self.id_site,
                                              schema=self.schema,
                                              id_conteudo=i["id_conteudo"],
                                              exportar=1,
                                              admin=1,
                                              mkattr=1)
        return url
Exemple #24
0
    def getNumerologia(self, nome):
        """
            Calcula a soma numerologica para um nome

            O nome possui os espacos e caracteres especiasi removidos ou
            transformados. O calculo eh feito utilizando o inteiro
            correspondente ao caractere ascii minusculo
        """
        nome = unicode(nome, "latin1")
        soma = 0
        nome = nome.replace(" ", "")
        nome = ''.join((c for c in unicodedata.normalize('NFD', nome)
                        if unicodedata.category(c) != 'Mn'))
        nome = nome.lower()
        for letra in nome:
            soma += ord(letra) - 96

        while len(str(soma)) > 1:
            soma2 = 0
            for digito in str(soma):
                soma2 += int(digito)
            soma = soma2
        url = ""
        if soma > 9:
            soma = 9
        if soma < 0:
            soma = 0
        for i in self.execSql("select_por_titulo2", titulo=str(soma)):
            portal = Portal(id_site=self.id_site, request=self.request)
            url = portal.getUrlByApp(env_site=self.id_site,
                                              schema=self.schema,
                                              id_conteudo=i["id_conteudo"],
                                              exportar=1,
                                              admin=1,
                                              mkattr=1)
        return url
Exemple #25
0
    def _ultimasAplicativo(self, offset=0, limit=25,
                                 exportar=None, render=None, dt=1):
        """
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)

        items = {"items":[], "qtde":0}
        exportar = self.request.get("exportar") or exportar
        items["qtde"] = self.execSql("select_ultimas_qtde").next()["qtde"]
        for i in self.execSql("select_ultimas",
                              offset=int(offset),
                              limit=int(limit)):
            i["url"] = portal.getUrlByApp(env_site=self.id_site,
                                          schema=self.schema,
                                          id_conteudo=i["id_conteudo"],
                                          exportar=exportar,
                                          admin=render)
            ft = strptime(i["publicado_em"], "%d/%m/%Y %H:%M")
            if dt:
                i["datetime"] = lambda dt,ft=ft: strftime(dt, ft)
            items["items"].append(i)

        return items
Exemple #26
0
    def _action(self, id_treeapp, schema, id_conteudo, link,
                      add=None, edit=None, delete=None, dados={}):
        """
           Get data from content and call the fast writer 
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)

	if not dados:
            dados = portal._getContentLink({"modulo":
                   {"id_site":self.id_site , "schema":schema,
                    "id_pk":id_conteudo}})
            if not dados:
                return
            dados = dados["serialized"]()


        if schema.find("foto") >= 0:

            """
            {"atualizado_em": "04/12/2010 12:07", 
             "dados": {"destaque": [{"titulo": "", "img": "", "descricao": ""}],
                       "foto": [{"ordem": 0, "img": "ns2/...", "credito": "",
                                 "link": "javascript:void(0)",
                                 "embed": "", "thumbnail": "", "descricao": ""},...],
                       "tags": [], "id_marca": "", "titulo": "",
                       "alinhamento": "topo_esquerda", "descricao": ""},
             "nvoto": 0, "expira_em": null, "voto": 0.0, "acesso": 0,
             "comentario": 0, "publicado_em": "04/12/2010 12:02",
             "url": "javascript:void(0)", "id_conteudo": "7",
             "meta_type": "foto", "titulo": "", "creators": []}
           """
            dafast = daFastXmlFileFoto(portal=self.dados["portal"],
                                       origem=self.dados["origem"])

            self._writer(dafast=dafast,
                         port=self.dados["portal"],
                         origem=self.dados["origem"],
                         path=self.dados["path"],
                         tipoconteudo="foto",
                         id_conteudo=id_conteudo,
                         delete=delete,
                         dados=dados,
                         id_treeapp=id_treeapp,
                         get=self._getFoto,
                         getdel=self._getFotoDelete)

            if not conf_sites:
                return

            for i in portal._getTreeShared(id_site=self.id_site,
                                           id_treeapp=id_treeapp):

                if i["id_site"] != int(self.id_site):

                    try:
                        url = portal.getUrlByApp(env_site=i["id_site"],
                                                 schema=schema,
                                                 id_conteudo=id_conteudo,
                                                 exportar=1,
                                                 id_treeapp=i["id_treeapp"],
                                                 id_site_compartilhar=self.id_site,
                                                 id_tree_compartilhar=id_treeapp,
                                                 admin=1)
                    except Exception, e:
                        url = "javascript:void(0)"

                    if not url.startswith("javascript:void(0)"):
                        dados["url"] = url
                        port, origem = conf_sites.get(i["id_site"], (None, None))
                        if port and origem:

                            dafast = daFastXmlFileFoto(portal=port,
                                                       origem=origem)

                            self._writer(dafast=dafast,
                                         port=port,
                                         origem=origem,
                                         path=self.dados["path"],
                                         tipoconteudo="foto",
                                         id_conteudo="%s_%s" % (self.dados["origem"], id_conteudo),
                                         delete=delete,
                                         dados=dados,
                                         id_treeapp=id_treeapp,
                                         get=self._getFoto,
                                         getdel=self._getFotoDelete)
Exemple #27
0
    def addavaliacao(self, op_design, op_performance, op_conforto,
                           op_dirigibilidade, op_consumo, op_manutencao,
                           op_custo, pontos_positivos, pontos_negativos,
                           comentario, titulo, apelido, i=None, recomenda=None,
                           fabricante=None, modelo=None, modelo_ext=None,
                           ano_fabricacao=None, ano_modelo=None, codigo_fipe=None,
                           hashtree=None):
        """
            Chama metodo para adicionar uma nova avaliacao de um usuario logado.
            Retorna um dicionario, {'ok': ,'erro'}
        """

        r = self._verify_ext(fabricante=fabricante,
                             modelo=modelo, modelo_ext=modelo_ext,
                             ano_fabricacao=ano_fabricacao,
                             ano_modelo=ano_modelo,
                             codigo_fipe=codigo_fipe,
                             hashtree=hashtree)
        i = r['i']

        if not hashtree:
            return {"error":0}
        if i ==" undefined" or i == -1:
            if fabricante and modelo and modelo_ext and ano_fabricacao and ano_modelo:
                try:
                    fabricante = fabricante.decode("utf-8").encode("latin1")
                    modelo= modelo.decode("utf-8").encode("latin1")
                    modelo_ext = modelo_ext.decode("utf-8").encode("latin1")
                    ano_fabricacao = ano_fabricacao.decode("utf-8").encode("latin1")
                    ano_modelo=ano_modelo.decode("utf-8").encode("latin1")
                    codigo_fipe = codigo_fipe.decode("utf-8").encode("latin1")
                except:
                    pass
                    # didn't encode params from vehicle
                ids = self.execSql("select_id_conteudo",
                                    fabricante=fabricante,
                                    modelo=modelo,
                                    modelo_ext=modelo_ext,
                                    ano_fabricacao=ano_fabricacao,
                                    ano_modelo=ano_modelo)
                if ids:
                    for id in ids:
                        i = id['id_conteudo']
                        break
        if not i or i == "undefined" or i == -1:
            return {"error":0}
        avaliacao = self._addavaliacao(i=i,
                                      op_design=op_design,
                                      op_performance=op_performance,
                                      op_conforto=op_conforto,
                                      op_dirigibilidade=op_dirigibilidade,
                                      op_consumo=op_consumo,
                                      op_manutencao=op_manutencao,
                                      op_custo=op_custo,
                                      pontos_positivos=pontos_positivos,
                                      pontos_negativos=pontos_negativos,
                                      comentario=comentario,
                                      titulo=titulo,
                                      apelido=apelido,
                                      recomenda=recomenda)

        if avaliacao['error']:
            return {"avaliacao":avaliacao, "url":0}

        agora = util.dtnow('%Y-%m-%d %H:%M')

        self.request["env_usuario"] = {"id_usuario":ID_USER}
        self.request["env.usuario"] = {"id_usuario":ID_USER}
        portal = Portal(id_site=self.id_site,
                        request=self.request)

        tree = portal._getTreeAppByHash(env_site=self.id_site, hash=hashtree)
        id_tree = tree['id_treeapp']
        self.execSqlCommit()
        self._setRanking()
        dados = r['dados']#self._setDados(id_conteudo=i)
        id_aplicativo = portal._getIdAplicativo(env_site=self.id_site, schema=self.schema)
        """ 
        self.editContent(id_conteudo=i,
                          id_treeapp=id_tree,
                          id_aplicativo=id_aplicativo,
                          publicado_em=str(util.dtnow('%d/%m/%Y %H:%M')),
                          expira_em="",
                          fabricante=fabricante,
                          modelo=modelo,
                          modelo_extendido=modelo_ext,
                          codigo_fipe=codigo_fipe,
                          ano_modelo=ano_modelo,
                          ano_fabricacao=ano_fabricacao,
                          titulo=modelo_ext+" - "+ano_fabricacao+"/"+ano_modelo,
                          ordem=0,
                          publicado=1,
                          exportar=1)
        """
        portal._exportarFormatosConteudo(id_aplicativo=id_aplicativo, 
                            id_conteudo=i, 
                            schema=self.schema,
                            id_treeapp=id_tree,
                            html=1,
                            dados=dados,
                            subitems=None, 
                            add=1)

        url = "javascript:void(0)"
        try: 
            url = portal.getUrlByApp(env_site=self.id_site, 
                                     schema=self.schema, 
                                     id_conteudo=i, 
                                     exportar=1,
                                     render=1,
                                     admin=1)
        except:
            pass

        try:
            portal.exportarConteudo(id_tree, [{'id_site_conteudo':self.id_site, \
                                               'id_aplicativo':id_aplicativo, 'schema':self.schema,\
                                               'id_conteudo':i}])
        except Exception, e:
            pass
Exemple #28
0
    def getMoreEventos(self, limit, date, titulo, num, flag, date_limit = None):
        """
        returns more events
        """
        titulo = titulo.decode('utf-8').encode('latin-1')
        limit = int(limit)
        portal = Portal(id_site=self.id_site,
                        request=self.request)
        num = int(num)
        de = (num-1) * limit
        ate = limit
        evento = None
        lista = []
        flag = int(flag)
        if flag:
            select = "select_more_eventos_inicial"
            select_count = "select_more_eventos_inicial_count"
        else:
            select = "select_more_eventos_by_calendar"
            select_count = "select_more_eventos_by_calendar_count"

        if titulo!='todos' and date !='todas':

            for evento in self.execSql("select_eventos_by_calendar_and_title",
                                       de=int(de),
                                       ate=int(ate),
                                       date = str(date),
                                       titulo=titulo):
                
                evento["link"] = \
                portal.getUrlByApp(env_site=self.id_site,
                                   schema=self.schema,
                                   id_conteudo=evento["id_conteudo"],
                                   exportar=1,
                                   admin=1)
                p = strptime(evento["data_inicio"], "%Y-%m-%d %H:%M:%S")
                evento["data_inicio"] = strftime("%d/%m/%Y", p)
                evento["categorias"]=[]
                for k in self.execSql("select_categoria_evento", id_conteudo=int(evento['id_conteudo'])):
                    categoria = {"id_categoria":k["id_categoria"],
                                 "nome_categoria":k["nome_categoria"]}
                    evento["categorias"].append(categoria)
                for j in self.execSql("select_destaque",
                                      id_conteudo=evento["id_conteudo"]):

                    evento["destaque"] = {"id_destaque": j["id_destaque"],
                                          "titulo_destaque": j["titulo"],
                                          "descricao_destaque": j["descricao"],
                                          "imagem_destaque": j["img"],
                                          "peso_destaque": j["peso"]}
                    evento['destaque']['imagem_destaque'] = \
                    portal.getUrlByFile(evento['destaque']['imagem_destaque'],
                                        id_site=self.id_site)
                lista.append(evento)

        elif titulo=='todos' and date !='todas':

            for evento in self.execSql(select,
                                       de=int(de),
                                       ate=int(ate),
                                       date = str(date)):

                evento["link"] = \
                portal.getUrlByApp(env_site=self.id_site,
                                   schema=self.schema,
                                   id_conteudo=evento["id_conteudo"],
                                   exportar=1,
                                   admin=1)
                p = strptime(evento["data_inicio"], "%Y-%m-%d %H:%M:%S")
                evento["data_inicio"] = strftime("%d/%m/%Y", p)
                evento["categorias"]=[]
                for k in self.execSql("select_categoria_evento", id_conteudo=int(evento['id_conteudo'])):
                    categoria = {"id_categoria":k["id_categoria"],
                                 "nome_categoria":k["nome_categoria"]}
                    evento["categorias"].append(categoria)
                for j in self.execSql("select_destaque",
                                      id_conteudo=evento["id_conteudo"]):

                    evento["destaque"] = {"id_destaque": j["id_destaque"],
                                          "titulo_destaque": j["titulo"],
                                          "descricao_destaque": j["descricao"],
                                          "imagem_destaque": j["img"],
                                          "peso_destaque": j["peso"]}
                    evento['destaque']['imagem_destaque'] = \
                    portal.getUrlByFile(evento['destaque']['imagem_destaque'],
                                        id_site=self.id_site)
                lista.append(evento)

        elif titulo !='todos' and date=='todas':

            for evento in self.execSql("select_more_eventos_by_titulo",
                                       de=int(de),
                                       ate=int(ate),
                                       titulo=titulo):

                evento["link"] = portal.getUrlByApp(env_site=self.id_site,
                                                    schema=self.schema,
                                                    id_conteudo=evento["id_conteudo"],
                                                    exportar=1,
                                                    admin=1)

                p = strptime(evento["data_inicio"],
                             "%Y-%m-%d %H:%M:%S")

                evento["data_inicio"] = strftime("%d/%m/%Y", p)
                evento["categorias"]=[]
                for k in self.execSql("select_categoria_evento", id_conteudo=int(evento['id_conteudo'])):
                    categoria = {"id_categoria":k["id_categoria"],
                                 "nome_categoria":k["nome_categoria"]}
                    evento["categorias"].append(categoria)
                for j in self.execSql("select_destaque",
                                      id_conteudo=evento["id_conteudo"]):

                    evento["destaque"] = {"id_destaque": j["id_destaque"],
                                          "titulo_destaque": j["titulo"],
                                          "descricao_destaque": j["descricao"],
                                          "imagem_destaque": j["img"],
                                          "peso_destaque": j["peso"]}

                    evento['destaque']['imagem_destaque'] = \
                    portal.getUrlByFile(evento['destaque']['imagem_destaque'],
                                        id_site=self.id_site)

                lista.append(evento)

        #verifica se a data é a atual e coloca da um set no "ate"
        if(date_limit):

            date_limit = date_limit

        else:

            date_limit = date

        #monta a paginação
        if titulo!='todos' and date !='todas':

            cont = list(self.execSql("select_eventos_by_calendar_title_count",
                                     date=str(date),
                                     titulo=titulo))

        if titulo=='todos' and date !='todas':

            cont = list(self.execSql(select_count,
                                     date = str(date)))

        if titulo !='todos' and date=='todas':

            cont = list(self.execSql("select_more_eventos_by_titulo_count",
                        titulo = titulo))

        num = cont[0].get("count")

        if num>limit:

            result = (num /float(limit))
            result = math.ceil(result)

        else:

            result = 1

        x = ""

        for x in range(int(result)):

            paginas = {}
            pagina_int = x+1
            pagina = str(pagina_int)
            paginas["pagina"]=pagina
            lista.append(paginas)

        #transforma os dados em string pra retornar na lista
        if titulo != 'todos' and date != 'todas':

            cabecalho_lista = {"paginas":result,
                               "total":num}
            lista.append(cabecalho_lista)
            return lista

        if titulo == 'todos' and date != 'todas':

            p = strptime(date, "%Y-%m-%d")
            dated = strftime("%d/%m/%Y", p)
            date = str(dated)
            result = str(result)
            num = str(num)
            #total_eventos= list(self.execSql("select_count_eventos"))
            #total = total_eventos[0].get("count")
            #ultima_data= list(self.execSql("select_ultima_data",
            #                               ultima_date = int(total-1)))
            #date_down= ultima_data[0].get("data_inicio")
            #o = strptime(date_down, "%Y-%m-%d %H:%M:%S")
            #dateli = strftime("%d/%m/%Y", o)
            #date_limit = str(dateli)
            cabecalho_lista = {"paginas":result,
                               "de":date,
                               "total":num}

            lista.append(cabecalho_lista)
            return lista

        if titulo != 'todos' and date == 'todas':

            cabecalho_lista = {"paginas":result,
                               "total":num}
            lista.append(cabecalho_lista)
            return lista
Exemple #29
0
    def _setDados(self, id_conteudo):
        """
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)

        for i in self.execSql("select_filme_dados",
                              id_conteudo=int(id_conteudo)):

            tags = [j["tag"] for j in portal._getTags(
                                   id_site=self.id_site,
                                   id_conteudo=id_conteudo,
                                   schema=self.schema,
                                   text=None)]
            dados = {"genero":i["genero"],
                     "censura":i["censura"],
                     "status":i["status"],
                     "titulo":i["titulo"],
                     "titulo_original":i["titulo_original"],
                     "url_imdb":i["url_imdb"],
                     "descricao":i["descricao"],
                     "editor":i["editor"],
                     "corpo":i["corpo"],
                     "has_video":i["video"],
                     "has_audio":i["audio"],
                     "has_galeria":i["galeria"],
                     "data_edicao":i["data_edicao"],
                     "diretor":[],
                     "ator":[],
                     "cinema":[],
                     "foto":[],
                     "video":[],
                     "antesdepois":[],
                     "destaque":[],
                     "tags":tags}

            dados["destaque"].append({"titulo":i["titulo_destaque"],
                                      "descricao":i["descricao_destaque"],
                                      "img":i["imagem_destaque"]})

            for j in self.execSql("select_videos",
                                  id_conteudo=int(id_conteudo)):
                dados["video"].append(j)

            for j in self.execSql("select_filme_diretores",
                                  id_conteudo=int(id_conteudo)):
                dados["diretor"].append(j)

            for j in self.execSql("select_filme_atores",
                                  id_conteudo=int(id_conteudo)):
                dados["ator"].append(j)
                
            for j in self.execSql("select_filme_cinemas",
                                  id_conteudo=int(id_conteudo)):
                dados["cinema"].append(j)

            for j in self.execSql("select_filme_fotos",
                                  id_conteudo=int(id_conteudo)):
                dados["foto"].append({"arquivo":j["arquivo"],
                                      "arquivo_grande":j["arquivo_grande"],
                                      "alinhamento":j["alinhamento"],
                                      "credito":j["credito"],
                                      "legenda":j["legenda"],
                                      "descricao":j["descricao"],
                                      "link":j["link"]})

            for j in self.execSql("select_filme_fotos_ad",
                                  id_conteudo=int(id_conteudo)):
                dados["antesdepois"].append({"foto_antes":j["foto_antes"],
                                             "foto_depois":j["foto_depois"],
                                             "alinhamento":j["alinhamento"],
                                             "credito_antes":j["credito_antes"],
                                             "credito_depois":j["credito_depois"],
                                             "legenda":j["legenda"],
                                             "link":j["link"]})

            url = portal.getUrlByApp(env_site=self.id_site,
                                     schema=self.schema,
                                     id_conteudo=id_conteudo,
                                     exportar=1,
                                     admin=1,
                                     mkattr=1)

            return {"titulo":i["titulo"],
                    "meta_type":self.meta_type,
                    "id_conteudo":id_conteudo,
                    "publicado_em":i["publicado_em"],
                    "expira_em":i["expira_em"],
                    "atualizado_em":i["atualizado_em"],
                    "publicado":True if i["publicado"] else False,
                    "url":url,
                    "diretores":[i["nome"] for i in dados["diretor"]],
                    "atores":[i["nome"] for i in dados["ator"]],
                    "cinemas":[i["nome"] for i in dados["cinema"]],
                    "dados":dados
                    }

        return {}
Exemple #30
0
    def _setDados(self, id_conteudo):
        """
        """
        portal = Portal(id_site=self.id_site,
                        request=self.request)

        for i in self.execSql("select_noticia_dados",
                              id_conteudo=int(id_conteudo)):

            tags = ""
            dados = {"tipo_noticia":i["tipo_noticia"],
                     "titulo_categoria":i["titulo_categoria"],
                     "titulo":i["titulo"],
                     "descricao":i["descricao"],
                     "editor":i["editor"],
                     "corpo":i["corpo"],
                     "has_video":i["video"],
                     "has_audio":i["audio"],
                     "has_galeria":i["galeria"],
                     "data_edicao":i["data_edicao"],
                     "autor":i["autor"],
                     "foto":[],
                     "video":[],
                     "destaque":[],
                     "fotos_ipad":[],
                     "videos_ipad":[],
                     "tags":tags,
                     "pdf":i["pdf"],
                     "is_capa":i["is_capa"],
                     "titulo_capa":i["titulo_capa"],
                     "ordem":i["ordem"],
                     "titulo_galeria":i["titulo_galeria"]}

            dados["destaque"].append({"titulo":i["titulo_destaque"],
                                      "descricao":i["descricao_destaque"],
                                      "img":i["imagem_destaque"]})

            for j in self.execSql("select_videos",
                                  id_conteudo=int(id_conteudo)):
                dados["video"].append(j)

            for j in self.execSql("select_noticia_autores",
                                  id_conteudo=int(id_conteudo)):
                dados["autor"].append(j)

            for j in self.execSql("select_noticia_fotos",
                                  id_conteudo=int(id_conteudo)):
                dados["foto"].append({"arquivo":j["arquivo"],
                                      "arquivo_grande":j["arquivo_grande"],
                                      "alinhamento":j["alinhamento"],
                                      "credito":j["credito"],
                                      "legenda":j["legenda"],
                                      "link":j["link"]})

            for j in self.execSql("select_fotos_ipad",
                                  id_conteudo=id_conteudo):
                dados["fotos_ipad"].append({"arquivo":j["foto"],
                                      "credito":j["credito"],
                                      "legenda":j["legenda"]})

            for j in self.execSql("select_videos_ipad",
                                  id_conteudo=id_conteudo):
                dados["videos_ipad"].append({"thumb":j["thumb"],
                                        "nome":j["nome"],
                                        "link":j["link"],
                                        "is_audio":j["is_audio"]})

            url = portal.getUrlByApp(env_site=self.id_site,
                                     schema=self.schema,
                                     id_conteudo=id_conteudo,
                                     exportar=1,
                                     admin=1,
                                     mkattr=1)

            creators = []
            if i["autor"]:
                creators.append(i["autor"])

            return {"titulo":i["titulo"],
                    "meta_type":self.meta_type,
                    "id_conteudo":id_conteudo,
                    "publicado_em":i["publicado_em"],
                    "expira_em":i["expira_em"],
                    "atualizado_em":i["atualizado_em"],
                    "url":url,
                    "creators":creators,
                    "dados":dados
                    }

        return {}