Beispiel #1
0
def registro():
    if request.method=='POST':
        phone=request.form['phone']
        corre=request.form['email']
        contra=request.form['password']
        contra2=request.form['re_password']
        img=request.form['img']

        if contra == contra2:
            salt = uuid.uuid4().hex
            sPass=hashlib.sha512(contra.encode('utf-8')  + salt.encode('utf-8')).hexdigest()
            print(salt)
            print(sPass)
            if phone and corre and contra:
                crear=Modelo.crearUsr(corre,sPass,salt,phone,img)
                if crear:
                    Modelo.entities(corre,'Registro','Se creo usuario')
                    errorLog="Se creo el usuario, inicia sesion"
                    return redirect(url_for('login'))
            else:
                Modelo.entities(corre,'Registro.Fail','No se pudo crear usuario')
                return render_template('registro.html')
        else:
            errorLog="Las contraseñas no concuerdan"
            return render_template('registro.html',errorLog=errorLog)
    return render_template('registro.html')
Beispiel #2
0
def recibos():
    if not g.user:
        return redirect(url_for('login'))
    if request.method=='POST':
            folio = request.form['folio']
            monto = request.form['monto']
            fecha = request.form['fechaCom']
            rubro = request.form['rubro']
            archivo = request.form['archivo']

            today=datetime.datetime.now()
            d1 = today.strftime("%Y-%m-%d")
            ddd=datetime.datetime.strptime(d1, '%Y-%m-%d').date()
            #print(d1)
            d2=(ddd-timedelta(days=7)).strftime("%Y-%m-%d")
            #print(d2)
            if fecha > d1 or fecha < d2:
                errorLog="La fecha no es valida. (Recuerde que los recibos tienen solo una semana de validez)"
                return render_template('uploadAn.html',errorLog=errorLog)
            else:
                if folio and monto and fecha and rubro and archivo:
                    b=Modelo.bitsUser(session['user'])
                    bips=b[0][0]
                    guardar=Modelo.crearPurch(folio,session['user'],monto,fecha,rubro,archivo,bips)
                    if guardar:
                        Modelo.entities(session['user'],'SavePurchaseInDB','Se guardo una compra en la base de datos')
                        print('se subio la data')
                        return redirect(url_for('perfil'))
                    else:
                        Modelo.entities(session['user'],'SavePurchaseInDB.Fail','No se pudo guardar en la base de datos')
                        errorLog="Revise los datos"
                        return render_template('uploadAn.html',errorLog=errorLog)
    estado=Modelo.estadoOnboarding(session['user'])
    userOnBoard=estado[0][0]
    return render_template('uploadAn.html',onboarding=userOnBoard)
Beispiel #3
0
def perfil():
    if not g.user:
        return redirect(url_for('login'))
    #dataU = Modelo.dataUsuario(session['user'])
    try:
        maxExp = Modelo.expDate(session['user'])
        dataP = Modelo.puntosUsuario(session['user'])
        try:
            date_ = maxExp[0][0].strftime("%d/%m/%Y")
        except:
            date_ = "- No hay fecha registrada"
        puntos = 0
        try:
            for data in dataP:
                puntos = puntos + data[0]
        except:
            puntos = 0
        Modelo.entities(session['user'], 'ProfileLoad',
                        'Se cargo el perfil del usuario')
        return render_template('perfil.html', puntos=puntos, expiracion=date_)
    except Exception as e:
        print(str(e))
        Modelo.entities(session['user'], 'ProfileLoad.Fail.NotFound',
                        'Error al cargar el perfil del usuario')
        errorLog = "Algo salio mal al cargar perfil, vuelva a intentarlo"
        return render_template('login.html', errorLog=errorLog)
