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
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
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
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 {}
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
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 {}
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
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 {}
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
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
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
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 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
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 {}
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
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
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
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}
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 {}
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"
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}
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]}
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
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
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
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)
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
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
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 {}
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 {}