コード例 #1
0
def test_to_pdf(file_path):
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    with pytest.raises(UnsupportedMimeType):
        manager.get_pdf_preview(
            file_path=file_path,
            force=True
        )
コード例 #2
0
def test_to_pdf_one_page():
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    assert manager.has_pdf_preview(file_path=IMAGE_FILE_PATH) is True
    path_0 = manager.get_pdf_preview(file_path=IMAGE_FILE_PATH, page=0, force=True)
    assert os.path.exists(path_0) is True
    assert os.path.getsize(path_0) > 0
    assert re.match(test_utils.CACHE_FILE_PATH_PATTERN_WITH_PAGE__PDF, path_0)

    path_1 = manager.get_pdf_preview(file_path=IMAGE_FILE_PATH, page=1, force=True)
    assert os.path.exists(path_1) is True
    assert os.path.getsize(path_1) > 0
    assert re.match(test_utils.CACHE_FILE_PATH_PATTERN_WITH_PAGE__PDF, path_1)
コード例 #3
0
def test_to_pdf_one_page():
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    assert manager.has_pdf_preview(file_path=IMAGE_FILE_PATH) is True
    path_0 = manager.get_pdf_preview(file_path=IMAGE_FILE_PATH, page=0, force=True)
    assert os.path.exists(path_0) is True
    assert os.path.getsize(path_0) > 0
    assert path_0 == os.path.join(CACHE_DIR, PDF_FILE_HASH + "-page0.pdf")

    path_1 = manager.get_pdf_preview(file_path=IMAGE_FILE_PATH, page=1, force=True)
    assert os.path.exists(path_1) is True
    assert os.path.getsize(path_1) > 0
    assert path_1 == os.path.join(CACHE_DIR, PDF_FILE_HASH + "-page1.pdf")
コード例 #4
0
def test_to_pdf_no_extension_extension_forced() -> None:
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    assert manager.has_pdf_preview(file_path=IMAGE_FILE_PATH_NO_EXTENSION, file_ext=".xlsx") is True
    path_to_file = manager.get_pdf_preview(
        file_path=IMAGE_FILE_PATH_NO_EXTENSION, force=True, file_ext=".xlsx"
    )
    assert os.path.exists(path_to_file) is True
コード例 #5
0
def test_to_pdf_full_export():
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    assert manager.has_pdf_preview(file_path=IMAGE_FILE_PATH) is True
    path_to_file = manager.get_pdf_preview(file_path=IMAGE_FILE_PATH, page=-1, 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__PDF, path_to_file)
コード例 #6
0
def test_to_pdf_full_export():
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    assert manager.has_pdf_preview(file_path=IMAGE_FILE_PATH) is True
    path_to_file = manager.get_pdf_preview(file_path=IMAGE_FILE_PATH, page=-1, force=True)
    assert os.path.exists(path_to_file) is True
    assert os.path.getsize(path_to_file) > 0
    assert path_to_file == (os.path.join(CACHE_DIR, PDF_FILE_HASH + ".pdf"))
コード例 #7
0
    def download_pdf_one(self, page_id, *args, **kwargs):
        file_id = int(tg.request.controller_state.routing_args.get('file_id'))
        page_id = int(page_id)
        # page_id = int(tg.request.controller_state.routing_args.get('page_id'))

        # For now it's done through database content
        # but soon it'll be with disk access

        user = tmpl_context.current_user
        content_api = ContentApi(
            user,
            show_archived=True,
            show_deleted=True,
        )
        file_name = content_api.get_one(file_id, self._item_type).file_name

        cache_path = '/home/alexis/Pictures/cache/'

        preview_manager = PreviewManager(cache_path, create_folder=True)
        path = preview_manager.get_pdf_preview(
            file_path='/home/alexis/Pictures/cache/{}'.format(file_name),
            page=page_id,
        )

        tg.response.headers['Content-Disposition'] = \
            str('attachment; filename="{}"'.format(file_name))
        with open(path, 'rb') as pdf:
            return pdf.read()
コード例 #8
0
def test_to_pdf_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_pdf_preview(file_path=image_file_path,
                                           force=True)
    assert os.path.exists(path_to_file) is True
コード例 #9
0
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
コード例 #10
0
ファイル: page.py プロジェクト: norsig/tracim
 def download_pdf_one(self,
                      page_id: str,
                      revision_id: str = None,
                      *args,
                      **kwargs):
     file_id = int(tg.request.controller_state.routing_args.get('file_id'))
     revision_id = int(revision_id) if revision_id != 'latest' else None
     page = int(page_id)
     cache_path = CFG.get_instance().PREVIEW_CACHE_DIR
     preview_manager = PreviewManager(cache_path, create_folder=True)
     user = tmpl_context.current_user
     content_api = ContentApi(user, show_archived=True, show_deleted=True)
     file = content_api.get_one(file_id, self._item_type)
     if revision_id:
         file_path = content_api.get_one_revision_filepath(revision_id)
     else:
         file = content_api.get_one(file_id, self._item_type)
         file_path = content_api.get_one_revision_filepath(file.revision_id)
     path = preview_manager.get_pdf_preview(file_path=file_path, page=page)
     file_suffix = ''
     if page > -1:
         file_suffix = '.page-{}'.format(page + 1)
     tg.response.headers['Content-Disposition'] = \
         'attachment; filename="{}{}.pdf"'.format(
             file.label,
             file_suffix,
         )
     with open(path, 'rb') as pdf:
         return pdf.read()