Beispiel #4
0
def uploadContract():
        print("se llego al subidor")
        #busqueda= Modelo.buscarU(session['user'])

        files = request.files.getlist('files[]')
	
        #errors = {}
        success = False
      
        for file in files:
         if file:
            filename = secure_filename(file.filename)
            _nombrearchivo=filename
            try:
                file.save(os.path.join(app.config['UPLOAD_FOLDER5'], filename))
                success = True
            except Exception as e:
                print(str(e))

        if success:
            resp = json.dumps({'message' : 'Contrato subido con exito'})
            _nombrearchivo=filename
            _urline="./static/Contratos\\"+filename
            #resp.status_code = 201
            Modelo.entities(session['user'],'uploadContract','Subio contrato exitosamente')
            ll=Modelo.RegistroContrato(session['user'],_nombrearchivo)
            if ll:
                print("se registra")
                return json.dumps(True)
            else:
                print("ALGO SALIO MAL")
                return False
            return resp
Beispiel #5
0
def close():
    try:
        Modelo.entities(session['user'],'CloseSession','El usuario cerro sesion')
        session.clear()
        return redirect(url_for('login'))
    except:
        Modelo.entities(session['user'],'CloseSession.Fail','El usuario no pudo cerrar sesion')
        errorLog="Algo salio mal al cerrar la sesion"
        return render_template('perfil.html',errorLog=errorLog)
Beispiel #6
0
def extraerInfo(filename):
    try:
        img = Image.open(os.path.join(MYDIR + "/" + app.config['UPLOAD_FOLDER'], filename))
        #img = Image.open(os.path.join(app.config['UPLOAD_FOLDER'],filename))
        texto = pytesseract.image_to_string(img,lang='spa')
        Modelo.entities(session['user'],'GetTextFromImage','El programa extrajo el texto de la foto')
        return texto
    except:
        Modelo.entities(session['user'],'GetTextFromImage.Fail','El programa no pudo leer la foto')
        return False
Beispiel #7
0
def conversion():
    if not g.user:
        return redirect(url_for('login'))
    try:
        Modelo.entities(session['user'],'ConversionLoad','Se cargo la pagina de conversiones')
        return render_template('conversion.html')
    except Exception as e:
        print(str(e))
        Modelo.entities(session['user'],'ConversionLoad.Fail.NotFound','Error al cargar la pagina de conversiones')
        errorLog="Algo salio mal al cargar las conversiones, vuelva a intentarlo"
        return render_template('perfil.html',errorLog=errorLog)
Beispiel #8
0
def B():
        f=request.files['archi']
        filename= secure_filename(f.filename)
        usuario=f.save(os.path.join(app.config['UPLOAD_FOLDER5'],filename))
        user=request.form['archi']
        if usuario == True:
           session['user'] = user 
           Modelo.entities(user, 'subir contrato', 'Se subio el contrato exitosamente')
           #return redirect(url_for('logeado'))
        else:
            errorlog= "Te faltan campos"
            Modelo.entities(user, 'Error al subir contrato', 'No se pudo subir el contrato')
            return render_template('perfil.html', errorlog = errorlog) 
Beispiel #9
0
def form2():
    if not g.user:
        return redirect(url_for('login'))
    if request.method == 'POST':
        if request.form['ingresar']:
            folio = request.form['folio']
            monto = request.form['monto']
            fecha = request.form['fechaCom']
            rubro = request.form['rubro']
            archivo = request.form['archivo']

            today = datetime.datetime.now()
            d1 = today.strftime("%Y-%m-%d")
            ddd = datetime.datetime.strptime(d1, '%Y-%m-%d').date()
            #print(d1)
            d2 = (ddd - timedelta(days=7)).strftime("%Y-%m-%d")
            #print(d2)
            if fecha > d1 or fecha < d2:
                errorLog = "La fecha no es valida. (Recuerde que los recibos tienen solo una semana de validez)"
                return render_template('uploadAn.html',
                                       errorLog=errorLog,
                                       folio=session['fol'],
                                       monto=monto,
                                       fecha=session['fec'],
                                       archivo=session['arc'])
            else:
                if folio and monto and fecha and rubro and archivo:
                    guardar = Modelo.crearPurch(folio, session['user'], monto,
                                                fecha, rubro, archivo)
                    if guardar:
                        Modelo.entities(
                            session['user'], 'SavePurchaseInDB',
                            'Se guardo una compra en la base de datos')
                        print('se subio la data')
                        return redirect(url_for('perfil'))
                    else:
                        Modelo.entities(
                            session['user'], 'SavePurchaseInDB.Fail',
                            'No se pudo guardar en la base de datos')
                        errorLog = "Revise los datos"
                        return render_template('uploadAn.html',
                                               errorLog=errorLog)
    try:
        monto = Decimal(session['mon'].replace(',', ''))
    except:
        monto = 0
    return render_template('uploadAn.html',
                           folio=session['fol'],
                           monto=monto,
                           fecha=session['fec'],
                           archivo=session['arc'])
