예제 #1
0
def getOneClient(id):
    if r.exists('cliente:{}'.format(id)):
        return r.get('cliente:{}'.format(id))
    else:
        data = Cliente.query.filter_by(id=id)
        arrayData = []
        arrayData.append({
            'id':
            data[0].id,
            'nombres':
            data[0].nombres,
            'ciudad':
            data[0].ciudad,
            'sexo':
            data[0].sexo,
            'telefono':
            data[0].telefono,
            'fecha_nacimiento':
            data[0].fecha_nacimiento.strftime("%Y-%m-%d %H:%M:%S"),
            'direccion':
            data[0].direccion,
            'provincia':
            data[0].provincia,
            'fechaAlta':
            data[0].fechaAlta.strftime("%Y-%m-%d %H:%M:%S")
        })
        r.set('cliente:{}'.format(id), json.dumps(arrayData))
        return json.dumps(arrayData)
예제 #2
0
def getAllVehiculos():
    data = Vehiculo.query.all()
    arrayData = []

    for i in data:
        arrayData.append({'id':i.id,'matricula':i.matricula,'fecha_fabricacion':i.fecha_fabricacion.strftime("%Y-%m-%d %H:%M:%S"),'marca':i.marca,'modelo':i.modelo,'id_cliente':i.id_cliente,'Tipo':i.Tipo})
        r.set('vehiculo:{}'.format(i.id), json.dumps(arrayData[len(arrayData)-1]))
    return json.dumps(arrayData)
예제 #3
0
def getOneCar(carId):
    if r.exists('vehiculo:{}'.format(carId)):
        #return from redis
        return r.get('vehiculo:{}'.format(carId))
    else:
        #return from DB
        data = Vehiculo.query.filter_by(id=carId)
        arrayData = []
        arrayData.append({'id':data[0].id,'matricula':data[0].matricula,'fecha_fabricacion':data[0].fecha_fabricacion.strftime("%Y-%m-%d %H:%M:%S"),'marca':data[0].marca,'modelo':data[0].modelo,'id_cliente':data[0].id_cliente,'Tipo':data[0].Tipo})
        #guardo en redis
        r.set('vehiculo:{}'.format(carId), json.dumps(arrayData))
        return json.dumps(arrayData)
예제 #4
0
def getAllFicheros():
    data = Fichero.query.all()
    arrayData = []
    for i in data:
        arrayData.append({
            'id': i.id,
            'nombre': i.nombre,
            'tipo': i.tipo,
            'id_Vehiculo': i.id_Vehiculo
        })
        r.set('fichero:{}'.format(i.id),
              json.dumps(arrayData[len(arrayData) - 1]))
    return json.dumps(arrayData)
예제 #5
0
def getAllClientes():
    #aqui redis hay un problema, redis guarda por key:value, si guardo todos los valores luego como sé hasta que valor deberia recorrer con redis?... tendria que guardar la id maxima
    # lo que voy hacer es, si se hace un get a todos los recursos de un tipo, copiar todos los recursos a redis y si luego se hace request a recursos unicos ya los tengo, problema? si hago peticiones un getAllClientes una y otra vez, estare sobreescribiendo datos que ya existen y que quiza sea identicos
    data = Cliente.query.all()
    arrayData = []
    for i in data:
        arrayData.append({
            'id':
            i.id,
            'nombres':
            i.nombres,
            'ciudad':
            i.ciudad,
            'sexo':
            i.sexo,
            'telefono':
            i.telefono,
            'fecha_nacimiento':
            i.fecha_nacimiento.strftime("%Y-%m-%d %H:%M:%S"),
            'direccion':
            i.direccion,
            'provincia':
            i.provincia,
            'fechaAlta':
            i.fechaAlta.strftime("%Y-%m-%d %H:%M:%S")
        })
        #guardo en redis 1 a 1
        r.set(
            'cliente:{}'.format(i.id),
            json.dumps([{
                'id':
                i.id,
                'nombres':
                i.nombres,
                'ciudad':
                i.ciudad,
                'sexo':
                i.sexo,
                'telefono':
                i.telefono,
                'fecha_nacimiento':
                i.fecha_nacimiento.strftime("%Y-%m-%d %H:%M:%S"),
                'direccion':
                i.direccion,
                'provincia':
                i.provincia,
                'fechaAlta':
                i.fechaAlta.strftime("%Y-%m-%d %H:%M:%S")
            }]))
    return json.dumps(arrayData)