コード例 #11
0
def test_to_pdf():
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    with pytest.raises(UnavailablePreviewType):
        path_to_file = manager.get_pdf_preview(
            file_path=IMAGE_FILE_PATH,
            force=True
        )
コード例 #12
0
ファイル: page.py プロジェクト: lebouquetin/tracim
 def download_pdf_one(self,
                      page_id: str,
                      revision_id: str=None,
                      *args, **kwargs):
     file_id = int(tg.request.controller_state.routing_args.get('file_id'))
     revision_id = int(revision_id) if revision_id != 'latest' else None
     page = int(page_id)
     cache_path = CFG.get_instance().PREVIEW_CACHE_DIR
     preview_manager = PreviewManager(cache_path, create_folder=True)
     user = tmpl_context.current_user
     content_api = ContentApi(user,
                              show_archived=True,
                              show_deleted=True)
     file = content_api.get_one(file_id, self._item_type)
     if revision_id:
         file_path = content_api.get_one_revision_filepath(revision_id)
     else:
         file = content_api.get_one(file_id, self._item_type)
         file_path = content_api.get_one_revision_filepath(file.revision_id)
     path = preview_manager.get_pdf_preview(file_path=file_path,
                                            page=page)
     file_suffix = ''
     if page > -1:
         file_suffix = '.page-{}'.format(page + 1)
     tg.response.headers['Content-Disposition'] = \
         'attachment; filename="{}{}.pdf"'.format(
             file.label,
             file_suffix,
         )
     with open(path, 'rb') as pdf:
         return pdf.read()
コード例 #13
0
def test_to_pdf_one_page():
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    path_0 = manager.get_pdf_preview(file_path=os.path.join(
        CURRENT_DIR, 'the_odt.odt'),
                                     page=0,
                                     force=True)
    assert os.path.exists(path_0) == True
    assert os.path.getsize(path_0) > 0
    assert path_0 == '/tmp/preview-generator-tests/cache/565e100b2c2337222cf1a551f36c17e7-page0.pdf'  # nopep8

    path_1 = manager.get_pdf_preview(file_path=os.path.join(
        CURRENT_DIR, 'the_odt.odt'),
                                     page=1,
                                     force=True)
    assert os.path.exists(path_1) == True
    assert os.path.getsize(path_1) > 0
    assert path_1 == '/tmp/preview-generator-tests/cache/565e100b2c2337222cf1a551f36c17e7-page1.pdf'  # nopep8
コード例 #14
0
def test_to_pdf_full_export():
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    path_to_file = manager.get_pdf_preview(file_path=os.path.join(
        CURRENT_DIR, 'the_odt.odt'),
                                           page=-1,
                                           force=True)
    assert os.path.exists(path_to_file) == True
    assert os.path.getsize(path_to_file) > 0
    assert path_to_file == '/tmp/preview-generator-tests/cache/565e100b2c2337222cf1a551f36c17e7.pdf'  # nopep8
コード例 #15
0
def test_to_pdf_no_page():
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    path_to_file = manager.get_pdf_preview(file_path=os.path.join(
        CURRENT_DIR, 'the_odt.odt'),
                                           force=True)
    assert os.path.exists(path_to_file) == True
    assert os.path.getsize(path_to_file) > 0
    assert path_to_file == '/tmp/preview-generator-tests/cache/565e100b2c2337222cf1a551f36c17e7.pdf'  # nopep8
    with WandImage(filename=path_to_file) as pdf:
        assert len(pdf.sequence) == 2
コード例 #16
0
def test_to_pdf_no_page() -> None:
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    assert manager.has_pdf_preview(file_path=ODP_FILE_PATH) is True
    path_to_file = manager.get_pdf_preview(file_path=ODP_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__PDF, path_to_file)
    assert (PdfPreviewBuilderPopplerUtils().get_page_number(
        cache_path=CACHE_DIR, preview_name="test",
        file_path=path_to_file) == 5)
コード例 #17
0
def test_to_pdf_no_page():
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    assert manager.has_pdf_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
    assert os.path.getsize(path_to_file) > 0
    assert re.match(test_utils.CACHE_FILE_PATH_PATTERN__PDF, path_to_file)

    pdf = PdfFileReader(open(path_to_file, "rb"))
    assert pdf.getNumPages() == 2
コード例 #18
0
def test_to_pdf_no_page():
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    assert manager.has_pdf_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
    assert os.path.getsize(path_to_file) > 0
    assert path_to_file == (os.path.join(CACHE_DIR, PDF_FILE_HASH + ".pdf"))

    try:
        with WandImage(filename=path_to_file) as pdf:
            assert len(pdf.sequence) == 2
    except PolicyError:
        pytest.skip("You must update ImageMagic policy file to allow PDF files")
