def vadFile():
    session = request.remote_addr.replace(".", '')
    if request.method == 'POST':
        files = request.files['file']
        if files:
            filename = secure_filename(files.filename)  #check file name
            filename = SetupFileName1(filename)
            file_type = files.content_type

            if not CheckFileType(files.filename):
                vad = uploadfile(name=filename,
                                 type=file_type,
                                 size=0,
                                 not_allowed_msg="文件类型不允许")
            else:
                dir_name = session + "_" + VAD_PATH
                dir_name = os.path.join(DATA_AREA, dir_name)
                if not os.path.exists(dir_name):
                    os.makedirs(dir_name)

                uploaded_file_path = os.path.join(dir_name, filename)
                files.save(uploaded_file_path)
                size = os.path.getsize(uploaded_file_path)
                vad = uploadfile(name=filename, type=file_type, size=size)
            return simplejson.dumps({"files": [vad.get_file()]})

    if request.method == 'GET':
        files = ''
        if not os.path.exists(VAD_PATH):
            return redirect(url_for('index'))
        for f in os.listdir(VAD_PATH):
            if os.path.isfile(os.path.join(VAD_PATH, f)):
                files = f
    return redirect(url_for("/vad/file_upload"))
Example #2
0
def plotFile():
    if request.method == 'POST':
        files = request.files['file']
        if files:
            filename = secure_filename(files.filename)  #check file name
            filename = SetupFileName1(filename)
            file_type = files.content_type

            if not CheckFileType(files.filename):
                plot = uploadfile(name=filename,
                                  type=file_type,
                                  size=0,
                                  not_allowed_msg="文件类型不允许")
            else:
                dir_name = g.name + PLOT_SRC
                dir_name = os.path.join(DATA_AREA, dir_name)
                if not os.path.exists(dir_name):
                    os.makedirs(dir_name)

                uploaded_file_path = os.path.join(dir_name, filename)
                files.save(uploaded_file_path)
                size = os.path.getsize(uploaded_file_path)
                plot = uploadfile(name=filename, type=file_type, size=size)
            return simplejson.dumps({"files": [plot.get_file()]})

    if request.method == 'GET':
        files = ''
        if not os.path.exists(PLOT_SRC):
            return redirect(url_for('index'))
        for f in os.listdir(PLOT_SRC):
            if os.path.isfile(os.path.join(PLOT_SRC, f)):
                files = f
    return redirect(url_for("plotIndex"))
def upload():
    if request.method == 'POST':
        files = request.files['file']

        if files:
            filename = secure_filename(files.filename)
            filename = gen_file_name(filename)
            mime_type = files.content_type

            if not allowed_file(files.filename):
                result = uploadfile(name=filename,
                                    type=mime_type,
                                    size=0,
                                    not_allowed_msg="File type not allowed")

            else:
                # save file to disk
                uploaded_file_path = os.path.join(app.config['UPLOAD_FOLDER'],
                                                  filename)
                files.save(uploaded_file_path)

                # create thumbnail after saving
                if mime_type.startswith('image'):
                    create_thumbnail(filename)

                # get file size after saving
                size = os.path.getsize(uploaded_file_path)

                im = Image.open(uploaded_file_path)
                wi, he = im.size  # (width,height) tuple

                # return json for js call back
                result = uploadfile(name=filename,
                                    type=mime_type,
                                    size=size,
                                    not_allowed_msg="",
                                    width=wi,
                                    height=he)

            return simplejson.dumps({"files": [result.get_file()]})

    if request.method == 'GET':
        """
        # get all file in ./data directory
        files = [f for f in os.listdir(app.config['UPLOAD_FOLDER']) if os.path.isfile(os.path.join(app.config['UPLOAD_FOLDER'],f)) and f not in IGNORED_FILES ]
        
        file_display = []

        for f in files:
            size = os.path.getsize(os.path.join(app.config['UPLOAD_FOLDER'], f))
            file_saved = uploadfile(name=f, size=size)
            file_display.append(file_saved.get_file())
        """

        file_display = getFileDisplay()

        return simplejson.dumps({"files": file_display})

    return redirect(url_for('filemanager'))
Example #4
0
def upload():
    if request.method == 'POST':
        files = request.files['file']

        if files:
            filename = secure_filename(files.filename)
            filename = gen_file_name(filename)
            mime_type = files.content_type

            if not allowed_file(files.filename):
                result = uploadfile(name=filename,
                                    type=mime_type,
                                    size=0,
                                    not_allowed_msg="File type not allowed")

            else:
                # save file to disk
                uploaded_file_path = os.path.join(app.config['UPLOAD_FOLDER'],
                                                  filename)
                files.save(uploaded_file_path)
                tstamp = datetime.datetime.utcnow().strftime(
                    '%Y-%m-%d-%H.%M.%S.%f')[:-3]
                brolabel = 'ROCK::sensor_id=%s-%s' % (tstamp, (
                    os.path.splitext(filename)[0]))
                result = subprocess.check_output(
                    ['bro', '-r', uploaded_file_path, 'local', brolabel])

                # create thumbnail after saving
                if mime_type.startswith('image'):
                    create_thumbnail(filename)

                # get file size after saving
                size = os.path.getsize(uploaded_file_path)

                # return json for js call back
                result = uploadfile(name=filename, type=mime_type, size=size)

            return simplejson.dumps({"files": [result.get_file()]})

    if request.method == 'GET':
        # get all file in ./data directory
        files = [
            f for f in os.listdir(app.config['UPLOAD_FOLDER'])
            if os.path.isfile(os.path.join(app.config['UPLOAD_FOLDER'], f))
            and f not in IGNORED_FILES
        ]

        file_display = []

        for f in files:
            size = os.path.getsize(os.path.join(app.config['UPLOAD_FOLDER'],
                                                f))
            file_saved = uploadfile(name=f, size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})

    return redirect(url_for('index'))
Example #5
0
def upload():
    if request.method == 'POST':
        files = request.files['file']

        if files:
            filename = secure_filename(files.filename)
            filename = gen_file_name(filename)
            mime_type = files.content_type

            if not allowed_file(files.filename):
                file_key = ""
                result = uploadfile(name=filename,
                                    type=mime_type,
                                    size=0,
                                    not_allowed_msg="File type not allowed")

            else:
                # save file to disk
                uploaded_file_path = os.path.join(app.config['UPLOAD_FOLDER'],
                                                  filename)
                files.save(uploaded_file_path)
                file_key = hashlib.md5(files.read()).hexdigest()

                # create thumbnail after saving
                if mime_type.startswith('image'):
                    create_thumbnail(filename)

                # get file size after saving
                size = os.path.getsize(uploaded_file_path)

                # return json for js call back
                result = uploadfile(name=filename,
                                    type=mime_type,
                                    size=size,
                                    hash=file_key)
                print simplejson.dumps({"files": [result.get_file()]})
            return simplejson.dumps({"files": [result.get_file()]})

    if request.method == 'GET':
        # get all file in ./data directory
        files = [
            f for f in os.listdir(app.config['UPLOAD_FOLDER'])
            if os.path.isfile(os.path.join(app.config['UPLOAD_FOLDER'], f))
            and f not in IGNORED_FILES
        ]

        file_display = []

        for f in files:
            size = os.path.getsize(os.path.join(app.config['UPLOAD_FOLDER'],
                                                f))
            file_saved = uploadfile(name=f, size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})

    return redirect(url_for('index'))