예제 #6
0
def getOneFileById(fileId):
    if r.exists('fichero:{}'.format(fileId)):
        return r.get('fichero:{}'.format(fileId))
    else:
        data = Fichero.query.filter_by(id=fileId)
        arrayData = []
        arrayData.append({
            'id': data[0].id,
            'nombre': data[0].nombre,
            'tipo': data[0].tipo,
            'id_Vehiculo': data[0].id_Vehiculo
        })
        r.set('fichero:{}'.format(fileId), json.dumps(arrayData))
        return json.dumps(arrayData)
예제 #7
0
def updateVehiculo():
    #TEST COMMAND = curl -i -d '{"id":12,"matricula":"1233-JU","fecha_fabricacion":"2018-02-08","marca":"Ford","modelo":"focus","id_cliente":1,"Tipo":2}' -H "Content-Type: application/json" -X PUT 127.0.0.1:8080/editar/vehiculo

    id = request.get_json(force=True)['id']
    editar = Vehiculo.query.filter_by(id=id).first()
    editar.matricula = request.get_json(force=True)['matricula']
    editar.fecha_fabricacion = request.get_json(force=True)['fecha_fabricacion']
    editar.marca = request.get_json(force=True)['marca']
    editar.modelo = request.get_json(force=True)['modelo']
    editar.id_cliente = request.get_json(force=True)['id_cliente']
    editar.Tipo = request.get_json(force=True)['Tipo']
    editar.data = "updated!"
    db.session.commit()
    r.set('vehiculo:{}'.format(id), json.dumps([{'id':id,'matricula':editar.matricula, 'fecha_fabricacion':editar.fecha_fabricacion.strftime("%Y-%m-%d %H:%M:%S"), 'marca':editar.marca, 'modelo':editar.modelo, 'id_cliente':editar.id_cliente, 'tipo':editar.Tipo}]))

    return "VEHICULO EDITADO"
예제 #8
0
def addVehiculo():
    #TEST COMMAND = curl -i -d '{"matricula":"1233-JU","fecha_fabricacion":"2018-02-08","marca":"Ford","modelo":"focus","id_cliente":1,"Tipo":2}' -H "Content-Type: application/json" -X POST 127.0.0.1:8080/nuevo/vehiculo
    matricula = request.get_json(force=True)['matricula']
    fecha = request.get_json(force=True)['fecha_fabricacion']
    marca = request.get_json(force=True)['marca']
    modelo = request.get_json(force=True)['modelo']
    id_cliente = request.get_json(force=True)['id_cliente']
    tipo = request.get_json(force=True)['Tipo']

    nuevo = Vehiculo(matricula, fecha, marca, modelo, id_cliente, tipo)
    db.session.add(nuevo)
    db.session.commit()

    if nuevo.id > 0:
        r.set('vehiculo:{}'.format(nuevo.id), json.dumps([{'id':nuevo.id,'matricula':matricula, 'fecha_fabricacion':fecha, 'marca':marca, 'modelo':modelo, 'id_cliente':id_cliente, 'tipo':tipo}]))

    return "Vehiculo Insertado con ID = {}".format(nuevo.id)
예제 #9
0
def addFichero():
    #TEST COMMAND = curl -i -d '{"nombre":"POSTPRUEBA","tipo":"FacturaPOST","id_Vehiculo":1}' -H "Content-Type: application/json" -X POST 127.0.0.1:8080/ficheros
    nombre = request.get_json(force=True)['nombre']
    tipo = request.get_json(force=True)['tipo']
    id_Vehiculo = request.get_json(force=True)['id_Vehiculo']

    nuevo = Fichero(nombre, tipo, id_Vehiculo)
    db.session.add(nuevo)
    db.session.commit()
    if nuevo.id > 0:
        r.set(
            'fichero:{}'.format(nuevo.id),
            json.dumps([{
                'id': nuevo.id,
                'nombre': nombre,
                'tipo': tipo,
                'id_Vehiculo': id_Vehiculo
            }]))

    return "INSERTADO"