Beispiel #10
0
def form():
    if not g.user:
        return redirect(url_for('login'))
    if request.method == 'POST':
        if request.form['analizar']:
            print("analizando data de foto")
            file = request.files['comprobante']
            if file:
                filename = secure_filename(file.filename)
                save = guardarArch(file)
            if save:
                Modelo.entities(session['user'], 'SavePicture',
                                'El usuario subio una foto y se guardo')
                try:
                    info = extraerInfo(filename)
                    if info:
                        Modelo.entities(session['user'], 'AnalizePicture',
                                        'Se analizo la foto del usuario')
                        folio = parsearFolio(info)
                        mont = parsearMonto(info)
                        date = parsearDate(info)
                        if folio:
                            session['fol'] = folio
                        else:
                            session['fol'] = ""
                        if mont:
                            session['mon'] = mont
                        else:
                            mont = 0
                        if date:
                            try:
                                fecha = datetime.datetime.strptime(
                                    date, "%d/%b/%Y").strftime('%Y-%m-%d')
                                session['fec'] = fecha
                            except:
                                try:
                                    fecha = datetime.datetime.strptime(
                                        date, "%d/%m/%Y").strftime('%Y-%m-%d')
                                    session['fec'] = fecha
                                except:
                                    fecha = ""
                                    session['fec'] = fecha
                        else:
                            session['fec'] = ""
                        session['arc'] = filename
                        return redirect(url_for('form2'))
                except:
                    Modelo.entities(session['user'], 'AnalizePicture.Fail',
                                    'No se pudo analizar la foto')
            else:
                Modelo.entities(session['user'], 'SavePicture.Fail',
                                'No se pudo guardar el archivo')
                errorLog = "No se pudo guardar, intente de vuelta"
                return render_template('upload.html', errorLog=errorLog)
    return render_template('upload.html')
Beispiel #11
0
def ID():
   print("si llego")
   #print(session['user'])
   #busqueda= Modelo.buscarU(session['user'])

   files = request.files.getlist('files[]')

   #errors = {}
   success = False

   for file in files:
       if file:
          filename = secure_filename(file.filename)
          _nombrearchivo=filename
          sub=Modelo.IngresarIDelante(session['user'],_nombrearchivo)
          if sub:
              print("Se guardo")
       try:
            file.save(os.path.join(app.config['UPLOAD_FOLDER1'], filename))
            success = True
            print(os.path.join(app.config['UPLOAD_FOLDER1'], filename))
       except Exception as e:
            print(str(e))


       if success:
         #resp = json.jsonify({'message' : 'Files successfully uploaded'})
         _nombrearchivo=filename
         _urline="./static/INEDELANTE\\"+filename
         #Modelo.ImagenATextoINE(busqueda,_urline)
         bandera=Modelo.ImagenATextoINE(session['user'],_urline)
         if bandera == 1:
            print('NOINE')
            resp = json.dumps({'response' : 'No es una INE'})
            Modelo.entities(session['user'],'uploadINE','Documento no es una INE')
            return resp
         elif bandera == 2: 
            print('INEYAREGISTRADA')
            resp = json.dumps({'response' : 'Esa INE ya esta registrada'})
            Modelo.entities(session['user'],'uploadINE','Documento invalido, INE ya registrada')
            return resp
         elif bandera == 3: 
            print ('SEREGISTRA')
            resp = json.dumps({'response' : 'INE registrada exitosamente'})
            Modelo.entities(session['user'],'uploadINE','Subio su INE DELANTE')
            return resp
         else:
            resp = json.dumps({'response' : 'Imgen no legible'})
            Modelo.entities(session['user'],'uploadINE','Imagen lo legible')
            return resp

         #Modelo.IngresarIDelante(_nombrearchivo)
         resp.status_code = 201
         return resp