Example #6
0
def upload():
    if request.method == 'POST':
        files = request.files['file']

        if files:
            filename = secure_filename(files.filename)
            filename = gen_file_name(filename)
            mime_type = files.content_type

            if not allowed_file(files.filename):
                result = uploadfile(name=filename,
                                    type=mime_type,
                                    size=0,
                                    not_allowed_msg="File type not allowed")

            else:

                # save file to disk
                # print(uploaded_file_path)
                uploaded_file_path = os.path.join(app.config['UPLOAD_FOLDER'],
                                                  filename)
                download_file_path = os.path.join(app.config['DOWNLOAD_FOLDER'], \
                    os.path.splitext(filename)[0]+'Final_Data.xlsx')
                # print(uploaded_file_path , download_file_path )
                files.save(uploaded_file_path)
                mt940_trans.parse_func(uploaded_file_path, download_file_path)
                # create thumbnail after saving
                if mime_type.startswith('image'):
                    create_thumbnail(filename)

                # get file size after saving
                size = os.path.getsize(uploaded_file_path)

                # return json for js call back
                result = uploadfile(name=filename, type=mime_type, size=size)
            # return send_from_directory(app.config['DOWNLOAD_FOLDER'], 'Final_Data.xlsx', as_attachment=True)
            return simplejson.dumps({"files": [result.get_file()]})

    if request.method == 'GET':
        # get all file in ./data directory
        files = [
            f for f in os.listdir(app.config['UPLOAD_FOLDER'])
            if os.path.isfile(os.path.join(app.config['UPLOAD_FOLDER'], f))
            and f not in IGNORED_FILES
        ]

        file_display = []

        for f in files:
            size = os.path.getsize(os.path.join(app.config['UPLOAD_FOLDER'],
                                                f))
            file_saved = uploadfile(name=f, size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})

    return redirect(url_for('index'))
Example #7
0
def upload():
    '''
    The upload function is called as an AJAX request from within the Upload.html page in order to avoid refreshing the whole page
    when uploading new data.
    '''

    if request.method == 'POST':

        file = request.files['file']
        datasetFoldername = session['DATASETFOLDERNAME']  # get the name of the dataset (and folder)
        fullpath = os.path.join(app.config['BASE_UPLOAD_FOLDER'], datasetFoldername)

        if file:

            filename = secure_filename(file.filename)
            filename = gen_file_name(fullpath, filename)

            try:
                uploaded_file_path = os.path.join(app.config['BASE_UPLOAD_FOLDER'], datasetFoldername, filename)
                file.save(uploaded_file_path)
                size = os.path.getsize(uploaded_file_path)  # get file size after saving
            except:
                errorMessage = 'Error saving file: ' + filename + ' to working copy'
                app.logger.error(errorMessage)
                return simplejson.dumps({"Error: ": errorMessage})

            app.logger.info('File: ' + filename + ' saved succesfully in working copy')
            time.sleep(0.2)
            result = uploadfile(name=filename, datasetFoldername=datasetFoldername, size=size)

            return simplejson.dumps({"files": [result.get_file()]})



    if request.method == 'GET':
        # get all file in ./data directory
        datasetFoldername = session['DATASETFOLDERNAME']

        datasetDir = os.path.join(app.config['BASE_UPLOAD_FOLDER'], datasetFoldername)

        # GET INFORMATION OF ALL CURRENT FILES IN DIRECTORY
        files = [f for f in os.listdir(datasetDir) if
                 os.path.isfile(os.path.join(datasetDir, f)) and f not in app.config['IGNORED_FILES']]

        file_display = []

        for file in files:
            size = os.path.getsize(os.path.join(datasetDir, file))
            file_saved = uploadfile(name=file, datasetFoldername=datasetFoldername, size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})
Example #8
0
def upload():
    if request.method == "POST":
        file = request.files["file"]
        # pprint (vars(objectvalue))

        if file:
            filename = secure_filename(file.filename)
            filename = gen_file_name(filename)
            mimetype = file.content_type

            if not allowed_file(file.filename):
                result = uploadfile(name=filename, type=mimetype, size=0, not_allowed_msg="Filetype not allowed")

            else:
                # save file to disk
                uploaded_file_path = os.path.join(app.config["UPLOAD_FOLDER"], filename)
                file.save(uploaded_file_path)

                # create thumbnail after saving
                if mimetype.startswith("image"):
                    create_thumbnai(filename)

                # get file size after saving
                size = os.path.getsize(uploaded_file_path)

                # return json for js call back
                result = uploadfile(name=filename, type=mimetype, size=size)

            return simplejson.dumps({"files": [result.get_file()]})

    if request.method == "GET":
        # get all file in ./data directory
        files = [
            f
            for f in os.listdir(app.config["UPLOAD_FOLDER"])
            if os.path.isfile(os.path.join(app.config["UPLOAD_FOLDER"], f)) and f not in IGNORED_FILES
        ]

        file_display = []

        for f in files:
            size = os.path.getsize(os.path.join(app.config["UPLOAD_FOLDER"], f))
            file_saved = uploadfile(name=f, size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})

    return redirect(url_for("index"))
Example #9
0
def upload():
    # clear the cache here to hopefully make sure it caches properly in subsequent fn calls
    cache.delete_memoized(find_material)
    if request.method == 'POST':
        files = request.files['file']

        if files:
            filename = secure_filename(files.filename)
            filename = gen_file_name(filename)
            mime_type = files.content_type

            if not allowed_file(files.filename):
                return render_template('file_uploaded.html',
                                       filename_not_uploaded=filename +
                                       " File type not allowed, not uploaded")

            else:
                # save file to disk
                uploaded_file_path = os.path.join(app.config['UPLOAD_FOLDER'],
                                                  filename)
                if os.path.exists(uploaded_file_path):
                    # TODO if file exists, don't recompute, store peaks and reload to save computing time
                    return render_template('file_uploaded.html',
                                           filename=filename +
                                           " already uploaded, ready for use")
                files.save(uploaded_file_path)

                # get file size after saving
                size = os.path.getsize(uploaded_file_path)

                # return json for js call back
                result = uploadfile(name=filename, type=mime_type, size=size)
                return render_template('file_uploaded.html', filename=filename)
Example #10
0
def gallary():
    #try:
    S3_lib.s3_down_file(s3, settings.OTHER_BUCKET, 'score.json',
                        app.config['UPLOAD_FOLDER'] + 'score.json')
    f = open(app.config['UPLOAD_FOLDER'] + 'score.json', 'r')
    scores = json.load(f)
    f.close()
    # files = [f for f in os.listdir(app.config['UPLOAD_FOLDER']) if os.path.isfile(
    # os.path.join(app.config['UPLOAD_FOLDER'], f)) and f not in settings.IGNORED_FILES]
    files = [
        f for f in S3_lib.get_listfiles(s3, settings.IMAGE_BUCKET)
        if f[0] not in settings.IGNORED_FILES
    ]
    parsed_files = [
        f[0] for f in S3_lib.get_listfiles(s3, settings.RESULT_BUCKET)
        if f[0] not in settings.IGNORED_FILES
    ]
    file_display = []
    file_score = {}
    for name, size in files:
        file_saved = uploadfile(name=name, size=size)
        if 'parsed_' + name not in parsed_files:
            file_saved.parsed_url = ""
        print(file_saved.get_file())
        file_display.append(file_saved.get_file())
        score_string = ""
        if name in scores:
            for i, score in enumerate(scores[name]):
                score_string += "{}.{} : {:.4f}% </br>".format(
                    i + 1, score['label'], score['probability'] * 100)
        file_score[name] = score_string
    return render_template('gallary.html',
                           images=file_display,
                           scores=file_score)
