Example #1
0
def uploadfile():
    """Função simplificada para upload de arquivo para um Evento."""
    db_session = current_app.config['db_session']
    usecase = create_usecases()
    try:
        file = request.files.get('file')
        IDEvento = request.form.get('IDEvento')
        tipoevento = request.form.get('tipoevento')
        nomearquivo = request.form.get('nomearquivo')
        tipoanexo = request.form.get('tipoanexo')
        validfile, mensagem = usecase.valid_file(file)
        if not validfile:
            return jsonify(_response(mensagem, 400)), 400
        aclass = getattr(orm, tipoevento)
        evento = db_session.query(aclass).filter(
            aclass.IDEvento == IDEvento).one_or_none()
        if evento is None:
            return jsonify(_response('Evento não encontrado.', 404)), 404
        db_session.add(evento)
        oanexo = UseCases.get_anexo(evento, nomearquivo)
        if oanexo is None:
            classeanexo = getattr(orm, tipoanexo)
            oanexo = classeanexo.create(evento)
        basepath = current_app.config.get('UPLOAD_FOLDER')
        oanexo.save_file(basepath, file.read(), file.filename)
        db_session.add(oanexo)
        return jsonify(_commit(evento)), 201
    except Exception as err:
        logger.error(str(err), exc_info=True)
        return jsonify(_response(err, 400)), 400
Example #2
0
def getfile():
    db_session = current_app.config['db_session']
    try:
        IDEvento = request.form.get('IDEvento')
        tipoevento = request.form.get('tipoevento')
        nomearquivo = request.form.get('nomearquivo')
        if not tipoevento:
            raise Exception('Parâmetro tipoevento é obrigatório.')
        try:
            aclass = getattr(orm, tipoevento)
        except AttributeError:
            raise AttributeError('tipoevento "%s" não existente' % tipoevento)
        except TypeError:
            raise AttributeError('tipoevento "%s": erro ao processar parâmetro' %
                                 tipoevento)
        evento = db_session.query(aclass).filter(
            aclass.IDEvento == IDEvento
        ).one_or_none()
        if evento is None:
            return jsonify(_response('Evento não encontrado.', 404)), 404
        oanexo = UseCases.get_anexo(evento, nomearquivo)
        basepath = current_app.config.get('UPLOAD_FOLDER')
        oanexo.load_file(basepath)
        print(oanexo.content)
        return Response(response=oanexo.content,
                        mimetype=oanexo.contentType
                        ), 200
    except Exception as err:
        logging.error(err, exc_info=True)
        return jsonify(_response(err, 400)), 400
Example #3
0
def getfile():
    db_session = current_app.config['db_session']
    try:
        IDEvento = request.form.get('IDEvento')
        tipoevento = request.form.get('tipoevento')
        nomearquivo = request.form.get('nomearquivo')
        aclass = getattr(orm, tipoevento)
        evento = db_session.query(aclass).filter(
            aclass.IDEvento == IDEvento).one_or_none()
        if evento is None:
            return jsonify(_response('Evento não encontrado.', 404)), 404
        oanexo = UseCases.get_anexo(evento, nomearquivo)
        basepath = current_app.config.get('UPLOAD_FOLDER')
        oanexo.load_file(basepath)
        print(oanexo.content)
        return Response(response=oanexo.content,
                        mimetype=oanexo.contentType), 200
    except Exception as err:
        logging.error(err, exc_info=True)
        return jsonify(_response(err, 400)), 400