def getEstabelecimentosPublicados(self, limit=None, offset=None, exportar=1, admin=1): portal = Portal(id_site=self.id_site, request=self.request) res = [] for i in self.execSql("select_estabelecimento_publicado", limit=int(limit), offset=int(offset)): i['url'] = self._getUrlByApp(env_site=self.id_site, schema=self.schema, id_conteudo=i["id_conteudo"], exportar=exportar, admin=admin) i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site) i["categorias"]=[] for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])): categoria = {"id_categoria":j["id_categoria"], "nome":j["nome"]} i["categorias"].append(categoria) res.append(i) qtde = self.execSql("select_estabelecimento_publicado_count").next()["qtde"] return {"itens":res, "qtde": qtde}
def getEstabelecimentosCategoria(self, limit=None, offset=None, regiao=None, categoria=None, nome=None, exportar=1, admin=1): portal = Portal(id_site=self.id_site, request=self.request) if nome=='todos': nome=None res = [] if categoria=='todas' and regiao !='todas' and nome == None : qtde = self.execSql("select_count_estabelecimento_regiao", regiao=int(regiao)).next()["qtde"] for i in self.execSql("select_estabelecimento_regiao", regiao=int(regiao), limit=int(limit), offset=int(offset)): i['url'] = self._getUrlByApp(env_site=self.id_site, schema=self.schema, id_conteudo=i["id_conteudo"], exportar=exportar, admin=admin) i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site) i["categorias"]=[] for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])): categoria = {"id_categoria":j["id_categoria"], "nome":j["nome"]} i["categorias"].append(categoria) res.append(i) return {"itens":res, "qtde":qtde} elif regiao =='todas' and categoria !='todas' and nome == None : qtde = self.execSql("select_count_estabelecimento_categoria", categoria=int(categoria)).next()["qtde"] for i in self.execSql("select_estabelecimento_categoria", categoria=int(categoria), limit=int(limit), offset=int(offset)): i['url'] = self._getUrlByApp(env_site=self.id_site, schema=self.schema, id_conteudo=i["id_conteudo"], exportar=exportar, admin=admin) i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site) i["categorias"]=[] for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])): categoria = {"id_categoria":j["id_categoria"], "nome":j["nome"]} i["categorias"].append(categoria) res.append(i) return {"itens":res, "qtde":qtde} elif regiao =='todas' and categoria =='todas' and nome !=None : qtde = self.execSql("select_estabelecimento_nome_count", nome=nome).next()["qtde"] for i in self.execSql("select_estabelecimento_nome", nome=nome, limit=int(limit), offset=int(offset)): i['url'] = self._getUrlByApp(env_site=self.id_site, schema=self.schema, id_conteudo=i["id_conteudo"], exportar=exportar, admin=admin) i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site) i["categorias"]=[] for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])): categoria = {"id_categoria":j["id_categoria"], "nome":j["nome"]} i["categorias"].append(categoria) res.append(i) return {"itens":res, "qtde":qtde} elif categoria =='todas' and regiao !='todas' and nome != None : qtde = self.execSql("select_estabelecimento_nome_regiao_count", regiao=int(regiao), nome=nome).next()["qtde"] for i in self.execSql("select_estabelecimento_nome_regiao", nome=nome, regiao=int(regiao), limit=int(limit), offset=int(offset)): i['url'] = self._getUrlByApp(env_site=self.id_site, schema=self.schema, id_conteudo=i["id_conteudo"], exportar=exportar, admin=admin) i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site) i["categorias"]=[] for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])): categoria = {"id_categoria":j["id_categoria"], "nome":j["nome"]} i["categorias"].append(categoria) res.append(i) return {"itens":res, "qtde":qtde} elif regiao =='todas' and categoria !='todas' and nome != None : qtde = self.execSql("select_estabelecimento_nome_categoria_count", categoria=int(categoria), nome=nome).next()["qtde"] for i in self.execSql("select_estabelecimento_nome_categoria", nome=nome, categoria=int(categoria), limit=int(limit), offset=int(offset)): i['url'] = self._getUrlByApp(env_site=self.id_site, schema=self.schema, id_conteudo=i["id_conteudo"], exportar=exportar, admin=admin) i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site) i["categorias"]=[] for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])): categoria = {"id_categoria":j["id_categoria"], "nome":j["nome"]} i["categorias"].append(categoria) res.append(i) return {"itens":res, "qtde":qtde} elif categoria != 'todas' and regiao !='todas' and nome==None: qtde = self.execSql("select_count_estabelecimento_categoria_regiao", categoria=int(categoria), regiao=int(regiao)).next()["qtde"] for i in self.execSql("select_estabelecimento_categoria_regiao", categoria=int(categoria), regiao=int(regiao), limit=int(limit), offset=int(offset)): i['url'] = self._getUrlByApp(env_site=self.id_site, schema=self.schema, id_conteudo=i["id_conteudo"], exportar=exportar, admin=admin) i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site) i["categorias"]=[] for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])): categoria = {"id_categoria":j["id_categoria"], "nome":j["nome"]} i["categorias"].append(categoria) res.append(i) return {"itens":res, "qtde":qtde} elif categoria != 'todas' and regiao !='todas' and nome !=None: qtde = self.execSql("select_count_estabelecimento_categoria_regiao_nome", nome= nome, categoria=int(categoria), regiao=int(regiao)).next()["qtde"] for i in self.execSql("select_estabelecimento_categoria_regiao_nome", nome=nome, categoria=int(categoria), regiao=int(regiao), limit=int(limit), offset=int(offset)): i['url'] = self._getUrlByApp(env_site=self.id_site, schema=self.schema, id_conteudo=i["id_conteudo"], exportar=exportar, admin=admin) i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site) i["categorias"]=[] for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])): categoria = {"id_categoria":j["id_categoria"], "nome":j["nome"]} i["categorias"].append(categoria) res.append(i) return {"itens":res, "qtde":qtde} else: qtde = self.execSql("select_estabelecimento_publicado_count").next()["qtde"] for i in self.execSql("select_estabelecimento_publicado", limit=int(limit), offset=int(offset)): i['url'] = self._getUrlByApp(env_site=self.id_site, schema=self.schema, id_conteudo=i["id_conteudo"], exportar=exportar, admin=admin) i['imagem_destaque'] = portal.getUrlByFile(i['imagem_destaque'], id_site=self.id_site) i["categorias"]=[] for j in self.execSql("select_categoria_estabelecimento", id_conteudo=int(i["id_conteudo"])): categoria = {"id_categoria":j["id_categoria"], "nome":j["nome"]} i["categorias"].append(categoria) res.append(i) return {"itens":res, "qtde":qtde}
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