Example #11
0
def upload():
    if request.method == 'POST':
        files = request.files['file']

        if files:
            filename = secure_filename(files.filename)
            filename = gen_file_name(filename)
            mime_type = files.content_type

            if not allowed_file(files.filename):
                print(files.filename)
                return render_template('file_uploaded.html', filename_not_uploaded=filename + " File type not allowed, not uploaded")

            else:
                # save file to disk
                uploaded_file_path = os.path.join(app.config['UPLOAD_FOLDER'] , filename)
                if os.path.exists(uploaded_file_path):
                    # TODO if file exists, don't recompute, store peaks and reload to save computing time
                    return render_template('file_uploaded.html', filename=filename + " already uploaded, ready for use")
                files.save(uploaded_file_path)
                
                # get file size after saving
                size = os.path.getsize(uploaded_file_path)

                # return json for js call back
                result = uploadfile(name=filename, type=mime_type, size=size)
                print result.get_file()
            
                return render_template('file_uploaded.html', filename=filename)
Example #12
0
def upload():
    if request.method == "POST":
        files = request.files["file"]
        if files:
            filename = secure_filename(files.filename)
            mime_type = files.content_type
            validFileType = allowedFileType(mime_type)
            # if file extension is not log or a number (example: access.log.2)
            # or if file type,
            if not allowedFileExtension(
                    files.filename) or validFileType == False:
                print("not a valid log file type")
                result = uploadfile(
                    name=filename,
                    type=mime_type,
                    size=0,
                    not_allowed_msg=
                    "File type not allowed in app.py validation",
                )

            else:
                uploaded_file_path = os.path.join(app.config["UPLOAD_DIR"],
                                                  filename)
                files.save(uploaded_file_path)
                size = os.path.getsize(uploaded_file_path)
                result = uploadfile(name=filename, type=mime_type, size=size)

            return simplejson.dumps({"files": [result.get_file()]})

    # get all logs in ./data directory
    if request.method == "GET":
        files = [
            f for f in os.listdir(app.config["UPLOAD_DIR"])
            if os.path.isfile(os.path.join(app.config["UPLOAD_DIR"], f))
            and f not in IGNORED_FILES
        ]

        file_display = []

        for f in files:
            size = os.path.getsize(os.path.join(app.config["UPLOAD_DIR"], f))
            file_saved = uploadfile(name=f, size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})

    return redirect(url_for("index"))
Example #13
0
def upload():
    if request.method == 'POST':
        files = request.files['file']
        if files:
            filename = files.filename

            mime_type = files.content_type  # 获取文件属性,例如text/plain

            if not allowed_file(files.filename):
                result = uploadfile(name=filename,
                                    type=mime_type,
                                    size=0,
                                    not_allowed_msg="文件类型错误")

            else:

                files.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
                if mime_type.startswith('image'):
                    create_thumbnail(filename)
                size = os.path.getsize(
                    os.path.join(app.config['UPLOAD_FOLDER'],
                                 filename))  # 获取文件大小

                result = uploadfile(name=filename, type=mime_type,
                                    size=size)  # 调取上传文件信息类类
                print(simplejson.dumps({"files": [result.get_file()]}))

            return simplejson.dumps({"files": [result.get_file()]})
    if request.method == 'GET':  #获取已经上传的文件在下方列出
        '''
        files = [f for f in os.listdir(app.config['UPLOAD_FOLDER']) if

                 os.path.isfile(os.path.join(app.config['UPLOAD_FOLDER'], f)) and f not in IGNORED_FILES]
        '''
        files = os.listdir(app.config['UPLOAD_FOLDER'])  #获取文件列表
        file_display = []

        for f in files:
            file_list = os.path.splitext(f)
            if not file_list[1] == '':
                size = os.path.getsize(
                    os.path.join(app.config['UPLOAD_FOLDER'], f))  #文件大小
                file_saved = uploadfile(name=f, size=size)
                file_display.append(file_saved.get_file())
        return simplejson.dumps({"files": file_display})  #获取文件列表json数据
    return redirect(url_for('index'))
Example #14
0
def upload():
    print 'oyz'
    if request.method == 'POST':
        try:
            # print request.files
            # print request.files.values()[0]
            file = request.files.values()[0]
            # request.files['file']
            # file
            # print 'ok'
        except Exception, e:
            print traceback.format_exc()

        if file:
            # print 'o'
            filename = secure_filename(file.filename)
            filename = gen_file_name(filename)
            mimetype = file.content_type

            if not allowed_file(file.filename):
                result = uploadfile(name=filename,
                                    type=mimetype,
                                    size=0,
                                    not_allowed_msg="Filetype not allowed")

            else:
                # save file to disk
                uploaded_file_path = os.path.join(app.config['UPLOAD_FOLDER'],
                                                  filename)
                file.save(uploaded_file_path)

                # create thumbnail after saving
                if mimetype.startswith('image'):
                    create_thumbnai(filename)

                # get file size after saving
                size = os.path.getsize(uploaded_file_path)

                # return json for js call back
                result = uploadfile(name=filename, type=mimetype, size=size)

            return simplejson.dumps({"files": [result.get_file()]})
Example #15
0
def upload():
    if request.method == 'POST':
        file = request.files['file']
        #pprint (vars(objectvalue))

        if file:
            filename = secure_filename(file.filename)
            filename = gen_file_name(filename)
            mimetype = file.content_type


            if not allowed_file(file.filename):
                result = uploadfile(name=filename, type=mimetype, size=0, not_allowed_msg="Filetype not allowed")

            else:
                # save file to disk
                uploaded_file_path = os.path.join(app.config['UPLOAD_FOLDER'], filename)
                file.save(uploaded_file_path)

                # get file size after saving
                size = os.path.getsize(uploaded_file_path)

                # return json for js call back
                result = uploadfile(name=filename, type=mimetype, size=size)
            
            return simplejson.dumps({"files": [result.get_file()]})

    if request.method == 'GET':
        # get all file in ./data directory
        files = [ f for f in os.listdir(app.config['UPLOAD_FOLDER']) if os.path.isfile(os.path.join(app.config['UPLOAD_FOLDER'],f)) and f not in IGNORED_FILES ]
        
        file_display = []

        for f in files:
            size = os.path.getsize(os.path.join(app.config['UPLOAD_FOLDER'], f))
            file_saved = uploadfile(name=f, size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})

    return redirect(url_for('visne'))
