def test_can_get_content_type(self): expect(CONTENT_TYPE.get('.jpg')).to_equal('image/jpeg') expect(CONTENT_TYPE.get('.jpeg')).to_equal('image/jpeg') expect(CONTENT_TYPE.get('.gif')).to_equal('image/gif') expect(CONTENT_TYPE.get('.png')).to_equal('image/png') expect(CONTENT_TYPE.get('.webp')).to_equal('image/webp') expect(CONTENT_TYPE.get('.mp4')).to_equal('video/mp4') expect(CONTENT_TYPE.get('.webm')).to_equal('video/webm') expect(CONTENT_TYPE.get('.svg')).to_equal('image/svg+xml') expect(CONTENT_TYPE.get('.tif')).to_equal('image/tiff') expect(CONTENT_TYPE.get('.tiff')).to_equal('image/tiff')
def test_can_get_content_type(self): expect(CONTENT_TYPE.get('.jpg')).to_equal('image/jpeg') expect(CONTENT_TYPE.get('.jpeg')).to_equal('image/jpeg') expect(CONTENT_TYPE.get('.gif')).to_equal('image/gif') expect(CONTENT_TYPE.get('.png')).to_equal('image/png') expect(CONTENT_TYPE.get('.webp')).to_equal('image/webp') expect(CONTENT_TYPE.get('.mp4')).to_equal('video/mp4') expect(CONTENT_TYPE.get('.webm')).to_equal('video/webm') expect(CONTENT_TYPE.get('.svg')).to_equal('image/svg+xml') expect(CONTENT_TYPE.get('.tif')).to_equal('image/tiff') expect(CONTENT_TYPE.get('.tiff')).to_equal('image/tiff')
def test_can_get_content_type(): expect(CONTENT_TYPE.get(".jpg")).to_equal("image/jpeg") expect(CONTENT_TYPE.get(".jpeg")).to_equal("image/jpeg") expect(CONTENT_TYPE.get(".gif")).to_equal("image/gif") expect(CONTENT_TYPE.get(".png")).to_equal("image/png") expect(CONTENT_TYPE.get(".webp")).to_equal("image/webp") expect(CONTENT_TYPE.get(".mp4")).to_equal("video/mp4") expect(CONTENT_TYPE.get(".webm")).to_equal("video/webm") expect(CONTENT_TYPE.get(".svg")).to_equal("image/svg+xml") expect(CONTENT_TYPE.get(".tif")).to_equal("image/tiff") expect(CONTENT_TYPE.get(".tiff")).to_equal("image/tiff")
def define_image_type(self, context, result): if result is not None: if isinstance(result, ResultStorageResult): buffer = result.buffer else: buffer = result image_extension = EXTENSION.get(BaseEngine.get_mimetype(buffer), ".jpg") content_type = CONTENT_TYPE.get(image_extension, CONTENT_TYPE[".jpg"]) return image_extension, content_type image_extension = context.request.format if image_extension is not None: image_extension = f".{image_extension}" logger.debug("Image format specified as %s.", image_extension) elif self.is_webp(context): image_extension = ".webp" logger.debug("Image format set by AUTO_WEBP as %s.", image_extension) elif self.can_auto_convert_png_to_jpg(): image_extension = ".jpg" logger.debug( "Image format set by AUTO_PNG_TO_JPG as %s.", image_extension, ) else: image_extension = context.request.engine.extension logger.debug( "No image format specified. Retrieving " "from the image extension: %s.", image_extension, ) content_type = CONTENT_TYPE.get(image_extension, CONTENT_TYPE[".jpg"]) if context.request.meta: context.request.meta_callback = (context.config.META_CALLBACK_NAME or self.request.arguments.get( "callback", [None])[0]) content_type = ("text/javascript" if context.request.meta_callback else "application/json") logger.debug("Metadata requested. Serving content type of %s.", content_type) logger.debug("Content Type of %s detected.", content_type) return (image_extension, content_type)
def define_image_type(self, context, result): if result is not None: if isinstance(result, ResultStorageResult): buffer = result.buffer else: buffer = result image_extension = EXTENSION.get(BaseEngine.get_mimetype(buffer), '.jpg') else: image_extension = context.request.format if image_extension is not None: image_extension = '.%s' % image_extension logger.debug('Image format specified as %s.' % image_extension) elif self.is_webp(context): image_extension = '.webp' logger.debug('Image format set by AUTO_WEBP as %s.' % image_extension) elif self.can_auto_convert_png_to_jpg(): image_extension = '.jpg' logger.debug('Image format set by AUTO_PNG_TO_JPG as %s.' % image_extension) else: image_extension = context.request.engine.extension logger.debug('No image format specified. Retrieving from the image extension: %s.' % image_extension) content_type = CONTENT_TYPE.get(image_extension, CONTENT_TYPE['.jpg']) if context.request.meta: context.request.meta_callback = context.config.META_CALLBACK_NAME or self.request.arguments.get('callback', [None])[0] content_type = 'text/javascript' if context.request.meta_callback else 'application/json' logger.debug('Metadata requested. Serving content type of %s.' % content_type) logger.debug('Content Type of %s detected.' % content_type) return (image_extension, content_type)
def define_image_type(self, context, result): if result is not None: image_extension = EXTENSION.get(BaseEngine.get_mimetype(result), '.jpg') else: image_extension = context.request.format if image_extension is not None: image_extension = '.%s' % image_extension logger.debug('Image format specified as %s.' % image_extension) elif self.is_webp(context): image_extension = '.webp' logger.debug('Image format set by AUTO_WEBP as %s.' % image_extension) else: image_extension = context.request.engine.extension logger.debug( 'No image format specified. Retrieving from the image extension: %s.' % image_extension) content_type = CONTENT_TYPE.get(image_extension, CONTENT_TYPE['.jpg']) if context.request.meta: context.request.meta_callback = context.config.META_CALLBACK_NAME or self.request.arguments.get( 'callback', [None])[0] content_type = 'text/javascript' if context.request.meta_callback else 'application/json' logger.debug('Metadata requested. Serving content type of %s.' % content_type) logger.debug('Content Type of %s detected.' % content_type) return (image_extension, content_type)
def define_image_type(self, context, result): if result is not None: if isinstance(result, ResultStorageResult): buffer = result.buffer else: buffer = result image_extension = EXTENSION.get(BaseEngine.get_mimetype(buffer), ".jpg") else: image_extension = context.request.format if image_extension is not None: image_extension = ".%s" % image_extension logger.debug("Image format specified as %s." % image_extension) elif self.is_webp(context): image_extension = ".webp" logger.debug("Image format set by AUTO_WEBP as %s." % image_extension) else: image_extension = context.request.engine.extension logger.debug("No image format specified. Retrieving from the image extension: %s." % image_extension) content_type = CONTENT_TYPE.get(image_extension, CONTENT_TYPE[".jpg"]) if context.request.meta: context.request.meta_callback = ( context.config.META_CALLBACK_NAME or self.request.arguments.get("callback", [None])[0] ) content_type = "text/javascript" if context.request.meta_callback else "application/json" logger.debug("Metadata requested. Serving content type of %s." % content_type) logger.debug("Content Type of %s detected." % content_type) return (image_extension, content_type)
def _load_results(self, context): image_extension, content_type = self.define_image_type(context, None) quality = self.context.request.quality if quality is None: if image_extension == ".webp": quality = self.context.config.get("WEBP_QUALITY", self.context.config.QUALITY) else: quality = self.context.config.QUALITY results = context.request.engine.read(image_extension, quality) if context.request.max_bytes is not None: results = self.reload_to_fit_in_kb( context.request.engine, results, image_extension, quality, context.request.max_bytes ) if not context.request.meta: results = self.optimize(context, image_extension, results) if context.request.format: # An optimizer might have modified the image format. content_type = CONTENT_TYPE.get(".%s" % context.request.format, content_type) return results, content_type
def _load_results(self, context): image_extension, content_type = self.define_image_type(context, None) quality = self.context.request.quality if quality is None: if image_extension == '.webp' and self.context.config.WEBP_QUALITY is not None: quality = self.context.config.get('WEBP_QUALITY') else: quality = self.context.config.QUALITY results = context.request.engine.read(image_extension, quality) if context.request.max_bytes is not None: results = self.reload_to_fit_in_kb(context.request.engine, results, image_extension, quality, context.request.max_bytes) if not context.request.meta: results = self.optimize(context, image_extension, results) if context.request.format: # An optimizer might have modified the image format. content_type = CONTENT_TYPE.get('.%s' % context.request.format, content_type) return results, content_type