def get_context(self): cfg = Config(SECURITY_KEY='ACME-SEC') cfg.LOADER = "thumbor.loaders.file_loader" cfg.FILE_LOADER_ROOT_PATH = self.loader_path cfg.FILTERS = [] importer = Importer(cfg) importer.import_modules() server = ServerParameters(8889, 'localhost', 'thumbor.conf', None, 'info', None) server.security_key = 'ACME-SEC' return Context(server, cfg, importer)
def get_context(self): cfg = Config(SECURITY_KEY="ACME-SEC") cfg.LOADER = "thumbor.loaders.file_loader" cfg.STORAGE = "thumbor.storages.no_storage" cfg.FILE_LOADER_ROOT_PATH = self.loader_path cfg.FILTERS = [] importer = Importer(cfg) importer.import_modules() server = ServerParameters(8889, "localhost", "thumbor.conf", None, "info", None) server.security_key = "ACME-SEC" return Context(server, cfg, importer)
def get_config(self): cfg = Config(SECURITY_KEY='ACME-SEC') cfg.STORAGE = 'thumbor.storages.no_storage' cfg.LOADER = 'wikimedia_thumbor.loader.file' cfg.LOADER_EXCERPT_LENGTH = 4096 cfg.HTTP_LOADER_REQUEST_TIMEOUT = 60 cfg.HTTP_LOADER_TEMP_FILE_TIMEOUT = 20 cfg.FILE_LOADER_ROOT_PATH = os.path.join( os.path.dirname(__file__), 'originals' ) cfg.ENGINE = 'wikimedia_thumbor.engine.proxy' cfg.RESPECT_ORIENTATION = True cfg.FFMPEG_PATH = which('ffmpeg') cfg.EXIFTOOL_PATH = which('exiftool') cfg.VIPS_PATH = which('vips') cfg.FFPROBE_PATH = which('ffprobe') cfg.XCF2PNG_PATH = which('xcf2png') cfg.GHOSTSCRIPT_PATH = which('gs') cfg.DDJVU_PATH = which('ddjvu') cfg.RSVG_CONVERT_PATH = which('rsvg-convert') cfg.THREED2PNG_PATH = which('3d2png') cfg.XVFB_RUN_PATH = which('xvfb-run') cfg.CONVERT_PATH = which('convert') cfg.CWEBP_PATH = which('cwebp') timeout = which( 'gtimeout' if platform.system() == 'Darwin' else 'timeout' ) cfg.SUBPROCESS_TIMEOUT_PATH = timeout cfg.SUBPROCESS_USE_TIMEOUT = True cfg.SUBPROCESS_TIMEOUT = 60 cfg.CHROMA_SUBSAMPLING = '4:2:0' cfg.QUALITY = 79 cfg.QUALITY_LOW = 40 cfg.DEFAULT_FILTERS_JPEG = 'conditional_sharpen(0.0,0.8,1.0,0.0,0.85)' cfg.MAX_ANIMATED_GIF_AREA = 500 * 200 * 60 cfg.COMMUNITY_EXTENSIONS = [ 'wikimedia_thumbor.handler.images', 'wikimedia_thumbor.handler.core' ] cfg.EXIF_FIELDS_TO_KEEP = ['Artist', 'Copyright', 'ImageDescription'] cfg.EXIF_TINYRGB_PATH = os.path.join( os.path.dirname(__file__), 'tinyrgb.icc' ) cfg.EXIF_TINYRGB_ICC_REPLACE = 'sRGB IEC61966-2.1' cfg.VIPS_ENGINE_MIN_PIXELS = 20000000 cfg.PROXY_ENGINE_ENGINES = [ ('wikimedia_thumbor.engine.xcf', ['xcf']), ('wikimedia_thumbor.engine.djvu', ['djvu']), ('wikimedia_thumbor.engine.vips', ['tiff', 'png']), ('wikimedia_thumbor.engine.tiff', ['tiff']), ('wikimedia_thumbor.engine.ghostscript', ['pdf']), ('wikimedia_thumbor.engine.gif', ['gif']), ('wikimedia_thumbor.engine.stl', ['stl']), # SVG should alwayd be the one before last, because of how broad it is (trying all XML documents) ('wikimedia_thumbor.engine.svg', ['svg']), # Imagemagick should always be last, to act as a catch-all since Thumbor defaults to assuming JPG when the document is unknown ('wikimedia_thumbor.engine.imagemagick', ['jpg', 'png', 'webp']), ] cfg.FILTERS = [ 'wikimedia_thumbor.filter.conditional_sharpen', 'wikimedia_thumbor.filter.format', 'wikimedia_thumbor.filter.lang', 'wikimedia_thumbor.filter.page', 'wikimedia_thumbor.filter.crop', 'wikimedia_thumbor.filter.flip', 'thumbor.filters.quality', 'thumbor.filters.rotate' ] return cfg
def get_config(self): cfg = Config(SECURITY_KEY='ACME-SEC') cfg.STORAGE = 'thumbor.storages.no_storage' cfg.LOADER = 'wikimedia_thumbor.loader.file' cfg.LOADER_EXCERPT_LENGTH = 4096 cfg.HTTP_LOADER_REQUEST_TIMEOUT = 60 cfg.HTTP_LOADER_TEMP_FILE_TIMEOUT = 20 cfg.FILE_LOADER_ROOT_PATH = os.path.join( os.path.dirname(__file__), 'originals' ) cfg.ENGINE = 'wikimedia_thumbor.engine.proxy' cfg.RESPECT_ORIENTATION = True cfg.FFMPEG_PATH = which('ffmpeg') cfg.EXIFTOOL_PATH = which('exiftool') cfg.VIPS_PATH = which('vips') cfg.FFPROBE_PATH = which('ffprobe') cfg.XCF2PNG_PATH = which('xcf2png') cfg.GHOSTSCRIPT_PATH = which('gs') cfg.DDJVU_PATH = which('ddjvu') cfg.RSVG_CONVERT_PATH = which('rsvg-convert') cfg.THREED2PNG_PATH = which('3d2png.js') cfg.XVFB_RUN_PATH = which('xvfb-run') cfg.CONVERT_PATH = which('convert') cfg.CWEBP_PATH = which('cwebp') timeout = which( 'gtimeout' if platform.system() == 'Darwin' else 'timeout' ) cfg.SUBPROCESS_TIMEOUT_PATH = timeout cfg.SUBPROCESS_USE_TIMEOUT = True cfg.SUBPROCESS_TIMEOUT = 60 cfg.CHROMA_SUBSAMPLING = '4:2:0' cfg.QUALITY = 79 cfg.QUALITY_LOW = 40 cfg.DEFAULT_FILTERS_JPEG = 'conditional_sharpen(0.0,0.8,1.0,0.0,0.85)' cfg.MAX_ANIMATED_GIF_AREA = 500 * 200 * 60 cfg.COMMUNITY_EXTENSIONS = [ 'wikimedia_thumbor.handler.multi', 'wikimedia_thumbor.handler.images', 'wikimedia_thumbor.handler.core' ] cfg.EXIF_FIELDS_TO_KEEP = ['Artist', 'Copyright', 'ImageDescription'] cfg.EXIF_TINYRGB_PATH = os.path.join( os.path.dirname(__file__), 'tinyrgb.icc' ) cfg.EXIF_TINYRGB_ICC_REPLACE = 'sRGB IEC61966-2.1' cfg.VIPS_ENGINE_MIN_PIXELS = 20000000 cfg.PROXY_ENGINE_ENGINES = [ ('wikimedia_thumbor.engine.xcf', ['xcf']), ('wikimedia_thumbor.engine.djvu', ['djvu']), ('wikimedia_thumbor.engine.vips', ['tiff', 'png']), ('wikimedia_thumbor.engine.tiff', ['tiff']), ('wikimedia_thumbor.engine.ghostscript', ['pdf']), ('wikimedia_thumbor.engine.gif', ['gif']), ('wikimedia_thumbor.engine.stl', ['stl']), # SVG should alwayd be the one before last, because of how broad it is (trying all XML documents) ('wikimedia_thumbor.engine.svg', ['svg']), # Imagemagick should always be last, to act as a catch-all since Thumbor defaults to assuming JPG when the document is unknown ('wikimedia_thumbor.engine.imagemagick', ['jpg', 'png', 'webp']), ] cfg.FILTERS = [ 'wikimedia_thumbor.filter.conditional_sharpen', 'wikimedia_thumbor.filter.format', 'wikimedia_thumbor.filter.lang', 'wikimedia_thumbor.filter.page', 'wikimedia_thumbor.filter.crop', 'wikimedia_thumbor.filter.flip', 'thumbor.filters.quality', 'thumbor.filters.rotate' ] return cfg