Example #16
0
def upload(session_id):
	base_path = os.path.join(app.config['TSNE_ROOT'], 'upload', session_id)
	if request.method == 'POST':
		file = request.files['file']
		#pprint (vars(objectvalue))
		if file:
			filename = secure_filename(file.filename)
			filename = gen_file_name(base_path, filename)
			mimetype = file.content_type


			if not allowed_file(file.filename):
				result = uploadfile(name=filename, type=mimetype, size=0, not_allowed_msg="Filetype not allowed", session_id = session_id)
			else:
				# save file to disk
				uploaded_file_path = os.path.join(base_path, filename)
				file.save(uploaded_file_path)

                # get file size after saving
				size = os.path.getsize(uploaded_file_path)

                # return json for js call back
				result = uploadfile(name=filename, type=mimetype, size=size, session_id = session_id)
            
			return simplejson.dumps({"files": [result.get_file()]})

	if request.method == 'GET':
		# get all file in ./data directory
		files = [ f for f in os.listdir(base_path) if os.path.isfile(os.path.join(base_path,f)) and f not in IGNORED_FILES ]
        
		file_display = []

		for f in files:
			size = os.path.getsize(os.path.join(base_path, f))
			file_saved = uploadfile(name=f, size=size, session_id = session_id)
			file_display.append(file_saved.get_file())

		return simplejson.dumps({"files": file_display})

	return redirect(url_for('tsne'))
Example #17
0
def upload_image():
    if request.method == 'POST':
        files = request.files['file']
        if files:
            filename = secure_filename(files.filename)
            filename = gen_file_name(filename)
            if filename.endswith(".bmp") or filename.endswith(".jpeg"):
                mime_type = files.content_type
                # save file to disk
                uploaded_file_path = os.path.join(UPLOAD_FOLDER, filename)
                files.save(uploaded_file_path)
                # get file size after saving
                size = os.path.getsize(uploaded_file_path)
                uploadfile(name=filename, type=mime_type, size=size)
                data_filename = request.form.get("filename")
                material = request.form.get("material")
                sb = request.form.get("sb")
                sb_bool = True if sb == "True" else False
                output_filename = request.form.get("output_filename")
                fm = find_material(data_filename, material, sb_bool)
                fm.overlay_match_positions(uploaded_file_path, output_filename)
                with open(output_filename, 'rb') as image:
                    img_str = base64.b64encode(image.read())
                return {'image': img_str, 'output_filename': output_filename}
Example #18
0
def process(filename, metadata, mimetype):
    file_path = os.path.join(app.config["UPLOAD_FOLDER"], filename)
    name, extension = os.path.splitext(filename)
    thumbname = '%s%s' % (name, '.png')
    thumb_path = os.path.join(app.config["THUMBNAIL_FOLDER"], thumbname)

    parsed_file = openslide.OpenSlide(file_path)
    thumb = np.array(parsed_file.get_thumbnail((100, 100)))
    io.imsave(thumb_path, thumb)

    width, height = parsed_file.dimensions
    fsize = os.path.getsize(file_path)
    fsize = round(fsize / float(1024 * 1024 * 1024), 2)

    Url = thumbname
    FileName = filename
    UploadDate = datetime.date.today().strftime("%m/%d/%Y")
    UploaderContactInfo = metadata.get('Email')
    TissueType = metadata.get('Tissue')
    SlideCreationDate = metadata.get('date')
    BaseMagnification = metadata.get('magnification')
    ArtifactsTypes = metadata.get('Artifacts')
    StainType = metadata.get('Stain')
    Comments = metadata.get('Comments')
    ImageSizeInPixels = str(width) + 'x' + str(height)
    ImageSizeInGB = fsize
    FileType = os.path.splitext(filename)[1]
    Scanner = metadata.get('Scanner')
    PreparationType = metadata.get('Preparation')
    SpecimenType = metadata.get('Specimen')

    mysql_db = MysqlTool(DB_NAME, DB_IP, DB_PORT, DB_USER, DB_PASSWORD)
    mysql_db.insert(DB_TABLE, [
        Url, FileName, UploadDate, UploaderContactInfo, TissueType,
        SlideCreationDate, BaseMagnification, ArtifactsTypes, StainType,
        Comments, ImageSizeInPixels, ImageSizeInGB, FileType, Scanner,
        PreparationType, SpecimenType
    ])
    del mysql_db

    return uploadfile(name=filename, type=mimetype, size=ImageSizeInGB)
def getFileDisplay():
    files = [
        f for f in os.listdir(app.config['UPLOAD_FOLDER'])
        if os.path.isfile(os.path.join(app.config['UPLOAD_FOLDER'], f))
        and f not in IGNORED_FILES
    ]

    file_display = []

    for f in files:
        filePath = os.path.join(app.config['UPLOAD_FOLDER'], f)
        size = os.path.getsize(filePath)
        im = Image.open(filePath)
        wi, he = im.size  # (width,height) tuple
        file_saved = uploadfile(name=f,
                                size=size,
                                not_allowed_msg="",
                                width=wi,
                                height=he)
        file_display.append(file_saved.get_file())

    return file_display
Example #20
0
def upload():
    if request.method == 'POST':
        if 'file' not in request.files:
            return jsonify({
                'code': -1,
                'filename': '',
                'msg': 'No file part.'
            })

        curfile = request.files['file']
        metadata = request.form

        if curfile.filename == '':
            return jsonify({
                'code': -1,
                'filename': '',
                'msg': 'No selected file.'
            })

        filename = secure_filename(curfile.filename)
        filename = gen_file_name(filename)
        mimetype = curfile.content_type

        if not allowed_file(curfile.filename):
            result = uploadfile(name=filename,
                                type=mimetype,
                                size=0,
                                not_allowed_msg="File type not allowed")
        else:
            # save file to disk
            curfile.save(os.path.join(app.config["UPLOAD_FOLDER"], filename))
            result = process(filename, metadata, mimetype)
        return jsonify({"files": [result.get_file()]})
    # return redirect('/gallery')
    else:
        return render_template('upload.html')
Example #21
0
def upload_back():
    if request.method == 'POST':
        files = request.files['file']

        if files:
            filename = secure_filename(files.filename)
            filename = gen_file_name(filename)
            mime_type = files.content_type

            if not allowed_file(files.filename):
                result = uploadfile(name=filename,
                                    type=mime_type,
                                    size=0,
                                    not_allowed_msg="File type not allowed")

            else:
                # detect
                filestr = files.read()
                # convert string data to numpy array
                npimg = numpy.fromstring(filestr, numpy.uint8)
                # convert numpy array to image
                img = cv2.imdecode(npimg, cv2.IMREAD_COLOR)
                img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

                def progress(image):
                    with lock:
                        ret, image = detect_imagev2(image)
                    h, w, _ = image.shape
                    import cv2
                    img_pil = Image.fromarray(image)
                    draw = ImageDraw.Draw(img_pil)
                    size = int(min(h, w) / 10)
                    print("3: ", size)
                    #font = ImageFont.truetype(fontpath, size)
                    global text_str
                    if ret:
                        text_str = "have"
                    else:
                        text_str = "no"
                    #draw.text((int(w / 8), int(h / 4)), text_str, font=font, fill=(b, g, r, a))
                    image = np.array(img_pil)

                    # image = cv2.putText(image, "{} Torn".format(ret), (0, 100), cv2.FONT_HERSHEY_COMPLEX, 2.0, (0, 255, 0), 5)
                    return text_str, image

                text_str, img = progress(img)
                filename = "{}_{}.jpg".format(filename.split(".")[0], text_str)

                # save file to disk
                uploaded_file_path = os.path.join(app.config['UPLOAD_FOLDER'],
                                                  filename)
                cv2.imwrite(uploaded_file_path, img)
                # files.save(uploaded_file_path)

                # create thumbnail after saving
                if mime_type.startswith('image'):
                    create_thumbnail(filename)

                # get file size after saving
                size = os.path.getsize(uploaded_file_path)

                # return json for js call back
                result = uploadfile(name=filename, type=mime_type, size=size)

            return simplejson.dumps({"files": [result.get_file()]})

    if request.method == 'GET':
        # get all file in ./data directory
        files = [
            f for f in os.listdir(app.config['UPLOAD_FOLDER'])
            if os.path.isfile(os.path.join(app.config['UPLOAD_FOLDER'], f))
            and f not in IGNORED_FILES
        ]

        file_display = []

        for f in files:
            size = os.path.getsize(os.path.join(app.config['UPLOAD_FOLDER'],
                                                f))
            file_saved = uploadfile(name=f, size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})

    return redirect(url_for('index'))