Beispiel #12
0
def login():
    if g.user:
        return redirect(url_for('perfil'))
    if request.method == 'POST':
        session.pop('user', None)
        user = request.form['correo']
        password = request.form['contraseña']
        if (user and password):
            usuario = Modelo.loginUser(user, password)
            if usuario:
                session['user'] = user
                Modelo.entities(user, 'Login', 'El usuario hace login')
                return redirect(url_for('perfil'))
            else:
                errorLog = "Los datos no concuerdan"
                Modelo.entities(user, 'Login.Fail.NotFound',
                                'Error de datos al iniciar sesion')
                return render_template('login.html', errorLog=errorLog)
    return render_template('login.html')
Beispiel #13
0
def compras():
    dataP= Modelo.puntosUsuario(session['user'])
    puntos = 0
    try:
        for data in dataP:
            puntos = puntos + data[0]
    except:
        puntos = 0
    try:
        Modelo.entities(session['user'],'TesterLoad','Se cargo la pagina de tester')
        estado=Modelo.estadoOnboarding(session['user'])
        userOnBoard=estado[0][0]
        num_calificar=Modelo.Num_CALIFICAR(session['user'])
        return render_template('compras.html',puntos=puntos,onboarding=userOnBoard,num_calificar=num_calificar)
    except Exception as e:
        print(str(e))
        Modelo.entities(session['user'],'TesterLoad.Fail.NotFound','Error al cargar el tester')
        errorLog="Algo salio mal al cargar el tester, vuelva a intentarlo"
        return render_template('compras.html',errorLog=errorLog)
Beispiel #14
0
def OnBoard():
    if request.method=='POST':
        data=request.get_json()
        estado=data['estado']
        try:
            data=Modelo.setEstadoOnboarding(session['user'],estado)
            if data:
                if estado==4:
                    Modelo.entities(session['user'],'OnBoardingEnd','El usuario completo el OnBoarding')
                elif estado==5:
                    Modelo.entities(session['user'],'OnBoardingReward','El usuario vio el OnBoard de reward')
                else:
                    Modelo.entities(session['user'],'ChangeState','El usuario completo una fase del OnBoarding')
                return json.dumps(data,ensure_ascii=False)
            else:
                Modelo.entities(session['user'],'ChangeState.Fail','No se pudo cambiar el estado del OnBoarding')
                return json.dumps(False)
        except Exception as e:
            Modelo.entities(session['user'],'ChangeState.Fail','No se pudo cambiar el estado del OnBoarding')
            print(str(e))
            return json.dumps(False)
Beispiel #15
0
def getObjDB():
    if request.method=='POST':
        data=request.get_json()
        nombre=data['nombre']
        try:
            data=Modelo.buscarObj(nombre)
            Modelo.entities(session['user'],'BuscarObjeto','Se busca el objeto en la base de datos')
            if data:
                Modelo.entities(session['user'],'ObjectFound','Se encontro el objeto en la base de datos')
                return json.dumps(data,ensure_ascii=False)
            else:
                Modelo.entities(session['user'],'ObjectFound.Fail','No se encontro el objeto en la base de datos')
                return json.dumps(False)
        except Exception as e:
            Modelo.entities(session['user'],'BuscarObjeto.Fail','No se pudo buscar el objeto')
            print(str(e))
            return json.dumps(False)
