c11.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import os
  2. from pathlib import Path
  3. import config
  4. import cognos11
  5. from pdf import pdf_merge, pdf_test
  6. import cognos7.mdl_convert
  7. import typer
  8. from enum import Enum
  9. class ExportFormat(Enum):
  10. PDF = "PDF"
  11. XML = "XML"
  12. app = typer.Typer()
  13. cfg = config.Config()
  14. @app.command()
  15. def export(folder=""):
  16. exp = cognos11.c11_export(cfg)
  17. exp.export_folder(folder)
  18. @app.command()
  19. def reportoutput(folder=""):
  20. exp = cognos11.c11_export(cfg)
  21. # folder2 = exp.get_folder(folder)
  22. req_plan = exp.get_folder_pdf_request_plan(folder)
  23. exp.execute_request_plan(req_plan)
  24. pdf_test.missing_data(cfg.cognos11.reportoutput_dir + "/" + folder)
  25. merge_group = exp.get_merge_group(req_plan)
  26. pdf_merge.pdf_merge_files(merge_group)
  27. # pdf_merge.merge_reports_in_folder(self.cfg, folder2)
  28. @app.command()
  29. def merge(folder="", config=""):
  30. folder2 = cognos11.c11_export.get_folder(folder)
  31. config_json = pdf_merge.get_config_json(config, cfg.cognos11.config_dir)
  32. pdf_merge.merge_reports_in_folder(cfg, folder2, config_json)
  33. @app.command()
  34. def errors():
  35. exp = cognos11.c11_export(cfg)
  36. exp.export_errors()
  37. @app.command()
  38. def create(path: str):
  39. cognos11.c11_create(cfg).create_path(path)
  40. @app.command()
  41. def template():
  42. exp = cognos11.c11_export(cfg)
  43. exp.mail_template("")
  44. @app.command()
  45. def mailtemplate():
  46. return template()
  47. @app.command()
  48. def mdlconvert(mdl_file):
  49. cognos7.mdl_convert.convert_file(mdl_file)
  50. source = mdl_file[:-4] + ".json"
  51. target = cfg.cognos11.specs_dir + "/../DataModel/" + Path(source).name
  52. os.makedirs(os.path.dirname(target), exist_ok=True)
  53. Path(target).unlink(missing_ok=True)
  54. os.rename(source, target)
  55. if __name__ == "__main__":
  56. app()