imagegenerators.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. """Generators for all the different thumbnail sizes"""
  2. from imagekit import ImageSpec, register
  3. from imagekit.processors import ResizeToFit
  4. class BookXSmallWebp(ImageSpec):
  5. """Handles XSmall size in Webp format"""
  6. processors = [ResizeToFit(80, 80)]
  7. format = "WEBP"
  8. options = {"quality": 95}
  9. class BookXSmallJpg(ImageSpec):
  10. """Handles XSmall size in Jpeg format"""
  11. processors = [ResizeToFit(80, 80)]
  12. format = "JPEG"
  13. options = {"quality": 95}
  14. class BookSmallWebp(ImageSpec):
  15. """Handles Small size in Webp format"""
  16. processors = [ResizeToFit(100, 100)]
  17. format = "WEBP"
  18. options = {"quality": 95}
  19. class BookSmallJpg(ImageSpec):
  20. """Handles Small size in Jpeg format"""
  21. processors = [ResizeToFit(100, 100)]
  22. format = "JPEG"
  23. options = {"quality": 95}
  24. class BookMediumWebp(ImageSpec):
  25. """Handles Medium size in Webp format"""
  26. processors = [ResizeToFit(150, 150)]
  27. format = "WEBP"
  28. options = {"quality": 95}
  29. class BookMediumJpg(ImageSpec):
  30. """Handles Medium size in Jpeg format"""
  31. processors = [ResizeToFit(150, 150)]
  32. format = "JPEG"
  33. options = {"quality": 95}
  34. class BookLargeWebp(ImageSpec):
  35. """Handles Large size in Webp format"""
  36. processors = [ResizeToFit(200, 200)]
  37. format = "WEBP"
  38. options = {"quality": 95}
  39. class BookLargeJpg(ImageSpec):
  40. """Handles Large size in Jpeg format"""
  41. processors = [ResizeToFit(200, 200)]
  42. format = "JPEG"
  43. options = {"quality": 95}
  44. class BookXLargeWebp(ImageSpec):
  45. """Handles XLarge size in Webp format"""
  46. processors = [ResizeToFit(250, 250)]
  47. format = "WEBP"
  48. options = {"quality": 95}
  49. class BookXLargeJpg(ImageSpec):
  50. """Handles XLarge size in Jpeg format"""
  51. processors = [ResizeToFit(250, 250)]
  52. format = "JPEG"
  53. options = {"quality": 95}
  54. class BookXxLargeWebp(ImageSpec):
  55. """Handles XxLarge size in Webp format"""
  56. processors = [ResizeToFit(500, 500)]
  57. format = "WEBP"
  58. options = {"quality": 95}
  59. class BookXxLargeJpg(ImageSpec):
  60. """Handles XxLarge size in Jpeg format"""
  61. processors = [ResizeToFit(500, 500)]
  62. format = "JPEG"
  63. options = {"quality": 95}
  64. register.generator("bw:book:xsmall:webp", BookXSmallWebp)
  65. register.generator("bw:book:xsmall:jpg", BookXSmallJpg)
  66. register.generator("bw:book:small:webp", BookSmallWebp)
  67. register.generator("bw:book:small:jpg", BookSmallJpg)
  68. register.generator("bw:book:medium:webp", BookMediumWebp)
  69. register.generator("bw:book:medium:jpg", BookMediumJpg)
  70. register.generator("bw:book:large:webp", BookLargeWebp)
  71. register.generator("bw:book:large:jpg", BookLargeJpg)
  72. register.generator("bw:book:xlarge:webp", BookXLargeWebp)
  73. register.generator("bw:book:xlarge:jpg", BookXLargeJpg)
  74. register.generator("bw:book:xxlarge:webp", BookXxLargeWebp)
  75. register.generator("bw:book:xxlarge:jpg", BookXxLargeJpg)