start_slide.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. """
  2. Copyright © 2022 Noah Vogt <noah@noahvogt.com>
  3. This program is free software: you can redistribute it and/or modify
  4. it under the terms of the GNU General Public License as published by
  5. the Free Software Foundation, either version 3 of the License, or
  6. (at your option) any later version.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with this program. If not, see <http://www.gnu.org/licenses/>.
  13. """
  14. from os import path
  15. from wand.exceptions import BlobError
  16. from utils import (
  17. log,
  18. error_msg,
  19. )
  20. import config as const
  21. def generate_start_slide(slidegen, template_img, zfill_length) -> None:
  22. log("generating start slide...")
  23. first_slide = slidegen.start_slide_form()
  24. start_slide_img = first_slide.get_slide(
  25. template_img,
  26. slidegen.metadata["book"],
  27. slidegen.metadata["text"],
  28. slidegen.metadata["melody"],
  29. )
  30. start_slide_img.format = const.IMAGE_FORMAT
  31. try:
  32. start_slide_img.save(
  33. filename=path.join(
  34. slidegen.output_dir,
  35. const.FILE_NAMEING
  36. + "1".zfill(zfill_length)
  37. + "."
  38. + const.FILE_EXTENSION,
  39. )
  40. )
  41. except BlobError:
  42. error_msg("could not write start slide to target directory")