def get_config(self): cfg = Config(SECURITY_KEY='ACME-SEC') cfg.COMMUNITY_EXTENSIONS = [ 'wikimedia_thumbor.handler.images', 'wikimedia_thumbor.handler.core' ] cfg.SWIFT_HOST = 'http://swifthost' cfg.SWIFT_API_PATH = '/swift/v1/api/path' cfg.SWIFT_AUTH_PATH = '/auth/v1.0' cfg.SWIFT_USER = '******' cfg.SWIFT_KEY = 'baz' cfg.SWIFT_SHARDED_CONTAINERS = [ 'wikipedia-en-local-public', 'wikipedia-en-local-temp', 'wikipedia-en-local-thumb', 'wikipedia-commons-local-public', 'wikipedia-commons-local-thumb' ] cfg.SWIFT_PATH_PREFIX = 'thumbor/' cfg.SWIFT_CONNECTION_TIMEOUT = 1 cfg.SWIFT_RETRIES = 0 cfg.SWIFT_PRIVATE_SECRET = 'topsecret1234' cfg.QUALITY_LOW = 10 cfg.DEFAULT_FILTERS_JPEG = 'conditional_sharpen(0.0,0.8,1.0,0.0,0.85)' return cfg
def get_config(self): cfg = Config(SECURITY_KEY='ACME-SEC') cfg.COMMUNITY_EXTENSIONS = ['wikimedia_thumbor.handler.images'] cfg.STORAGE = 'wikimedia_thumbor.storage.request' cfg.RESULT_STORAGE = 'wikimedia_thumbor.result_storage.swift' cfg.RESULT_STORAGE_STORES_UNSAFE = True cfg.SWIFT_HOST = 'http://swifthost' cfg.SWIFT_API_PATH = '/swift/v1/api/path' cfg.SWIFT_AUTH_PATH = '/auth/v1.0' cfg.SWIFT_USER = '******' cfg.SWIFT_KEY = 'baz' cfg.SWIFT_SHARDED_CONTAINERS = [ 'wikipedia-en-local-public', 'wikipedia-en-local-thumb' ] cfg.SWIFT_PATH_PREFIX = 'thumbor/' cfg.SWIFT_CONNECTION_TIMEOUT = 1 cfg.SWIFT_RETRIES = 0 cfg.QUALITY_LOW = 10 cfg.DEFAULT_FILTERS_JPEG = 'conditional_sharpen(0.0,0.8,1.0,0.0,0.85)' cfg.LOADER = 'wikimedia_thumbor.loader.proxy' cfg.PROXY_LOADER_LOADERS = ['wikimedia_thumbor.loader.swift'] cfg.LOADER_EXCERPT_LENGTH = 4096 cfg.HTTP_LOADER_TEMP_FILE_TIMEOUT = 10 cfg.SWIFT_THUMBNAIL_EXPIRY_SECONDS = 60 cfg.SWIFT_THUMBNAIL_EXPIRY_SAMPLING_FACTOR = 1 return cfg
def get_config(self): cfg = Config(SECURITY_KEY='ACME-SEC') cfg.COMMUNITY_EXTENSIONS = [ 'wikimedia_thumbor.handler.healthcheck' ] 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') 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.COMMUNITY_EXTENSIONS = ['wikimedia_thumbor.handler.healthcheck'] 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