Skip to content

Commit

Permalink
test work
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexis CLEMENT committed Jun 14, 2017
1 parent bbaac28 commit f9166a1
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 57 deletions.
42 changes: 8 additions & 34 deletions preview_generator/manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,6 @@ def get_jpeg_preview(
mimetype = self.factory.get_document_mimetype(file_path)
builder = self.factory.get_preview_builder(mimetype)

print("FILE_PATH:", file_path)
sleep(2)

try:
if not self.exists_preview(
self.cache_path + preview_name,
Expand Down Expand Up @@ -127,47 +124,24 @@ def get_pdf_preview(
use_original_filename=use_original_filename
)
try:
if not builder.self(
if not self.exists_preview(
path=self.cache_path + preview_name,
extension=extension) or force:
builder.build_pdf_preview(
file_path=file_path,
preview_name=preview_name,
cache_path=self.cache_path,
extension=extension
extension=extension,
page_id=page
)

if page == -1 or page == None:
return self.cache_path + preview_name + extension
return '{path}{file_name}{extension}'.format(
path=self.cache_path,
file_name=preview_name,
extension=extension
)
else:
with open(
'{path}{file_name}{extension}'.format(
path=self.cache_path,
file_name=preview_name,
extension=extension
),
'rb'
) as handler:
input_pdf = PdfFileReader(handler)
output_pdf = PdfFileWriter()
output_pdf.addPage(input_pdf.getPage(page))

output_stream = BytesIO()
output_pdf.write(output_stream)
output_stream.seek(0, 0)

with open('{path}{file_name}{extension}'.format(
path=self.cache_path,
file_name=preview_name,
page=page,
extension=extension
), 'wb') \
as paged_pdf:
output_stream.seek(0, 0)
buffer = output_stream.read(1024)
while buffer:
paged_pdf.write(buffer)
buffer = output_stream.read(1024)
return '{path}{file_name}{extension}'.format(
path=self.cache_path,
file_name=preview_name,
Expand Down
23 changes: 2 additions & 21 deletions preview_generator/preview/generic_preview.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,8 @@ def build_jpeg_preview(self, file_path: str, preview_name: str,
raise Exception("Not implemented for this kind of document")

def build_pdf_preview(self, file_path: str, preview_name: str,
cache_path: str, extension: str = '.pdf') -> None:
cache_path: str, page_id: int = 0,
extension: str = '.pdf') -> None:
"""
generate the jpeg preview
"""
Expand Down Expand Up @@ -103,26 +104,6 @@ def get_page_number(self, file_path: str, preview_name: str,
cache_path: str) -> int:
return 1

def get_jpeg_preview(
self, file_path: str, preview_name: str, cache_path: str,
page_id: int, extension: str = '.jpeg',
size: typing.Tuple[int, int] = (256, 256),
force: bool = False) -> str:

if (not self.exists_preview(
path=cache_path + preview_name,
extension=extension)
)or force:
self.build_jpeg_preview(
file_path=file_path,
preview_name=preview_name,
cache_path=cache_path,
page_id=page_id,
extension=extension,
size=size
)
return cache_path + preview_name + extension


class ImagePreviewBuilder(OnePagePreviewBuilder):
'''
Expand Down
3 changes: 2 additions & 1 deletion preview_generator/preview/odt_preview.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,8 @@ def get_page_number(self, file_path: str, preview_name: str,
return int(page_nb)

def build_pdf_preview(self, file_path: str, preview_name: str,
cache_path: str, extension: str = '.pdf') -> None:
cache_path: str, extension: str = '.pdf',
page_id: int = 0) -> None:
"""
generate the pdf large preview
"""
Expand Down
33 changes: 33 additions & 0 deletions preview_generator/preview/pdf_preview.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,39 @@ def build_jpeg_preview(self, file_path: str, preview_name: str,
jpeg.write(buffer)
buffer = result.read(1024)

def build_pdf_preview(self, file_path: str, preview_name: str,
cache_path: str, extension: str = '.pdf',
page_id: int = -1) -> None:
"""
generate the pdf large preview
"""

with open(file_path, 'rb') as pdf:

input_pdf = PdfFileReader(pdf)
output_pdf = PdfFileWriter()
if page_id == -1 or page_id == None:
for i in range(input_pdf.numPages):
output_pdf.addPage(input_pdf.getPage(i))
else:
output_pdf.addPage(input_pdf.getPage(int(page_id)))
output_stream = BytesIO()
output_pdf.write(output_stream)
output_stream.seek(0, 0)

preview_path = '{path}{file_name}{extension}'.format(
file_name=preview_name,
path=cache_path,
extension=extension
)

with open(preview_path, 'wb') as jpeg:
buffer = output_stream.read(1024)
while buffer:
jpeg.write(buffer)
buffer = output_stream.read(1024)


def get_page_number(self, file_path: str, preview_name: str,
cache_path: str) -> int:
with open(cache_path + preview_name + '_page_nb', 'w') as count:
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@

setup(
name='preview_generator',
version='0.1.41',
version='0.1.45',
description='Generation of file previews',
long_description=documentation,
author='Algoo',
Expand Down

0 comments on commit f9166a1

Please sign in to comment.