def get_mimetype(): jsonRequest = request.json if 'path' not in jsonRequest: raise ValueError('path required') else: source_document = request.json['path'] print('source_document: ', source_document) cache_path = '/var/preview-cache' manager = PreviewManager('/var/preview-cache/', create_folder=True) mimetype = manager.get_mimetype(source_document) response = app.response_class( response=json.dumps({"mimetype": mimetype}), status=200, mimetype='application/json' ) return response
def test_to_json(): manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) mimetype = manager.get_mimetype(IMAGE_FILE_PATH) builder = manager._factory.get_preview_builder(mimetype) assert manager.has_json_preview(file_path=IMAGE_FILE_PATH, ) is True path_to_file = manager.get_json_preview(file_path=IMAGE_FILE_PATH, force=True) assert os.path.exists(path_to_file) assert os.path.getsize(path_to_file) > 0 assert re.match(test_utils.CACHE_FILE_PATH_PATTERN__JSON, path_to_file) data = json.load(open(path_to_file)) assert 'File:FileName' in data.keys() assert 'SVG:MetadataID' in data.keys() assert 'XMP:WorkType' in data.keys() assert 'SVG:Xmlns' in data.keys() assert 'File:FileTypeExtension' in data.keys() assert 'SVG:Docname' in data.keys() assert 'SourceFile' in data.keys() assert 'File:FileInodeChangeDate' in data.keys() assert 'File:Directory' in data.keys() assert 'File:FileAccessDate' in data.keys() assert 'ExifTool:ExifToolVersion' in data.keys() assert 'SVG:ImageHeight' in data.keys() assert 'SVG:Version' in data.keys() assert 'SVG:ImageWidth' in data.keys() assert 'File:FileSize' in data.keys() assert 'File:FilePermissions' in data.keys() assert 'XMP:WorkFormat' in data.keys() assert 'SVG:SVGVersion' in data.keys() assert 'File:FileModifyDate' in data.keys() assert 'File:FileType' in data.keys() assert 'File:MIMEType' in data.keys() assert 'SVG:ID' in data.keys()