Beispiel #16
0
def catalogo():
    if not g.user:
        return redirect(url_for('login'))
    try:
        b=Modelo.bitsUser(session['user'])
        bips=b[0][0]
        if int(bips) < 1000:
            data=Modelo.catalogo(7)
        elif int(bips) > 999 and int(bips) < 2000:
            data=Modelo.catalogo(10)
        elif int(bips) > 1999 and int(bips) < 3000:
            data=Modelo.catalogo(13)
        elif int(bips) > 2999 and int(bips) < 4000:
            data=Modelo.catalogo(20)
        elif int(bips) >= 4000:
            data=Modelo.catalogo(25)
        
        Modelo.entities(session['user'],'CatalogLoad','Se cargo la pagina de catalogo')
        return render_template('catalogo.html',data=data)
    except Exception as e:
        print(str(e))
        Modelo.entities(session['user'],'CatalogLoad.Fail.NotFound','Error al cargar la pagina de catalogo')
        errorLog="Algo salio mal al cargar el catalogo, vuelva a intentarlo"
        return render_template('perfil.html',errorLog=errorLog)
Beispiel #17
0
def parsearMonto(info):
    montorex= r"IMPORTE ([0-9].+)"
    montorex2 = r"^TOTAL ([0-9].+)"
    try:
        monto=re.findall(montorex,info, re.MULTILINE)
        if monto:
            Modelo.entities(session['user'],'GetMontoFromImage','Se encontro el monto')
            return monto[0]
        else:
            monto=re.findall(montorex2,info, re.MULTILINE)
            if monto:
                Modelo.entities(session['user'],'GetMontoFromImage','Se encontro el monto')
                return monto[0]
            else:
                Modelo.entities(session['user'],'GetMontoFromImage.Fail','No se encontro ningun monto')
                return False
    except:
        Modelo.entities(session['user'],'GetMontoFromImage.Fail','No se encontro ningun monto')
        return False
Beispiel #18
0
def parsearFolio(info):
    foliorex= r"REFERENCIA (\d+)"
    foliorex2 = r"RECEIPT : ([A-Za-z0-9]+)"
    try:
        folio=re.findall(foliorex,info, re.MULTILINE)
        if folio:
            Modelo.entities(session['user'],'GetFolioFromImage','Se encontro el folio')
            return folio[0]
        else:
            folio=re.findall(foliorex2,info, re.MULTILINE)
            if folio:
                Modelo.entities(session['user'],'GetFolioFromImage','Se encontro el folio')
                return folio[0]
            else:
                Modelo.entities(session['user'],'GetFolioFromImage.Fail','No se encontro ningun folio')
                return False
    except:
        Modelo.entities(session['user'],'GetFolioFromImage.Fail','No se encontro ningun folio')
        return False
Beispiel #19
0
def parsearDate(info):
    fecharex= r"(\d{2}/[A-Za-z0-9]+/\d{2,})"
    try:
        fecha=re.findall(fecharex,info, re.MULTILINE)
        if fecha:
            Modelo.entities(session['user'],'GetDateFromImage','Se encontro la fecha')
            return fecha[0]
        else:
            Modelo.entities(session['user'],'GetDateFromImage.Fail','No se encontro ninguna fecha')
            return False
    except:
        Modelo.entities(session['user'],'GetDateFromImage.Fail','No se encontro ninguna fecha')
        return False
