moviewyrm/bookwyrm/imagegenerators.py

89 lines
2.2 KiB
Python
Raw Normal View History

2021-05-24 14:15:08 +00:00
from imagekit import ImageSpec, register
from imagekit.processors import ResizeToFit
2021-05-24 14:40:25 +00:00
2021-05-24 14:15:08 +00:00
class BookXSmallWebp(ImageSpec):
processors = [ResizeToFit(80, 80)]
2021-05-24 14:33:40 +00:00
format = "WEBP"
options = {"quality": 95}
2021-05-24 14:15:08 +00:00
2021-05-24 14:40:25 +00:00
2021-05-24 14:15:08 +00:00
class BookXSmallJpg(ImageSpec):
processors = [ResizeToFit(80, 80)]
2021-05-24 14:33:40 +00:00
format = "JPEG"
options = {"quality": 95}
2021-05-24 14:15:08 +00:00
2021-05-24 14:40:25 +00:00
2021-05-24 14:15:08 +00:00
class BookSmallWebp(ImageSpec):
processors = [ResizeToFit(100, 100)]
2021-05-24 14:33:40 +00:00
format = "WEBP"
options = {"quality": 95}
2021-05-24 14:15:08 +00:00
2021-05-24 14:40:25 +00:00
2021-05-24 14:15:08 +00:00
class BookSmallJpg(ImageSpec):
processors = [ResizeToFit(100, 100)]
2021-05-24 14:33:40 +00:00
format = "JPEG"
options = {"quality": 95}
2021-05-24 14:15:08 +00:00
2021-05-24 14:40:25 +00:00
2021-05-24 14:15:08 +00:00
class BookMediumWebp(ImageSpec):
processors = [ResizeToFit(150, 150)]
2021-05-24 14:33:40 +00:00
format = "WEBP"
options = {"quality": 95}
2021-05-24 14:15:08 +00:00
2021-05-24 14:40:25 +00:00
2021-05-24 14:15:08 +00:00
class BookMediumJpg(ImageSpec):
processors = [ResizeToFit(150, 150)]
2021-05-24 14:33:40 +00:00
format = "JPEG"
options = {"quality": 95}
2021-05-24 14:15:08 +00:00
2021-05-24 14:40:25 +00:00
2021-05-24 14:15:08 +00:00
class BookLargeWebp(ImageSpec):
processors = [ResizeToFit(200, 200)]
2021-05-24 14:33:40 +00:00
format = "WEBP"
options = {"quality": 95}
2021-05-24 14:15:08 +00:00
2021-05-24 14:40:25 +00:00
2021-05-24 14:15:08 +00:00
class BookLargeJpg(ImageSpec):
processors = [ResizeToFit(200, 200)]
2021-05-24 14:33:40 +00:00
format = "JPEG"
options = {"quality": 95}
2021-05-24 14:15:08 +00:00
2021-05-24 14:40:25 +00:00
2021-05-24 14:15:08 +00:00
class BookXLargeWebp(ImageSpec):
processors = [ResizeToFit(250, 250)]
2021-05-24 14:33:40 +00:00
format = "WEBP"
options = {"quality": 95}
2021-05-24 14:15:08 +00:00
2021-05-24 14:40:25 +00:00
2021-05-24 14:15:08 +00:00
class BookXLargeJpg(ImageSpec):
processors = [ResizeToFit(250, 250)]
2021-05-24 14:33:40 +00:00
format = "JPEG"
options = {"quality": 95}
2021-05-24 14:15:08 +00:00
2021-05-24 14:40:25 +00:00
2021-05-24 14:15:08 +00:00
class BookXxLargeWebp(ImageSpec):
processors = [ResizeToFit(500, 500)]
2021-05-24 14:33:40 +00:00
format = "WEBP"
options = {"quality": 95}
2021-05-24 14:15:08 +00:00
2021-05-24 14:40:25 +00:00
2021-05-24 14:15:08 +00:00
class BookXxLargeJpg(ImageSpec):
processors = [ResizeToFit(500, 500)]
2021-05-24 14:33:40 +00:00
format = "JPEG"
options = {"quality": 95}
2021-05-24 14:15:08 +00:00
2021-05-24 14:40:25 +00:00
2021-05-24 14:33:40 +00:00
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)