Example #22
0
            return simplejson.dumps({"files": [result.get_file()]})

    if request.method == 'GET':

        files = [
            f for f in os.listdir(app.config['UPLOAD_FOLDER'])
            if os.path.isfile(os.path.join(app.config['UPLOAD_FOLDER'], f))
            and f not in IGNORED_FILES
        ]

        file_display = []

        for f in files:
            size = os.path.getsize(os.path.join(app.config['UPLOAD_FOLDER'],
                                                f))
            file_saved = uploadfile(name=f, size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})

    return redirect(url_for('index'))


@app.route("/thumbnail/<string:filename>", methods=['GET'])
def get_thumbnail(filename):
    return send_from_directory(app.config['THUMBNAIL_FOLDER'],
                               filename=filename)


@app.route("/data/<string:filename>", methods=['GET'])
def get_file(filename):
Example #23
0
def upload(timestamp):
    "file upload route"
    try:
        int(timestamp)
    except ValueError:
        return simplejson.dumps({"error": "invalid timestamp"})
    APP.config["UPLOAD_FOLDER"] = os.path.join(
        util.get_base_upload_directory(), timestamp)
    os.makedirs(APP.config["UPLOAD_FOLDER"], exist_ok=True)

    if request.method == "POST" or request.method == "PUT":
        key = list(request.files.keys())[0]  # TODO ensure keys() is not empty
        files = request.files[key]

        if files:
            filename = secure_filename(files.filename)
            filename = gen_file_name(filename)
            mime_type = files.content_type

            if not allowed_file(files.filename):
                result = uploadfile(
                    name=filename,
                    type=mime_type,
                    size=0,
                    not_allowed_msg="File type not allowed",
                )

            else:
                # save file to disk
                uploaded_file_path = os.path.join(APP.config["UPLOAD_FOLDER"],
                                                  filename)
                files.save(uploaded_file_path)

                # create thumbnail after saving
                # if mime_type.startswith('image'):
                #     create_thumbnail(filename)

                # get file size after saving
                size = os.path.getsize(uploaded_file_path)

                # return json for js call back
                result = uploadfile(name=filename, type=mime_type, size=size)

            return simplejson.dumps({"files": [result.get_file()]})

    # TODO get rid of this:
    if request.method == "GET":
        # get all file in ./data directory
        files = [
            f for f in os.listdir(APP.config["UPLOAD_FOLDER"])
            if os.path.isfile(os.path.join(APP.config["UPLOAD_FOLDER"], f))
            and f not in IGNORED_FILES
        ]

        file_display = []

        for file in files:
            size = os.path.getsize(
                os.path.join(APP.config["UPLOAD_FOLDER"], file))
            file_saved = uploadfile(name=file, size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})

    return redirect(url_for("i"))
def upload():
    '''
    The upload function is called as an AJAX request from within the Upload.html page in order to avoid refreshing the whole page
    when uploading new data.
    '''

    if request.method == 'POST':

        file = request.files['file']
        datasetFoldername = session[
            'DATASETFOLDERNAME']  # get the name of the dataset (and folder)
        fullpath = os.path.join(app.config['BASE_UPLOAD_FOLDER'],
                                datasetFoldername)

        if file:

            filename = secure_filename(file.filename)
            filename = gen_file_name(fullpath, filename)

            try:
                uploaded_file_path = os.path.join(
                    app.config['BASE_UPLOAD_FOLDER'], datasetFoldername,
                    filename)
                file.save(uploaded_file_path)
                size = os.path.getsize(
                    uploaded_file_path)  # get file size after saving
            except:
                errorMessage = 'Error saving file: ' + filename + ' to working copy'
                app.logger.error(errorMessage)
                return simplejson.dumps({"Error: ": errorMessage})

            app.logger.info('File: ' + filename +
                            ' saved succesfully in working copy')
            time.sleep(0.2)
            result = uploadfile(name=filename,
                                datasetFoldername=datasetFoldername,
                                size=size)

            return simplejson.dumps({"files": [result.get_file()]})

    if request.method == 'GET':
        # get all file in ./data directory
        datasetFoldername = session['DATASETFOLDERNAME']
        datasetDir = os.path.join(app.config['BASE_UPLOAD_FOLDER'],
                                  datasetFoldername)

        # GET INFORMATION OF ALL CURRENT FILES IN DIRECTORY
        files = [
            f for f in os.listdir(datasetDir)
            if os.path.isfile(os.path.join(datasetDir, f))
            and f not in app.config['IGNORED_FILES']
        ]

        file_display = []

        for file in files:
            size = os.path.getsize(os.path.join(datasetDir, file))
            file_saved = uploadfile(name=file,
                                    datasetFoldername=datasetFoldername,
                                    size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})
Example #25
0
def upload():
    if request.method == 'POST':
        files = request.files['file']

        if files:
            filename = secure_filename(files.filename)
            filename = gen_file_name(filename)
            mime_type = files.content_type

            if not allowed_file(files.filename):
                result = uploadfile(name=filename,
                                    type=mime_type,
                                    size=0,
                                    not_allowed_msg="File type not allowed")

            else:
                # detect
                filestr = files.read()
                # convert string data to numpy array
                npimg = numpy.fromstring(filestr, numpy.uint8)
                # convert numpy array to image
                img = cv2.imdecode(npimg, cv2.IMREAD_COLOR)
                img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

                def progress(image):
                    with lock:
                        img = Image.fromarray(image).convert("L")
                        ret = predict(img)
                        print(ret)
                        tmp = "image_"
                        for i in ret:
                            if i in [
                                    '0', '1', '2', '3', '4', '5', '6', '7',
                                    '8', '9'
                            ]:
                                tmp += i
                        ret = tmp + ".jpg"
                    # image = cv2.putText(image, "{} Torn".format(ret), (0, 100), cv2.FONT_HERSHEY_COMPLEX, 2.0, (0, 255, 0), 5)
                    return ret, image

                text_str, img = progress(img)
                filename = text_str

                # save file to disk
                uploaded_file_path = os.path.join(app.config['UPLOAD_FOLDER'],
                                                  filename)
                cv2.imwrite(uploaded_file_path, img)
                # files.save(uploaded_file_path)

                # create thumbnail after saving
                if mime_type.startswith('image'):
                    create_thumbnail(filename)

                # get file size after saving
                size = os.path.getsize(uploaded_file_path)

                # return json for js call back
                result = uploadfile(name=filename, type=mime_type, size=size)

            return simplejson.dumps({"files": [result.get_file()]})

    if request.method == 'GET':
        # get all file in ./data directory
        files = [
            f for f in os.listdir(app.config['UPLOAD_FOLDER'])
            if os.path.isfile(os.path.join(app.config['UPLOAD_FOLDER'], f))
            and f not in IGNORED_FILES
        ]

        file_display = []

        for f in files:
            size = os.path.getsize(os.path.join(app.config['UPLOAD_FOLDER'],
                                                f))
            file_saved = uploadfile(name=f, size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})

    return redirect(url_for('index'))