Beispiel #20
0
def perfil():
    if not g.user:
        return redirect(url_for('login'))
    try:
        estado=Modelo.estadoOnboarding(session['user'])
        if estado:
            userOnBoard=estado[0][0]
            maxExp= Modelo.expDate(session['user'])
            dataP= Modelo.puntosUsuario(session['user'])
            acumP=Modelo.puntfal(session['user'])
            b=Modelo.bitsUser(session['user'])
            bips=b[0][0]
            #print(userOnBoard)
            #print(bips) 
            if bips==0:
                bips=1
            r=Modelo.rewardsUsr(bips)
            #print(r)
            try:
                date_= maxExp[0][0].strftime("%d/%m/%Y")
            except:
                date_="- No hay fecha registrada"
            puntos = 0
            puntosF = 0 
            try:
                for data in dataP:
                    puntos = puntos + data[0]
            except:
                puntos = 0
            try:
                for dataf in acumP:
                    puntosF = puntosF + dataf[0]
            except:
                puntosF = 0 
            dataU = Modelo.dataUsuario(session['user'])
            num_calificar=Modelo.Num_CALIFICAR(session['user'])
            Modelo.entities(session['user'],'ProfileLoad','Se cargo el perfil del usuario')
            #print(dataU)
            return render_template('perfil_cliente.html',onboarding=userOnBoard,puntos=puntos, expiracion=date_,puntosF=puntosF,nivel=r[0][0], tabla=dataU,num_calificar=num_calificar )
        else:
            Modelo.entities(session['user'],'UserOnBoarding.Fail','Ocurrio un error con el proceso de OnBoarding del usuario')
            errorLog="Algo salio mal al cargar perfil, vuelva a intentarlo"
            return render_template('login.html',errorLog=errorLog)
        
    except Exception as e:
        print(str(e))
        Modelo.entities(session['user'],'ProfileLoad.Fail.NotFound','Error al cargar el perfil del usuario')
        errorLog="Algo salio mal al cargar perfil, vuelva a intentarlo"
        return render_template('login.html',errorLog=errorLog)
Beispiel #21
0
def form():
    if request.method=='POST':
        print("analizando data de foto")
        file = request.files['file']
        if file:
            filename = secure_filename(file.filename)
            save=guardarArch(file)
            if save: 
                Modelo.entities(session['user'],'SavePicture','El usuario subio una foto y se guardo')
                info=extraerInfo(filename)
                if info:
                        Modelo.entities(session['user'],'AnalizePicture','Se analizo la foto del usuario')
                        folio=parsearFolio(info)
                        mont=parsearMonto(info)
                        date=parsearDate(info)
                        if not folio:
                            folio=""
                        if not mont:
                            mont=0
                        if date:
                            try:
                                fecha=datetime.datetime.strptime(date, "%d/%b/%Y").strftime('%Y-%m-%d')
                            except:
                                try:
                                    fecha=datetime.datetime.strptime(date, "%d/%m/%Y").strftime('%Y-%m-%d')
                                except:
                                    fecha=""
                        else:
                            fecha=""
                        data=[folio,mont,fecha,filename]
                        v=json.dumps(data,ensure_ascii=False)
                        return v
                else:
                    Modelo.entities(session['user'],'AnalizePicture.Fail','No se pudo analizar la foto')
                    return json.dumps(False)
            else:
                Modelo.entities(session['user'],'SavePicture.Fail','No se pudo guardar el archivo')
                return json.dumps(False)
Beispiel #22
0
def rewards():
    if not g.user:
        return redirect(url_for('login'))
    try:
        estado=Modelo.estadoOnboarding(session['user'])
        if estado:
            userOnBoard=estado[0][0]
            dataP= Modelo.puntosUsuario(session['user'])
            acumP=Modelo.puntfal(session['user'])
            b=Modelo.bitsUser(session['user'])
            bips=b[0][0]
            if bips==0:
                bips=1
            r=Modelo.rewardsUsr(bips)
            nextLvl=Modelo.nextLvl(r[0][0])
            bipsPer=(int(bips)*100)/int(nextLvl[0][6])
            faltan=int(nextLvl[0][6])-int(bips)
            puntos = 0
            puntosF = 0 
            try:
                for data in dataP:
                    puntos = puntos + data[0]
            except:
                puntos = 0
            try:
                for dataf in acumP:
                    puntosF = puntosF + dataf[0]
            except:
                puntosF = 0 
            num_calificar=Modelo.Num_CALIFICAR(session['user'])
            Modelo.entities(session['user'],'RewardsLoad','Se cargo el perfil de rewards')
            return render_template('rewardsD.html',onboarding=userOnBoard,puntos=puntos,puntosF=puntosF,
            nivel=r[0][0],nivelN=r[0][1],r1=r[0][2],r2=r[0][3],r3=r[0][4],r4=r[0][5],bips=bips,bipsPer=bipsPer,
            faltan=faltan,nlvl=nextLvl[0][1],rNL1=nextLvl[0][2],rNL2=nextLvl[0][3],num_calificar=num_calificar)
        else:
            Modelo.entities(session['user'],'RewardsLoad.Fail','No se cargaron los rewards')
            errorLog="Algo salio mal al cargar perfil, vuelva a intentarlo"
            return render_template('perfil.html',errorLog=errorLog)
    except Exception as e:
        print(str(e))
        Modelo.entities(session['user'],'RewardsLoad.Fail','No se cargaron los rewards')
        errorLog="Algo salio mal al cargar perfil, vuelva a intentarlo"
        return render_template('perfil.html',errorLog=errorLog)
