Пример #1
0
    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
Пример #2
0
    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
Пример #3
0
 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
Пример #4
0
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")
Пример #5
0
    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)
Пример #6
0
    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)
Пример #7
0
    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)
Пример #8
0
    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)
Пример #9
0
    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)
Пример #10
0
    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)
Пример #11
0
    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)
Пример #13
0
	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')
Пример #14
0
	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
Пример #15
0
def try_empresa(id):
    try:
        return Empresa.get(Empresa.id == id)
    except Empresa.DoesNotExist:
        abort(404)
Пример #16
0
def get_datos():
    datos = Empresa.select()
    datos = [empresa.to_json() for empresa in datos]
    return jsonify(generate_response(data=datos))