Example #26
0
def upload():
    if request.method == 'POST':
        files = request.files['file']

        if files:
            filename = secure_filename(files.filename)
            filename = gen_file_name(filename)
            mime_type = files.content_type

            if not allowed_file(files.filename):
                result = uploadfile(name=filename,
                                    type=mime_type,
                                    size=0,
                                    not_allowed_msg="File type not allowed")

            else:
                # save file to disk
                uploaded_file_path = os.path.join(
                    app.config['TMP_UPLOAD_FOLDER'], filename)
                files.save(uploaded_file_path)

                # Process after saving
                try:
                    crmlszip = CrmlsZipHandler(uploaded_file_path,
                                               app.config['FB_CONFIG'],
                                               app.config['UPLOAD_FOLDER'],
                                               app.config['UPLOAD_FOLDER'])
                    crmlszip.unzip()
                    xmlfile_path = crmlszip.handle()
                except:
                    result = uploadfile(name=filename,
                                        type=mime_type,
                                        size=0,
                                        not_allowed_msg="File process failed")
                    return simplejson.dumps({"files": [result.get_file()]})

                # create thumbnail after saving (for image)
                if mime_type.startswith('image'):
                    create_thumbnail(filename)

                # get file size after saving
                #size = os.path.getsize(uploaded_file_path)
                size = os.path.getsize(xmlfile_path)
                xmlfile_name = os.path.basename(xmlfile_path)

                # return json for js call back
                #result = uploadfile(name=filename, type=mime_type, size=size)
                result = uploadfile(name=xmlfile_name,
                                    type=mime_type,
                                    size=size)

            return simplejson.dumps({"files": [result.get_file()]})

    if request.method == 'GET':
        # get all file in ./data directory
        files = [
            f for f in os.listdir(app.config['UPLOAD_FOLDER'])
            if os.path.isfile(os.path.join(app.config['UPLOAD_FOLDER'], f))
            and f not in IGNORED_FILES
        ]

        file_display = []

        for f in files:
            size = os.path.getsize(os.path.join(app.config['UPLOAD_FOLDER'],
                                                f))
            file_saved = uploadfile(name=f, size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})

    return redirect(url_for('index'))
Example #27
0
def upload():
    if request.method == 'POST':
        files = request.files['file']

        if files:
            filename = secure_filename(files.filename)
            filename = gen_file_name(filename)
            mime_type = files.content_type

            if not allowed_file(files.filename):
                result = uploadfile(name=filename,
                                    type=mime_type,
                                    size=0,
                                    not_allowed_msg="File type not allowed")

            else:
                # save file to disk
                uploaded_file_path = os.path.join(app.config['UPLOAD_FOLDER'],
                                                  filename)
                files.save(uploaded_file_path)

                # create thumbnail after saving
                if mime_type.startswith('image'):
                    create_thumbnail(filename)

                # get file size after saving
                size = os.path.getsize(uploaded_file_path)

                # return json for js call back
                result = uploadfile(name=filename, type=mime_type, size=size)

                #Start of Super-resulution processes
                #Video to frames
                cap = cv2.VideoCapture(uploaded_file_path)
                currentFrame = 0
                ret, image = cap.read()
                while (ret):
                    # Capture frame-by-frame
                    ret, frame = cap.read()
                    if not ret:
                        break
                    # Saves image of the current frame in jpg file
                    name = './_processing/_extractedFrames/frame' + str(
                        currentFrame) + '.png'
                    print('Creating...' + name)
                    cv2.imwrite(name, frame)
                    # To stop duplicate images
                    currentFrame += 1
                # When everything done, release the capture
                cap.release()
                cv2.destroyAllWindows()

                #Call SRGAN service
                subprocess.call(['callSrganCopy.sh'], shell=True)

                #Recombine Frames
                image_folder = './_processing/_SRframes/'
                video_name = os.path.join('./_completed/SR_', filename)

                images = [
                    img for img in os.listdir(image_folder)
                    if img.endswith(".png")
                ]
                frame = cv2.imread(os.path.join(image_folder, images[0]))
                height, width, layers = frame.shape

                fourcc = cv2.VideoWriter_fourcc(
                    *'mp4v')  # Be sure to use lower case
                video = cv2.VideoWriter(video_name, fourcc, 30,
                                        (width, height))

                for image in images:
                    video.write(cv2.imread(os.path.join(image_folder, image)))

                cv2.destroyAllWindows()
                video.release()

            return simplejson.dumps({"files": [result.get_file()]})

    if request.method == 'GET':
        # get all file in ./data directory
        files = [
            f for f in os.listdir(app.config['COMPLETED_FOLDER'])
            if os.path.isfile(os.path.join(app.config['COMPLETED_FOLDER'], f))
            and f not in IGNORED_FILES
        ]

        file_display = []

        for f in files:
            size = os.path.getsize(
                os.path.join(app.config['COMPLETED_FOLDER'], f))
            file_saved = uploadfile(name=f, size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})

    return redirect(url_for('index'))
Example #28
0
def upload():
    if request.method == 'POST':
        print request.form
        email = request.form['email']
        discription = request.form['textarea']
        # TODO: email user when log is ready
        file = request.files['file']
        result = None
        if file:
            filename = secure_filename(file.filename)
            original_filename = filename
            filename = gen_file_name(filename)
            mimetype = file.content_type

            if not allowed_file(file.filename):
                result = uploadfile(name=filename,
                                    type=mimetype,
                                    size=0,
                                    not_allowed_msg="Filetype not allowed")

            else:
                uploaded_file_path = os.path.join(UPLOAD_FOLDER, filename)
                # save the file to the server
                file.save(uploaded_file_path)

                # get file size after saving
                size = os.path.getsize(uploaded_file_path)

                # get the md5 hash for the file
                hash = md5sum(filename)

                # check the database to see if the file has already been uploaded
                con = lite.connect(get_db_filename())
                with con:
                    cur = con.cursor()
                    sql = "SELECT * FROM Logs WHERE Hash=?"
                    cur.execute(sql, [(hash)])
                    res = cur.fetchone()
                    if res is not None:
                        if len(res) >= 1:
                            # a file with the same hash already exists...
                            # return a link to the existing file for js upload call back
                            result = uploadfile(name=res[0],
                                                type=mimetype,
                                                size=res[12])
                            delete(filename)

                    else:
                        # create a row in the log database for the newly uploaded log
                        rows = [(filename, '', discription,
                                 time.strftime('%Y-%m-%d %H:%M:%S'), 0,
                                 0, 'Hawkview.io', email, '', 1,
                                 str(uuid.uuid4()), hash, size, 'UPLOADED', '')
                                ]
                        cur.executemany(
                            'INSERT INTO Logs VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)',
                            rows)
                        con.commit()

                if result is None:
                    # create json for js upload call back
                    result = uploadfile(name=filename,
                                        type=mimetype,
                                        size=size,
                                        original_name=original_filename)

                    # start the background celery task...
                    task = process_log.apply_async(
                        (app.config['CELERY_BROKER_URL'],
                         os.path.join(APP_ROOT,
                                      result.get_file()['url']), filename))
                    print(task.id)

            # return json for js upload call back
            return simplejson.dumps({"files": [result.get_file()]})

    if request.method == 'GET':
        # get all file in ./data directory
        files = [
            f for f in os.listdir(UPLOAD_FOLDER)
            if os.path.isfile(os.path.join(UPLOAD_FOLDER, f))
            and f not in IGNORED_FILES
        ]
        for file in files:
            IGNORED_FILES.append(file)
        file_display = []

        for f in files:
            size = os.path.getsize(os.path.join(UPLOAD_FOLDER, f))
            file_saved = uploadfile(name=f, size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})

    return redirect(url_for('index'))
