コード例 #1
0
def upload():
    #获取用户ip地址
    app.logger.info('start upload')
    start_time = time.time()
    # id = str(start_time) + '_' + request.remote_addr
    id = uuid.uuid4().hex
    es_model = EsModel(meta={'id': id}, ip=request.remote_addr)
    es_model.save()
    session['id'] = id
    if request.method == 'POST':
        file = request.files['file']
        if file and check_file_extension(file.filename):
            app.logger.info('file type is allow')
            producer = Producer('Producer', uploading_queue, uploaded_queue,
                                app)
            if producer.add_task(file):
                producer.start()
                producer.join()
            else:
                return jsonify(name=file.filename, status='waited')
            print(threading.enumerate())
            updir = os.path.join(basedir, 'upload/')
            updir = os.path.join(updir, id)
            es_model = EsModel.get(id=session.get('id'))
            es_model.update(models_dir=os.path.join(updir, file.filename))
            return jsonify(name=file.filename, status='success')
コード例 #2
0
def upload():
    if request.method == 'POST':
        uploaded_files = request.files.getlist("file")
        try:
            isHaveOne = request.form['model_id']
        except:
            isHaveOne = 'aaaaaaaaaa'

        model = create_model(request, session, isHaveOne)
        # session['id'] = model.id

        if not model.check_filetype():
            return jsonify(status='failed', message='filetype error')

        # initial database object
        es_model = EsModel(meta={'id': model.id}, ip=request.remote_addr)
        es_model.save()

        producer = UploadProducer('Producer', uploading_queue, model_pool, app)
        if producer.add_task(model):
            producer.start()
            producer.join()
            # return jsonify(model.uploaded)
            return jsonify(name=model.id, status='success', message='uploaded')
        else:
            return jsonify(name=model.id, status='failed', message='waiting')
コード例 #3
0
def x2paddle():
    if request.method == 'POST':
        model = create_model(request)
        #
        if not model.check_filetype():
            return jsonify(status='failed', message='filetype error')

        # initial database object
        es_model = EsModel(meta={'id': model.id}, ip=request.remote_addr)
        es_model.save()
        session['id'] = model.id

        producer = Producer('Producer', uploading_queue, converted_pool, app)
        if producer.add_task(model):
            producer.start()
            print('uploading_queue size: ', uploading_queue.qsize())
            producer.join()
            return jsonify(producer.result)
        else:
            return jsonify(name=model.id, status='failed', message='waiting')