Beispiel #23
0
def historial():
    if not g.user:
        return redirect(url_for('login'))
    try:
        dataU = Modelo.dataUsuario(session['user'])
        Modelo.entities(session['user'], 'HistoryLoad',
                        'Se cargo el historial del usuario')
        return render_template('historial.html', tabla=dataU)
    except:
        try:
            Modelo.entities(session['user'], 'HistoryLoad',
                            'Se cargo el historial del usuario')
            vac = "No se ha registrado ningún movimiento aún"
            return render_template('historial.html', vac=vac)
        except Exception as e:
            print(str(e))
            Modelo.entities(session['user'], 'HistoryLoad.Fail.NotFound',
                            'Error al cargar el historial del usuario')
            errorLog = "Algo salio mal al cargar tu historial, vuelva a intentarlo"
            return render_template('perfil.html', errorLog=errorLog)
Beispiel #24
0
def subdocumentos():
   #busqueda= Modelo.buscarU(session['user'])
   Modelo.entities(session['user'],'documentos','Entro a mis documentos')
   return render_template("documentosdb.html") 
Beispiel #25
0
def getObj():
    if request.method=='POST':
            print("analizando data de foto")
            file = request.files['file']
            try:
                detect_objects_results_local = computervision_client.detect_objects_in_stream(file)
                Modelo.entities(session['user'],'ObjectDetect','Se corrio el API')
            except Exception as e:
                print(str(e))
                Modelo.entities(session['user'],'ObjectDetect.Fail','No se pudo correr el API')
                return json.dumps(False) 
            print("Detecting objects in local image:")
            if len(detect_objects_results_local.objects) == 0:
                Modelo.entities(session['user'],'ObjectDetect.Fail','No se detecto ningun objeto')
                print("No objects detected.")
                return json.dumps(False)
            else:
                Modelo.entities(session['user'],'ObjectDetect','Se detecto un objeto')
                for object in detect_objects_results_local.objects:
                    print("object at location {}".format(object.object_property))

                    headers = {
                        'Ocp-Apim-Subscription-Key': "a17af57ca4ca4ec2ab4930bce9967c13",
                        'Ocp-Apim-Subscription-Region':'southcentralus',
                        'Content-type': 'application/json',
                        'X-ClientTraceId': str(uuid.uuid4())
                    }
                    
                    body = [{
                        'text' : object.object_property
                    }]
                    try:
                        requestt = requests.post("https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=es",  headers=headers, json=body)
                        response = requestt.json()
                        print(json.dumps(response, sort_keys=True, ensure_ascii=False, indent=4, separators=(',', ': ')))
                        data=json.dumps(response,ensure_ascii=False)
                        Modelo.entities(session['user'],'Translate','Se traducio el objeto')
                        return data
                    except Exception as e:
                        print(str(e))
                        Modelo.entities(session['user'],'Translate.Fail','No se pudo traducir el objeto')
                        return json.dumps(False)