Example #29
0
def upload():

    #print(request.get_data())

    if request.method == 'POST':
        files = request.files['file']

        if files:
            filename = secure_filename(files.filename)
            filename = gen_file_name(filename)
            mime_type = files.content_type

            print(filename)
            print(allowed_file(files.filename))

            if allowed_file(files.filename) == False:
                extension = os.path.splitext(files.filename)[1]
                error_message = simplejson.dumps({
                    'msg':
                    'Das Fomat "{}" wird nicht unterstützt. BelaVoco spielt nur folgende Formate ab: {} '
                    .format(extension, ', '.join(ALLOWED_EXTENSIONS))
                })
                return abort(Response(error_message, 414))
                #result = uploadfile(name=filename, type=mime_type, size=0, not_allowed_msg="File type not allowed")

            else:
                # save file to disk
                uploaded_file_path = os.path.join(app.config['UPLOAD_FOLDER'],
                                                  filename)
                files.save(uploaded_file_path)

                # get file size after saving
                size = os.path.getsize(uploaded_file_path)

                # IF AUDIO
                if mime_type.startswith('audio'):
                    #Create Audio-Object & Save it to database
                    save_file_to_db(uploaded_file_path, request)

                # return json for js call back
                result = uploadfile(name=filename, type=mime_type, size=size)

            return simplejson.dumps({"files": [result.get_file()]})

    if request.method == 'GET':
        # get all file in ./data directory

        files = [
            f for f in os.listdir(app.config['UPLOAD_FOLDER'])
            if os.path.isfile(os.path.join(app.config['UPLOAD_FOLDER'], f))
            and f not in IGNORED_FILES
        ]

        file_display = []

        for f in files:
            size = os.path.getsize(os.path.join(app.config['UPLOAD_FOLDER'],
                                                f))
            file_saved = uploadfile(name=f, size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})

    return redirect(url_for('.index'))
Example #30
0
def upload():
    if request.method == 'POST':
        files = request.files['file']
        extra = None
        try:
            extra = request.form['type']
            print('Extra parameter: ', extra)
        except:
            pass
        if files:
            # TODO: Add test code
            if extra is None:
                app.config['UPLOAD_FOLDER'] = "data/"
            elif app.config['TEST']:
                app.config['UPLOAD_FOLDER'] = "../data/"
            # elif app.config['DEBUG']:
            #     app.config['UPLOAD_FOLDER'] = "data/"
            elif extra not in app.config['UPLOAD_FOLDERS']:
                app.config['UPLOAD_FOLDER'] = "data/"
            else:
                app.config['UPLOAD_FOLDER'] = app.config['UPLOAD_FOLDERS'][
                    extra]

            # filename = secure_filename(files.filename)
            # filename = gen_file_name(filename)
            filename = files.filename
            uploaded_file_path = os.path.join(app.config['UPLOAD_FOLDER'],
                                              filename)
            try:
                if os.path.exists(uploaded_file_path):
                    os.remove(uploaded_file_path)
                files.save(uploaded_file_path)
            except IOError as e:
                print(e)
                data = simplejson.dumps({
                    'status': 'fail',
                    'api': 'upload',
                    'parameter': filename,
                    'message': 'Upload file fail.Error raise while save file.',
                    'data_key': None
                })
                logger.error(data)
                return data, status.HTTP_500_INTERNAL_SERVER_ERROR

            mime_type = files.content_type
            # create thumbnail after saving
            # if mime_type.startswith('image'):
            #     create_thumbnail(filename)

            # get file size after saving
            size = os.path.getsize(uploaded_file_path)

            # return json for js call back
            result = uploadfile(name=filename, type=mime_type, size=size)
            data = simplejson.dumps({"files": [result.get_file()]})
            logger.info(data)
            return data

    if request.method == 'GET':
        # get all file in ./data directory
        files = [
            f for f in os.listdir(app.config['UPLOAD_FOLDERS'])
            if os.path.isfile(os.path.join(app.config['UPLOAD_FOLDERS'], f))
            and f not in IGNORED_FILES
        ]

        file_display = []

        for f in files:
            size = os.path.getsize(
                os.path.join(app.config['UPLOAD_FOLDERS'], f))
            file_saved = uploadfile(name=f, size=size)
            file_display.append(file_saved.get_file())
        data = simplejson.dumps({"files": file_display})
        logger.info(data)
        return data

    return redirect(url_for('index'))
Example #31
0
def upload():
    if request.method == 'POST':
        files = request.files['file']
        language = request.form.get('language_select')
        vendor = request.form.get('vendor_select')
        print(language + " #### KSHITIJ #####" + vendor)
        if files:
            filename = secure_filename(files.filename)
            filename = gen_file_name(filename)
            mime_type = files.content_type

            if not allowed_file(files.filename):
                result = uploadfile(name=filename,
                                    type=mime_type,
                                    size=0,
                                    not_allowed_msg="File type not allowed")

            else:
                # save file to disk
                uploaded_file_path = os.path.join(app.config['UPLOAD_FOLDER'],
                                                  filename)
                files.save(uploaded_file_path)

                # start translation

                try:
                    Thread(target=pdf2html,
                           args=(language, vendor, uploaded_file_path,
                                 app.config['UPLOAD_FOLDER'], filename,
                                 2)).start()
                except Exception as e:
                    print(e)
                # # create thumbnail after saving
                # if mime_type.startswith('image'):
                #     create_thumbnail(filename)
                #
                # get file size after saving
                size = os.path.getsize(uploaded_file_path)

                # return json for js call back
                result = uploadfile(name=filename, type=mime_type, size=size)
            print('done')
            return simplejson.dumps({"files": [result.get_file()]})

    if request.method == 'GET':
        # get all file in ./data directory
        files = [
            f for f in os.listdir(app.config['UPLOAD_FOLDER'])
            if os.path.isfile(os.path.join(app.config['UPLOAD_FOLDER'], f))
            and f not in IGNORED_FILES
        ]

        file_display = []

        for f in files:
            size = os.path.getsize(os.path.join(app.config['UPLOAD_FOLDER'],
                                                f))
            file_saved = uploadfile(name=f, size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})

    return redirect(url_for('index'))
