def test_has_jpeg_preview(file_path): manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) with pytest.raises(UnsupportedMimeType): manager.has_jpeg_preview( file_path=file_path, file_ext='.bin' )
def test_odp_to_jpeg_no_extension() -> None: manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) assert (manager.has_jpeg_preview(file_path=ODP_FILE_PATH_NO_EXTENSION, file_ext=ODP_FILE_EXT) is True) path0 = manager.get_jpeg_preview( file_path=ODP_FILE_PATH_NO_EXTENSION, file_ext=ODP_FILE_EXT, height=512, width=256, page=0, force=True, ) assert os.path.exists(path0) assert os.path.getsize(path0) > 0 re.match(test_utils.CACHE_FILE_PATH_PATTERN_WITH_PAGE__JPEG, path0) with Image.open(path0) as jpeg: assert jpeg.height == 192 assert jpeg.width == 256 path1 = manager.get_jpeg_preview( file_path=ODP_FILE_PATH_NO_EXTENSION, file_ext=ODP_FILE_EXT, height=512, width=256, page=1, force=True, ) assert os.path.exists(path1) assert os.path.getsize(path1) > 0 assert re.match(test_utils.CACHE_FILE_PATH_PATTERN_WITH_PAGE__JPEG, path1) with Image.open(path1) as jpeg: assert jpeg.height == 192 assert jpeg.width == 256
def test_to_jpeg_no_extension() -> None: manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) image_file_path = HTML_FILE_PATH_NO_EXTENSION assert manager.has_jpeg_preview(file_path=image_file_path) is True path_to_file = manager.get_jpeg_preview(file_path=image_file_path, force=True) assert os.path.exists(path_to_file) is True
def test_to_pdf(): manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) image_file_path = IMAGE_FILE_PATH assert manager.has_jpeg_preview(file_path=image_file_path) is True path_to_file = manager.get_pdf_preview(file_path=image_file_path, force=True) assert os.path.exists(path_to_file) is True
def test_to_jpeg() -> None: manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) assert manager.has_jpeg_preview(file_path=IMAGE_FILE_PATH) is True path0 = manager.get_jpeg_preview(file_path=IMAGE_FILE_PATH, height=512, width=256, page=0, force=True) assert os.path.exists(path0) is True assert os.path.getsize(path0) > 0 assert re.match(test_utils.CACHE_FILE_PATH_PATTERN_WITH_PAGE__JPEG, path0) with Image.open(path0) as jpeg: assert jpeg.height == 357 assert jpeg.width == 256 path1 = manager.get_jpeg_preview(file_path=IMAGE_FILE_PATH, height=512, width=256, page=1, force=True) assert os.path.exists(path1) is True assert os.path.getsize(path1) > 0 assert re.match(test_utils.CACHE_FILE_PATH_PATTERN_WITH_PAGE__JPEG, path1) with Image.open(path1) as jpeg: assert jpeg.height == 357 assert jpeg.width == 256
def test_text_to_jpeg() -> None: manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) image_file_path = HTML_FILE_PATH assert manager.has_jpeg_preview(file_path=image_file_path) is True path_to_file = manager.get_jpeg_preview(file_path=image_file_path, force=True) assert os.path.exists(path_to_file) is True assert os.path.getsize(path_to_file) > 0
def test_algorithm4(): manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) assert manager.has_jpeg_preview(file_path=IMAGE_FILE_PATH__A4) is True path_to_file = manager.get_jpeg_preview(file_path=IMAGE_FILE_PATH__A4, force=True) with Image.open(path_to_file) as jpeg: assert jpeg.height == 256 assert jpeg.width in range(180, 182)
def test_to_jpeg_no_extension_extension_forced(): manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) image_file_path = IMAGE_FILE_PATH_NO_EXTENSION assert manager.has_jpeg_preview(file_path=image_file_path, file_ext=".txt") is True path_to_file = manager.get_jpeg_preview(file_path=image_file_path, force=True, file_ext=".txt") assert os.path.exists(path_to_file) is True
def test_to_jpeg__default_size() -> None: manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) assert manager.has_jpeg_preview(file_path=IMAGE_FILE_PATH) is True path_to_file = manager.get_jpeg_preview(file_path=IMAGE_FILE_PATH) assert os.path.exists(path_to_file) is True assert os.path.getsize(path_to_file) > 0 assert re.match(test_utils.CACHE_FILE_PATH_PATTERN__JPEG, path_to_file) with Image.open(path_to_file) as jpeg: assert jpeg.height in range(229, 231) assert jpeg.width == 256
def test_to_jpeg_no_size_no_page(): manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) assert manager.has_jpeg_preview(file_path=IMAGE_FILE_PATH) is True path_to_file = manager.get_jpeg_preview(file_path=IMAGE_FILE_PATH, force=True) assert os.path.exists(path_to_file) is True assert os.path.getsize(path_to_file) > 0 assert re.match(test_utils.CACHE_FILE_PATH_PATTERN__JPEG, path_to_file) with Image.open(path_to_file) as jpeg: assert jpeg.height == 256 assert jpeg.width in range(180, 182)
def test_to_jpeg__default_size(): manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) assert manager.has_jpeg_preview(file_path=IMAGE_FILE_PATH, ) is True path_to_file = manager.get_jpeg_preview(file_path=IMAGE_FILE_PATH, force=True) assert os.path.exists(path_to_file) is True assert os.path.getsize(path_to_file) > 0 assert path_to_file == ( '/tmp/preview-generator-tests/cache/{hash}-256x256.jpeg'.format( hash=FILE_HASH)) with Image.open(path_to_file) as jpeg: assert jpeg.height in range(90, 92) assert jpeg.width == 256
def test_to_jpeg_no_page() -> None: manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) assert manager.has_jpeg_preview(file_path=ODP_FILE_PATH) is True path_to_file = manager.get_jpeg_preview(file_path=ODP_FILE_PATH, height=512, width=512, force=True) assert os.path.exists(path_to_file) is True assert os.path.getsize(path_to_file) > 0 assert re.match(test_utils.CACHE_FILE_PATH_PATTERN__JPEG, path_to_file) with Image.open(path_to_file) as jpeg: assert jpeg.height == 384 assert jpeg.width == 512
def test_to_jpeg(): manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) assert manager.has_jpeg_preview(file_path=IMAGE_FILE_PATH, ) is True path_to_file = manager.get_jpeg_preview(file_path=IMAGE_FILE_PATH, height=512, width=321, force=True) assert os.path.exists(path_to_file) == True assert os.path.getsize(path_to_file) > 0 assert re.match(test_utils.CACHE_FILE_PATH_PATTERN__JPEG, path_to_file) with Image.open(path_to_file) as jpeg: assert jpeg.height in range(453, 455) assert jpeg.width == 321
def test_to_jpeg(): manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) assert manager.has_jpeg_preview(file_path=IMAGE_FILE_PATH) is True path_to_file = manager.get_jpeg_preview(file_path=IMAGE_FILE_PATH, height=256, width=512) assert os.path.exists(path_to_file) is True assert os.path.getsize(path_to_file) > 0 assert path_to_file == ( "/tmp/preview-generator-tests/cache/{hash}-512x256.jpeg".format( hash=FILE_HASH)) with Image.open(path_to_file) as jpeg: assert jpeg.height in range(182, 184) assert jpeg.width == 512
def test_to_jpeg_no_size(): try: manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) assert manager.has_jpeg_preview(file_path=IMAGE_FILE_PATH) is True path_to_file = manager.get_jpeg_preview(file_path=IMAGE_FILE_PATH, force=True) assert os.path.exists(path_to_file) is True assert os.path.getsize(path_to_file) > 0 with Image.open(path_to_file) as jpeg: assert jpeg.height == 256 assert jpeg.width == 256 except PolicyError: pytest.skip( "You must update ImageMagic policy file to allow EPS convert")
def test_to_jpeg_no_extension() -> None: manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) assert manager.has_jpeg_preview(file_path=IMAGE_FILE_PATH_NO_EXTENSION, file_ext=".ARW") is True path_to_file = manager.get_jpeg_preview( file_path=IMAGE_FILE_PATH_NO_EXTENSION, height=256, width=512, force=True, file_ext=".ARW") assert os.path.exists(path_to_file) is True assert os.path.getsize(path_to_file) > 0 assert re.match(test_utils.CACHE_FILE_PATH_PATTERN__JPEG, path_to_file) with Image.open(path_to_file) as jpeg: assert jpeg.height == 256 assert jpeg.width == 171
def test_to_jpeg__encrypted_pdf() -> None: with pytest.raises(PyPDF2.utils.PdfReadError): # ensure file is encrpyted pdf = PdfFileReader(PDF_FILE_PATH__ENCRYPTED) pdf.getPage(0) manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) assert manager.has_jpeg_preview(file_path=PDF_FILE_PATH) is True path_to_file = manager.get_jpeg_preview(file_path=PDF_FILE_PATH__ENCRYPTED, height=512, width=321, force=True) assert os.path.exists(path_to_file) is True assert os.path.getsize(path_to_file) > 0 assert re.match(test_utils.CACHE_FILE_PATH_PATTERN__JPEG, path_to_file) with Image.open(path_to_file) as jpeg: assert jpeg.height in range(453, 455) assert jpeg.width == 321
def test_png_to_jpeg_with_background_white() -> None: image_file_path = os.path.join(CURRENT_DIR, "the_png.png") to_size = ImgDims(width=512, height=256) with Image(filename=image_file_path) as input_img: input_size = ImgDims(width=input_img.width, height=input_img.height) expected_size = compute_resize_dims(input_size, to_size) manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True) assert manager.has_jpeg_preview(file_path=image_file_path) is True path_to_file = manager.get_jpeg_preview( file_path=image_file_path, width=to_size.width, height=to_size.height, force=True ) assert os.path.exists(path_to_file) is True assert os.path.getsize(path_to_file) > 0 assert re.match(test_utils.CACHE_FILE_PATH_PATTERN__JPEG, path_to_file) with Image(filename=path_to_file) as output_img: assert output_img.width == expected_size.width assert output_img.height == expected_size.height assert nearest_colour_white(output_img[5][5])