예제 #10
0
def updateFichero():
    #TEST COMMAND = curl -i -d '{"id":19,"nombre":"POSTPRUEBA","tipo":"FacturaPOST","id_Vehiculo":1}' -H "Content-Type: application/json" -X PUT 127.0.0.1:8080/ficheros

    id = request.get_json(force=True)['id']
    editar = Fichero.query.filter_by(id=id).first()
    editar.nombre = request.get_json(force=True)['nombre']
    editar.tipo = request.get_json(force=True)['tipo']
    editar.id_Vehiculo = request.get_json(force=True)['id_Vehiculo']
    editar.data = "updated!"
    db.session.commit()

    r.set(
        'fichero:{}'.format(id),
        json.dumps([{
            'id': id,
            'nombre': editar.nombre,
            'tipo': editar.tipo,
            'id_Vehiculo': editar.id_Vehiculo
        }]))

    return "EDITADO"
예제 #11
0
def addCliente():
    #TEST COMMAND = curl -i -d '{"nombres":"testiee","ciudad":"Granada","sexo":"M","telefono":"123321123","fecha_nacimiento":"2000-06-23","direccion":"una random","provincia":"ninguna"}' -H "Content-Type: application/json" -X POST 127.0.0.1:8080/nuevo/cliente
    nombre = request.get_json(force=True)['nombres']
    ciudad = request.get_json(force=True)['ciudad']
    sexo = request.get_json(force=True)['sexo']
    telefono = request.get_json(force=True)['telefono']
    fecha_nacimiento = request.get_json(force=True)['fecha_nacimiento']
    direccion = request.get_json(force=True)['direccion']
    provincia = request.get_json(force=True)['provincia']

    nuevo = Cliente(nombre, ciudad, sexo, telefono, fecha_nacimiento,
                    direccion, provincia)
    db.session.add(nuevo)
    db.session.commit()

    # si se ha insertado, meter en redis
    if nuevo.id > 0:
        r.set(
            'cliente:{}'.format(nuevo.id),
            json.dumps([{
                "id":
                nuevo.id,
                "nombres":
                nuevo.nombres,
                "ciudad":
                nuevo.ciudad,
                "sexo":
                nuevo.sexo,
                "telefono":
                nuevo.telefono,
                "fecha_nacimiento":
                fecha_nacimiento,
                "direccion":
                nuevo.direccion,
                "provincia":
                nuevo.provincia,
                'fechaAlta':
                nuevo.fechaAlta.strftime("%Y-%m-%d %H:%M:%S")
            }]))
    return "Cliente insertado con ID : {}".format(nuevo.id)
예제 #12
0
def updateCliente():
    #TEST COMMAND = curl -i -d '{"id":6,"nombres":"testiee","ciudad":"Granada","sexo":"M","telefono":"123321123","fecha_nacimiento":"2000-06-23","direccion":"una random","provincia":"ninguna"}' -H "Content-Type: application/json" -X PUT 127.0.0.1:8080/editar/cliente
    id = request.get_json(force=True)['id']
    editar = Cliente.query.filter_by(id=id).first()
    editar.nombres = request.get_json(force=True)['nombres']
    editar.ciudad = request.get_json(force=True)['ciudad']
    editar.sexo = request.get_json(force=True)['sexo']
    editar.telefono = request.get_json(force=True)['telefono']
    editar.fecha_nacimiento = request.get_json(force=True)['fecha_nacimiento']
    editar.direccion = request.get_json(force=True)['direccion']
    editar.provincia = request.get_json(force=True)['provincia']
    editar.data = "updated!"

    # lo suyo seria poner en try exception block esto asi si peta el commit no edito redis
    # además, esta puesto que se pueda sobreescribir el registro de redis, habria que ver lo mejor, si borrarlo y crear otro, o dejarlo asi y poder sobreescribir registros..
    db.session.commit()
    r.set(
        'cliente:{}'.format(id),
        json.dumps([{
            "id":
            id,
            "nombres":
            editar.nombres,
            "ciudad":
            editar.ciudad,
            "sexo":
            editar.sexo,
            "telefono":
            editar.telefono,
            "fecha_nacimiento":
            editar.fecha_nacimiento.strftime("%Y-%m-%d %H:%M:%S"),
            "direccion":
            editar.direccion,
            "provincia":
            editar.provincia,
            'fechaAlta':
            editar.fechaAlta.strftime("%Y-%m-%d %H:%M:%S")
        }]))

    return "Cliente editado"