Example #32
0
def upload():

    if request.method == 'POST':
        file = request.files['file']
        # print request.view_args
        # print request.args['myrequests']
        # print request.args.get('blogsource')
        # print request.form['blogsource']
        g.source = request.form['blogsrc'] if request.form['blogsrc'] else None
        g.acs = request.form['acs'] if request.form['acs'] else None
        # print request.args
        # print request.form
        # print request.values

        #pprint (vars(objectvalue))

        if file:
            filename = secure_filename(file.filename)
            filename = gen_file_name(filename)
            mimetype = file.content_type

            if not allowed_file(file.filename):
                result = uploadfile(name=filename,
                                    type=mimetype,
                                    size=0,
                                    not_allowed_msg="Filetype not allowed")

            else:
                # save file to disk
                uploaded_file_path = os.path.join(app.config['UPLOAD_FOLDER'],
                                                  filename)
                file.save(uploaded_file_path)
                target_media = {
                    "filename": filename,
                    "time": datetime.utcnow().isoformat()
                }

                amedia = ghana.vertex_collection('media')

                amed = amedia.insert(target_media)

                if g.acs:
                    medi.insert({
                        '_from': 'activities/' + g.acs,
                        '_to': 'media/' + str(amed['_key'])
                    })

                if g.source:
                    art.insert({
                        '_from': 'articles/' + g.source,
                        '_to': 'media/' + str(amed['_key'])
                    })

                # media = Media(name=filename, blogs=g.source)
                # db.session.add(media)
                # db.session.commit()

                # create thumbnail after saving
                if mimetype.startswith('image'):
                    create_thumbnai(filename)

                # get file size after saving
                size = os.path.getsize(uploaded_file_path)

                # return json for js call back
                result = uploadfile(name=filename, type=mimetype, size=size)

            return simplejson.dumps({"files": [result.get_file()]})

    if request.method == 'GET':

        # get all file in ./data directory
        files = [
            f for f in os.listdir(app.config['UPLOAD_FOLDER'])
            if os.path.isfile(os.path.join(app.config['UPLOAD_FOLDER'], f))
            and f not in IGNORED_FILES
        ]

        file_display = []

        for f in files:
            size = os.path.getsize(os.path.join(app.config['UPLOAD_FOLDER'],
                                                f))
            file_saved = uploadfile(name=f, size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})

    return redirect(url_for('index'))
Example #33
0
def upload():
    if request.method == 'POST':
        files = request.files['file']

        if files:
            filename = secure_filename(files.filename)
            filename = tool.gen_file_name(filename,
                                          app.config['UPLOAD_FOLDER'])
            mime_type = files.content_type

            if not tool.allowed_file(files.filename,
                                     settings.ALLOWED_EXTENSIONS):
                result = uploadfile(name=filename,
                                    type=mime_type,
                                    size=0,
                                    not_allowed_msg="File type not allowed")

            else:
                # save file to disk
                uploaded_file_path = os.path.join(app.config['UPLOAD_FOLDER'],
                                                  filename)
                files.save(uploaded_file_path)

                # classify the image
                im = Image.open(uploaded_file_path)
                image = Classifier.prepare_image(
                    im, (settings.C_IMAGE_WIDTH, settings.C_IMAGE_HEIGHT))
                # predict the score
                image = image.copy(order="C")

                if settings.USE_CLASSIFIER:
                    k = str(uuid.uuid4())
                    d = {"id": k, "image": tool.base64_encode_image(image)}
                    settings.db.rpush(settings.C_IMAGE_QUEUE, json.dumps(d))
                    print('push image in classifier queue: ', k)

                    while True:
                        output = settings.db.get(k)
                        if output is not None:
                            output = output.decode("utf-8")
                            score = json.loads(output)
                            print('get result :', k)
                            settings.db.delete(k)
                            break
                        time.sleep(settings.CLIENT_SLEEP)

                    S3_lib.s3_down_file(
                        s3, settings.OTHER_BUCKET, 'score.json',
                        app.config['UPLOAD_FOLDER'] + 'score.json')
                    f = open(app.config['UPLOAD_FOLDER'] + 'score.json', 'r')
                    model = json.load(f)
                    f.close()
                    model[filename] = score
                    f = open(app.config['UPLOAD_FOLDER'] + 'score.json', 'w')
                    f.write(json.dumps(model))
                    f.close()
                    S3_lib.s3_upload_file(
                        s3, settings.OTHER_BUCKET, 'score.json',
                        app.config['UPLOAD_FOLDER'] + 'score.json')

                if settings.USE_PARSER:
                    image = Parser.prepare_image(
                        im, (settings.P_IMAGE_HEIGHT, settings.P_IMAGE_WIDTH))
                    k = str(uuid.uuid4())
                    d = {"id": k, "image": tool.base64_encode_image(image)}
                    settings.db.rpush(settings.P_IMAGE_QUEUE, json.dumps(d))
                    print('push image in parser queue: ', k)

                    while True:
                        output = settings.db.get(k)
                        if output is not None:
                            output = output.decode("utf-8")
                            result = json.loads(output)
                            print('get result :', k)
                            settings.db.delete(k)
                            break
                        time.sleep(settings.CLIENT_SLEEP)

                    parsed_image_string = result['image']
                    parsed_image = tool.base64_decode_image(
                        parsed_image_string,
                        dtype=np.uint8,
                        shape=(settings.P_IMAGE_HEIGHT, settings.P_IMAGE_WIDTH,
                               settings.P_IMAGE_CHANS))
                    sio.imsave(
                        os.path.join(app.config['UPLOAD_FOLDER'],
                                     'parsed_' + filename), parsed_image)
                    S3_lib.s3_upload_file(
                        s3, settings.RESULT_BUCKET, 'parsed_' + filename,
                        app.config['UPLOAD_FOLDER'] + 'parsed_' + filename)

                S3_lib.s3_upload_file(s3, settings.IMAGE_BUCKET, filename,
                                      app.config['UPLOAD_FOLDER'] + filename)
                # create thumbnail after saving
                if mime_type.startswith('image'):
                    tool.create_thumbnail(filename,
                                          app.config['UPLOAD_FOLDER'],
                                          app.config['THUMBNAIL_FOLDER'])
                    S3_lib.s3_upload_file(
                        s3, settings.THUMBNAIL_BUCKET, 'tumb_' + filename,
                        app.config['THUMBNAIL_FOLDER'] + 'tumb_' + filename)

                # get file size after saving
                size = os.path.getsize(uploaded_file_path)

                # return json for js call back
                result = uploadfile(name=filename, type=mime_type, size=size)

            return simplejson.dumps({"files": [result.get_file()]})

    if request.method == 'GET':
        # files = [f for f in os.listdir(app.config['UPLOAD_FOLDER']) if os.path.isfile(
        #     os.path.join(app.config['UPLOAD_FOLDER'], f)) and f not in settings.IGNORED_FILES]
        files = [
            f for f in S3_lib.get_listfiles(s3, settings.IMAGE_BUCKET)
            if f[0] not in settings.IGNORED_FILES
        ]

        file_display = []
        for name, size in files:
            file_saved = uploadfile(name=name, size=size)
            file_display.append(file_saved.get_file())

        return simplejson.dumps({"files": file_display})

    return redirect(url_for('index'))