DaSE-Computer-Vision-2021
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

44 řádky
1.1 KiB

  1. import argparse
  2. import os
  3. import subprocess
  4. try:
  5. from PyPDF2 import PdfFileMerger
  6. MERGE = True
  7. except ImportError:
  8. print("Could not find PyPDF2. Leaving pdf files unmerged.")
  9. MERGE = False
  10. def main(files):
  11. os_args = [
  12. "jupyter",
  13. "nbconvert",
  14. "--log-level",
  15. "CRITICAL",
  16. "--to",
  17. "pdf",
  18. ]
  19. for f in files:
  20. os_args.append(f)
  21. subprocess.run(os_args)
  22. print("Created PDF {}.".format(f))
  23. if MERGE:
  24. pdfs = [f.split(".")[0] + ".pdf" for f in files]
  25. merger = PdfFileMerger(strict=True)
  26. for pdf in pdfs:
  27. merger.append(pdf)
  28. merger.write("assignment.pdf")
  29. merger.close()
  30. for pdf in pdfs:
  31. os.remove(pdf)
  32. if __name__ == "__main__":
  33. parser = argparse.ArgumentParser()
  34. # we pass in explicit notebook arg so that we can provide
  35. # an ordered list and produce an ordered pdf
  36. parser.add_argument("--notebooks", type=str, nargs="+", required=True)
  37. args = parser.parse_args()
  38. main(args.notebooks)