def empresa_list(cls, request): try: token = jwt.decode(request.tokenint, 'secret') #CHECA EL TOKEN user = Usuarios.get_by_id( token['user_id']) #obtiene usuario dado el token #if user.importante==1 or user.importante==2: lista = [] #crea lista para guardar contenido de la BD lstMessage = EmpresaList(code=1) #CREA el mensaje de salida lstBdEmpresa = Empresa.query().fetch( ) #obtiene de la base de datos for i in lstBdEmpresa: #recorre la base de datos #inserta a la lista creada con los elementos que se necesiten de la base de datos #i.empresa_key.urlsafe() obtiene el entityKey #lista.append(ClientesUpdate(token='', nombre=i.nombre, status=i.status, empresa_key=i.empresa_key.urlsafe(), entityKey=i.entityKey)) lista.append( EmpresaUpdate(token='', entityKey=i.entityKey, codigo_empresa=i.codigo_empresa, nombre_empresa=i.nombre_empresa)) lstMessage.data = lista #ASIGNA a la salida la lista message = lstMessage #else: # message = EmpresaList(code=-3, data=[]) except jwt.DecodeError: message = EmpresaList(code=-1, data=[]) except jwt.ExpiredSignatureError: message = EmpresaList(code=-2, data=[]) return message
def empresa_add(cls, request): try: token = jwt.decode(request.token, 'secret') #CHECA EL TOKEN user = Usuarios.get_by_id( token['user_id']) #obtiene el usuario models.py myempresa = Empresa() if myempresa.empresa_m(request) == 0: codigo = 1 else: codigo = -3 #la funcion josue_m puede actualizar e insertar #depende de la ENTRADA de este endpoint method message = CodeMessage(code=codigo, message='Succesfully added') #else: # message = CodeMessage(code=-4, message='Succesfully added') except jwt.DecodeError: message = CodeMessage(code=-2, message='Invalid token') except jwt.ExpiredSignatureError: message = CodeMessage(code=-1, message='Token expired') return message
def empresa_update(cls, request): try: token = jwt.decode(request.token, 'secret') #CHECA EL TOKEN user = Usuarios.get_by_id( token['user_id'] ) #obtiene el usuario para poder acceder a los metodos declarados en models.py en la seccion de USUARIOS #empresakey = ndb.Key(urlsafe=request.empresa_key)#convierte el string dado a entityKey myempresa = Empresa() if myempresa.empresa_m( request ) == 0: #llama a la funcion declarada en models.py en la seccion de USUARIOS codigo = 1 else: codigo = -3 #la funcion josue_m puede actualizar e insertar #depende de la ENTRADA de este endpoint method message = CodeMessage( code=1, message='Sus cambios han sido guardados exitosamente') except jwt.DecodeError: message = CodeMessage(code=-2, message='Invalid token') except jwt.ExpiredSignatureError: message = CodeMessage(code=-1, message='Token expired') return message
def criar(): if request.method == 'POST': # Ir buscar dados ao html nome = request.form.get('nome') tipo = request.form.get('tipo') # Adicionar na bd empresa = Empresa(nome=nome, tipo=tipo) db.session.add(empresa) db.session.commit() flash("Empresa adicionado", category="success") return redirect(url_for('empresa.lista')) return render_template("empresa/criar.html")
def get(self): empresas = Empresa.query().fetch() myList = [] for i in empresas: empObj = DemoClass() empObj.nombre = i.nombre_empresa empObj.codigo = i.codigo_empresa empObj.id_empresa = i.entityKey empObj.lat = i.lat empObj.lng = i.lng myList.append(empObj.nombre) emp_key = ndb.Key(urlsafe=empObj.id_empresa) objemp = emp_key.get() strKey = objemp.key.urlsafe() myEmpKey = ndb.Key(urlsafe=strKey) myartist = Artist.query(Artist.empresa_key == myEmpKey) for i in myartist: artObj = DemoClass() artObj.nombre = i.nombre artObj.urlImage = i.urlImage artObj.id_artist = i.entityKey myList.append(artObj.nombre) myList.append("\n") allArtists = "\n".join(str(x) for x in myList) fileName = "/" + bucketName + "/artists.txt" try: with cloudstorage.open(fileName, "r") as gcsFile: tempStorage = gcsFile.read() tempStorage += "\n" except: tempStorage = "" with cloudstorage.open(fileName, "w") as gcsFile: gcsFile.write(str(allArtists)) # gcsFile.write(tempStorage + str(allArtists)) with cloudstorage.open(fileName, "r") as gcsFile: output = gcsFile.read() self.response.out.write(output)
def get(self): self.response.headers.add_header('Access-Control-Allow-Origin', '*') # Permite que cualquier servicio lo invoque desde cualquier direccion self.response.headers['Content-Type'] = 'application/json' # Creo que asiga el tipo de respuesta a renguaje de objetos de javascript JS-O-N id_empresa = self.request.get('empresa') # Obtengo de las variables get, la variable empresa objemp = Empresa.query(Empresa.codigo_empresa == id_empresa).get() # query a la base de datos, la tabla empresa WHERE strKey = objemp.key.urlsafe() # obtengo el key del objeto que me regreso, le aplico un urlsafe?... mehh.... myEmpKey = ndb.Key(urlsafe=strKey) # le hago algo a la llave para poder usarla en la query myTeam = Portafolio.query(Portafolio.empresa_key == myEmpKey) #query a la tabla Team con el WHERE en los parentesis myList = [] for i in myTeam: myObj = DemoClass() myObj.urlImage = i.urlImage myList.append(myObj) json_string = json.dumps(myList, default=MyClass) self.response.write(json_string)
def get(self): self.response.headers.add_header('Access-Control-Allow-Origin', '*') self.response.headers['Content-Type'] = 'application/json' empresas = Empresa.query().fetch() myList = [] for i in empresas: myObj = DemoClass() myObj.nombre = i.nombre_empresa myObj.codigo = i.codigo_empresa myObj.id_empresa = i.entityKey myObj.lat = i.lat myObj.lng = i.lng myList.append(myObj) json_string = json.dumps(myList, default=MyClass) self.response.write(json_string)
def get(self): self.response.headers.add_header('Access-Control-Allow-Origin', '*') self.response.headers['Content-Type'] = 'application/json' id_empresa = self.request.get('empresa') objemp = Empresa.query(Empresa.codigo_empresa == id_empresa).get() strKey = objemp.key.urlsafe() myEmpKey = ndb.Key(urlsafe=strKey) myTeam = Team.query(Team.empresa_key == myEmpKey) myList = [] for i in myTeam: myObj = DemoClass() myObj.nombre = i.nombre myObj.puesto = i.puesto myObj.urlImage = i.urlImage myList.append(myObj) json_string = json.dumps(myList, default=MyClass) self.response.write(json_string)
def get(self): self.response.headers.add_header('Access-Control-Allow-Origin', '*') self.response.headers['Content-Type'] = 'application/json' id_empresa = self.request.get('empresa') objemp = Empresa.query(Empresa.codigo_empresa == id_empresa).get() myUsers = Usuarios.query() myList = [] for i in myUsers: myObj = DemoClass() myObj.nombre = i.nombre myObj.email = i.email myObj.edad = i.edad myObj.talla = i.talla myObj.urlImage = i.urlImage myList.append(myObj) json_string = json.dumps(myList, default=MyClass) self.response.write(json_string)
def get(self): self.response.headers.add_header('Access-Control-Allow-Origin', '*') self.response.headers['Content-Type'] = 'application/json' id_empresa = self.request.get('empresa') objemp = Empresa.query(Empresa.codigo_empresa == id_empresa).get() strKey = objemp.key.urlsafe() myEmpKey = ndb.Key(urlsafe=strKey) myKeyboard = Keyboard.query(Keyboard.empresa_key == myEmpKey) myLista = [] for i in myKeyboard: myObj = DemoClass() myObj.marcakey = i.marcakey myObj.modelokey = i.modelokey myObj.teclas = i.teclas myObj.precio = i.precio myObj.urlImage = i.urlImage myLista.append(myObj) json_string = json.dumps(myLista, default=MyClass) self.response.write(json_string)
def get(self): self.response.headers.add_header('Access-Control-Allow-Origin', '*') self.response.headers['Content-Type'] = 'application/json' id_empresa = self.request.get('empresa') objemp = Empresa.query(Empresa.codigo_empresa == id_empresa).get() strKey = objemp.key.urlsafe() myEmpKey = ndb.Key(urlsafe=strKey) myBlog = Blog.query(Blog.empresa_key == myEmpKey) myList = [] for i in myBlog: myObj = DemoClass() myObj.title = i.title myObj.description = i.description myObj.author = i.author myObj.date = i.date myObj.urlImage = i.urlImage myList.append(myObj) json_string = json.dumps(myList, default=MyClass) self.response.write(json_string)
def get(self): self.response.headers.add_header('Access-Control-Allow-Origin', '*') self.response.headers['Content-Type'] = 'application/json' id_user = self.request.get('empresa') objemp = Empresa.query(Empresa.codigo_empresa == id_user).get() strKey = objemp.key.urlsafe() myEmpKey = ndb.Key(urlsafe=strKey) myInstructors = Instructor.query() myList = [] for i in myInstructors: myObj = DemoClass() myObj.id = i.key.urlsafe() myObj.name = i.name myObj.lastname = i.lastname myObj.age = i.age myObj.sport = i.sport myObj.urlImage = i.urlImage myList.append(myObj) json_string = json.dumps(myList, default=MyClass) self.response.write(json_string)
def get(self): pagina = self.request.get('pagina') if not pagina: pagina = 1 else: try: pagina = int(pagina) except ValueError: pagina = 1 if pagina > 0: pagina -= 1 batchsize = 500 offset = batchsize * pagina self.response.headers['Content-Type'] = 'text/csv' #self.response.headers['Content-Type'] = 'application/json; charset=utf-8' self.response.out.write("cta.Nombre,cta.Apellidos,cta.Puesto,cta.Email,cta.EmailAlt,cta.Pass,cta.Tel,cta.Cel,cta.FechaHora,cta.CodigoCfm,cta.Status,IdEmp,RFC,Nombre Empresa,Logo,Razon Social,Dir.Calle,Dir.Colonia,Dir.Entidad,Dir.Municipio,Dir.Cp,Dir.Numero Suc,Organiso Emp,Otro Organismo,Reg Org. Empresarial,Url,PartLinea,ExpComer,Descripcion,FechaHora Alta Emp.,emp.Status\n") ctas = Cta.all().order("FechaHora") for cta in ctas.run(batch_size=20000, limit=500): empresas = Empresa.all() empresas.ancestor(cta) for emp in empresas: entidad = '' entidades = Entidad.all().filter("CveEnt =", emp.DirEnt) for ent in entidades: entidad = ent.Entidad municipio = '' municipios = Municipio.all().filter("CveMun =", emp.DirMun) for mun in municipios: municipio = mun.Municipio haslogo = 'no' shortlogos = ShortLogo.all().filter("IdEmp =", emp.IdEmp) for sl in shortlogos: haslogo = 'si' self.response.out.write('"' + cta.Nombre + '","' + cta.Apellidos + '","' + cta.Puesto + '","' + cta.Email + '","' + cta.EmailAlt + '","' + cta.Pass + '","' + cta.Tel + '","' + cta.Cel + '","' + str(cta.FechaHora) + '","' + cta.CodigoCfm + '","' + str(cta.Status) + '","' + emp.IdEmp + '","' + emp.RFC + '","' + emp.Nombre + '","' + haslogo + '","' + emp.RazonSoc + '","' + emp.DirCalle + '","' + emp.DirCol + '","' + entidad + '","' + municipio + '","' + emp.DirCp + '","' + emp.NumSuc + '","' + emp.OrgEmp + '","' + emp.OrgEmpOtro + '","' + emp.OrgEmpReg + '","' + emp.Url + '","' + str(emp.PartLinea) + '","' + str(emp.ExpComer) + '","' + str(emp.Desc).replace(u'\u00e1',u'a').replace(u'\u00e9',u'e').replace(u'\u00ed',u'i').replace(u'\u00f3',u'o').replace(u'\u00fa',u'u').replace(u'\u00f1',u'n').replace('\n',' ').replace('\r',' ') + '","' + str(emp.FechaHora) + '","' + str(emp.Status) + '"\n')
def post(self): self.response.headers['Content-Type'] = 'text/plain' try: batchsize = int(self.request.get('batchsize')) batchnumber = int(self.request.get('batchnumber')) if batchsize is None: batchsize = 10 if batchnumber is None: batchnumber = 0 except ValueError: batchsize = 10 batchnumber = 0 offset = batchnumber * batchsize sucs = Sucursal.all() for b in MvBlob.all().order ("-FechaHora").run(limit=1): sucs.filter("FechaHora >", b.FechaHora) sucs.order("FechaHora")#[offset:offset + batchsize] logging.info('MvBlob generation, batchsize: ' + str(batchsize) + ',batchnumber: ' + str(batchnumber) + '. [' + str(offset) + ':' + str(offset + batchsize) + ']') for suc in sucs.run(offset=offset, limit=batchsize): HasOferta = False olist = [] OSs = OfertaSucursal.all().filter("IdSuc =", suc.IdSuc) for OS in OSs: HasOferta = True olist.append(OS.IdOft) if HasOferta: als = MvBlob.all().filter("IdSuc =", suc.IdSuc) for al in als: db.delete(al) sucdict = {'id': suc.IdSuc, 'nombre': suc.Nombre, 'lat': suc.Geo1, 'long': suc.Geo2, 'fechamod': str(suc.FechaHora)} ent = None entidades = Entidad.all().filter("CveEnt =", suc.DirEnt) for entidad in entidades: ent = entidad.Entidad mun = None municipios = Municipio.all().filter("CveEnt =", suc.DirEnt).filter("CveMun =", suc.DirMun) for municipio in municipios: mun = municipio.Municipio sucdict['direccion'] = {'calle': suc.DirCalle, 'colonia': suc.DirCol, 'cp': suc.DirCp,'entidad_id': suc.DirEnt, 'entidad': ent,'municipio_id': suc.DirMun, 'municipio': mun} empresas = Empresa.all().filter("IdEmp = ", suc.IdEmp) for empresa in empresas.run(limit=1): empresadict = {'id': empresa.IdEmp, 'nombre': empresa.Nombre, 'url': empresa.Url, 'url_logo': ''} sucdict['empresa'] = empresadict urllogo = 'http://www.elbuenfin.org/imgs/imageDefault.png' ofertaslist = [] for o in olist: ofertas = Oferta.all().filter("IdOft =", o).run() for oferta in ofertas: url = 'http://www.elbuenfin.org/imgs/imageDefault.png' try: if oferta.Codigo and oferta.Codigo.replace('https://','http://')[0:7] == 'http://': url = oferta.Codigo except AttributeError: err = 'logourl' try: if oferta.Codigo is None and oferta.BlobKey and oferta.BlobKey != None and oferta.BlobKey.key() != 'none': url = 'http://' + APPID + '/ofimg?id=' + str(oferta.BlobKey.key()) except AttributeError: err = 'logourl' if url == 'http://www.elbuenfin.org/imgs/imageDefault.png' and oferta.Promocion is not None and oferta.Promocion != '': url = oferta.Promocion if oferta.Promocion is not None and oferta.Promocion != '': urllogo = oferta.Promocion ofertadict = {'id': oferta.IdOft, 'oferta': oferta.Oferta, 'descripcion': oferta.Descripcion, 'descuento': oferta.Descuento, 'promocion': oferta.Promocion, 'enlinea': oferta.Enlinea, 'precio': oferta.Precio, 'url': oferta.Url, 'url_logo': url, 'fechapub': str(oferta.FechaHoraPub.strftime('%Y-%m-%d'))} palabraslist = [] palabras = OfertaPalabra.all().filter("IdOft =", oferta.IdOft) for palabra in palabras: palabraslist.append(palabra.Palabra) ofertadict['palabras'] = palabraslist cat = None categorias = Categoria.all().filter("IdCat =", oferta.IdCat) for categoria in categorias: cat = categoria.Categoria ofertadict['categoria_id'] = oferta.IdCat ofertadict['categoria'] = cat ofertaslist.append(ofertadict) sucdict['ofertas'] = ofertaslist sucdict['empresa']['url_logo'] = urllogo mvblob = MvBlob() mvblob.FechaHora = suc.FechaHora mvblob.IdSuc = suc.IdSuc mvblob.Blob = json.dumps(sucdict) mvblob.put() else: pass
def try_empresa(id): try: return Empresa.get(Empresa.id == id) except Empresa.DoesNotExist: abort(404)
def get_datos(): datos = Empresa.select() datos = [empresa.to_json() for empresa in datos] return jsonify(generate_response(data=datos))