コード例 #19
0
def test_to_pdf_one_page() -> None:
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    assert manager.has_pdf_preview(file_path=ODT_FILE_PATH) is True
    path_0 = manager.get_pdf_preview(file_path=ODT_FILE_PATH,
                                     page=0,
                                     force=True)
    assert os.path.exists(path_0) is True
    assert os.path.getsize(
        path_0
    ) > 1000  # verify if the size of the pdf refer to a normal content
    assert re.match(test_utils.CACHE_FILE_PATH_PATTERN_WITH_PAGE__PDF, path_0)
    pdf = PdfFileReader(open(path_0, "rb"))
    assert pdf.getNumPages() == 1

    path_1 = manager.get_pdf_preview(file_path=ODT_FILE_PATH,
                                     page=1,
                                     force=True)
    assert os.path.exists(path_1) is True
    assert os.path.getsize(
        path_1
    ) > 1000  # verify if the size of the pdf refer to a normal content
    assert re.match(test_utils.CACHE_FILE_PATH_PATTERN_WITH_PAGE__PDF, path_1)
    pdf = PdfFileReader(open(path_1, "rb"))
    assert pdf.getNumPages() == 1
コード例 #20
0
def test_to_pdf_no_page():
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    assert manager.has_pdf_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
    assert os.path.getsize(path_to_file) > 0
    assert re.match(test_utils.CACHE_FILE_PATH_PATTERN__PDF, path_to_file)

    try:
        with WandImage(filename=path_to_file) as pdf:
            assert len(pdf.sequence) == 2
    except PolicyError:
        pytest.skip(
            'You must update ImageMagic policy file to allow PDF files')
コード例 #21
0
def test_to_pdf_one_page() -> None:
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    assert manager.has_pdf_preview(file_path=ODT_FILE_PATH) is True
    path_0 = manager.get_pdf_preview(file_path=ODT_FILE_PATH, page=0, force=True)
    assert os.path.exists(path_0) is True
    assert os.path.getsize(path_0) > 1000  # verify if the size of the pdf refer to a normal content
    assert re.match(test_utils.CACHE_FILE_PATH_PATTERN_WITH_PAGE__PDF, path_0)
    assert (
        PdfPreviewBuilderPopplerUtils().get_page_number(
            cache_path=CACHE_DIR, preview_name="test", file_path=path_0
        )
        == 1
    )

    path_1 = manager.get_pdf_preview(file_path=ODT_FILE_PATH, page=1, force=True)
    assert os.path.exists(path_1) is True
    assert os.path.getsize(path_1) > 1000  # verify if the size of the pdf refer to a normal content
    assert re.match(test_utils.CACHE_FILE_PATH_PATTERN_WITH_PAGE__PDF, path_1)
    assert (
        PdfPreviewBuilderPopplerUtils().get_page_number(
            cache_path=CACHE_DIR, preview_name="test", file_path=path_0
        )
        == 1
    )
コード例 #22
0
def test_to_pdf_no_extension():
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    assert manager.has_pdf_preview(
        file_path=IMAGE_FILE_PATH_NO_EXTENSION, ) is False
    with pytest.raises(UnavailablePreviewType):
        manager.get_pdf_preview(file_path=IMAGE_FILE_PATH_NO_EXTENSION, )
コード例 #23
0
def test_to_pdf() -> None:
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    assert manager.has_pdf_preview(file_path=IMAGE_FILE_PATH) is False
    with pytest.raises(UnavailablePreviewType):
        manager.get_pdf_preview(file_path=IMAGE_FILE_PATH, force=True)
コード例 #24
0
def test_to_pdf() -> None:
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    assert manager.has_pdf_preview(file_path=XLSX_FILE_PATH) is True
    path_to_file = manager.get_pdf_preview(file_path=XLSX_FILE_PATH,
                                           force=True)
    assert os.path.exists(path_to_file) is True
コード例 #25
0
def test_to_pdf():
    manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
    assert manager.has_pdf_preview(file_path=IMAGE_FILE_PATH) is True
    manager.get_pdf_preview(file_path=IMAGE_FILE_PATH, force=True)
コード例 #26
0
def test_to_pdf__err_timeout() -> None:
    with pytest.raises(subprocess.TimeoutExpired):
        manager = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)
        manager.get_pdf_preview(file_path=ODT_FILE_PATH, force=True)
コード例 #27
0
def get_docs_preview(file_id, path):
    cache_path = pathconst.TEMP
    manager = PreviewManager(cache_path, create_folder=True)
    path_to_pdf_preview = manager.get_pdf_preview(file_path=path)
    return path_to_pdf_preview
コード例 #28
0
def test_dry_run_pdf() -> None:
    pm = PreviewManager(cache_folder_path=CACHE_DIR, create_folder=True)

    preview_path = pm.get_pdf_preview("/tmp/image.jpeg", dry_run=True)
    assert not os.path.exists(preview_path)