From bd243538869fda0b21472190591b70539ab90dc1 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 21 Nov 2011 06:14:07 -0400 Subject: [PATCH] Updated office converter to accept a mimetype argument to avoid yet another file mimetype detection --- apps/converter/api.py | 5 ++--- apps/converter/office_converter.py | 9 ++++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/apps/converter/api.py b/apps/converter/api.py index 42e2561bc9..c074027b43 100644 --- a/apps/converter/api.py +++ b/apps/converter/api.py @@ -35,14 +35,13 @@ def create_image_cache_filename(input_filepath, *args, **kwargs): return None -def convert(input_filepath, output_filepath=None, cleanup_files=False, *args, **kwargs): +def convert(input_filepath, output_filepath=None, cleanup_files=False, mimetype=None, *args, **kwargs): size = kwargs.get('size') file_format = kwargs.get('file_format', DEFAULT_FILE_FORMAT) zoom = kwargs.get('zoom', DEFAULT_ZOOM_LEVEL) rotation = kwargs.get('rotation', DEFAULT_ROTATION) page = kwargs.get('page', DEFAULT_PAGE_NUMBER) transformations = kwargs.get('transformations', []) - mimetype = kwargs.get('mimetype', None) if transformations is None: transformations = [] @@ -54,7 +53,7 @@ def convert(input_filepath, output_filepath=None, cleanup_files=False, *args, ** return output_filepath office_converter = OfficeConverter() - office_converter.convert(input_filepath) + office_converter.convert(input_filepath, mimetype=mimetype) if office_converter: try: input_filepath = office_converter.output_filepath diff --git a/apps/converter/office_converter.py b/apps/converter/office_converter.py index 9590f70024..968ea3fcdc 100644 --- a/apps/converter/office_converter.py +++ b/apps/converter/office_converter.py @@ -37,11 +37,14 @@ class OfficeConverter(object): def mimetypes(self): return CONVERTER_OFFICE_FILE_MIMETYPES - def convert(self, input_filepath): + def convert(self, input_filepath, mimetype=None): self.input_filepath = input_filepath - # Make sure file is of a known office format - self.mimetype, self.encoding = get_mimetype(open(self.input_filepath), self.input_filepath, mimetype_only=True) + # Make sure file is of a known office format + if mimetype: + self.mimetype = mimetype + else: + self.mimetype, self.encoding = get_mimetype(open(self.input_filepath), self.input_filepath, mimetype_only=True) if self.mimetype in CONVERTER_OFFICE_FILE_MIMETYPES: # Cache results of conversion