"""Generators for all the different thumbnail sizes""" from imagekit import ImageSpec, register from imagekit.processors import ResizeToFit class BookXSmallWebp(ImageSpec): """Handles XSmall size in Webp format""" processors = [ResizeToFit(80, 80)] format = "WEBP" options = {"quality": 95} class BookXSmallJpg(ImageSpec): """Handles XSmall size in Jpeg format""" processors = [ResizeToFit(80, 80)] format = "JPEG" options = {"quality": 95} class BookSmallWebp(ImageSpec): """Handles Small size in Webp format""" processors = [ResizeToFit(100, 100)] format = "WEBP" options = {"quality": 95} class BookSmallJpg(ImageSpec): """Handles Small size in Jpeg format""" processors = [ResizeToFit(100, 100)] format = "JPEG" options = {"quality": 95} class BookMediumWebp(ImageSpec): """Handles Medium size in Webp format""" processors = [ResizeToFit(150, 150)] format = "WEBP" options = {"quality": 95} class BookMediumJpg(ImageSpec): """Handles Medium size in Jpeg format""" processors = [ResizeToFit(150, 150)] format = "JPEG" options = {"quality": 95} class BookLargeWebp(ImageSpec): """Handles Large size in Webp format""" processors = [ResizeToFit(200, 200)] format = "WEBP" options = {"quality": 95} class BookLargeJpg(ImageSpec): """Handles Large size in Jpeg format""" processors = [ResizeToFit(200, 200)] format = "JPEG" options = {"quality": 95} class BookXLargeWebp(ImageSpec): """Handles XLarge size in Webp format""" processors = [ResizeToFit(250, 250)] format = "WEBP" options = {"quality": 95} class BookXLargeJpg(ImageSpec): """Handles XLarge size in Jpeg format""" processors = [ResizeToFit(250, 250)] format = "JPEG" options = {"quality": 95} class BookXxLargeWebp(ImageSpec): """Handles XxLarge size in Webp format""" processors = [ResizeToFit(500, 500)] format = "WEBP" options = {"quality": 95} class BookXxLargeJpg(ImageSpec): """Handles XxLarge size in Jpeg format""" processors = [ResizeToFit(500, 500)] format = "JPEG" options = {"quality": 95} register.generator("bw:book:xsmall:webp", BookXSmallWebp) register.generator("bw:book:xsmall:jpg", BookXSmallJpg) register.generator("bw:book:small:webp", BookSmallWebp) register.generator("bw:book:small:jpg", BookSmallJpg) register.generator("bw:book:medium:webp", BookMediumWebp) register.generator("bw:book:medium:jpg", BookMediumJpg) register.generator("bw:book:large:webp", BookLargeWebp) register.generator("bw:book:large:jpg", BookLargeJpg) register.generator("bw:book:xlarge:webp", BookXLargeWebp) register.generator("bw:book:xlarge:jpg", BookXLargeJpg) register.generator("bw:book:xxlarge:webp", BookXxLargeWebp) register.generator("bw:book:xxlarge:jpg", BookXxLargeJpg)