c11.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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="", overwrite="0"):
  16. exp = cognos11.c11_export(cfg)
  17. exp.export_folder(folder, overwrite=overwrite != "0")
  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. exp.template(req_plan, merge_group)
  28. cognos11.get_converted_jobs(cfg)
  29. # pdf_merge.merge_reports_in_folder(self.cfg, folder2)
  30. @app.command()
  31. def merge(folder="", config=""):
  32. folder2 = cognos11.c11_export.get_folder(folder)
  33. config_json = pdf_merge.get_config_json(config, cfg.cognos11.config_dir)
  34. pdf_merge.merge_reports_in_folder(cfg, folder2, config_json)
  35. @app.command()
  36. def errors():
  37. exp = cognos11.c11_export(cfg)
  38. exp.export_errors()
  39. @app.command()
  40. def create(path: str):
  41. cognos11.c11_create(cfg).create_path(path)
  42. @app.command()
  43. def template():
  44. exp = cognos11.c11_export(cfg)
  45. cognos11.get_converted_jobs(cfg)
  46. req_plan = exp.get_folder_pdf_request_plan("")
  47. merge_group = exp.get_merge_group(req_plan)
  48. exp.template(req_plan, merge_group)
  49. @app.command()
  50. def mailtemplate():
  51. return template()
  52. @app.command()
  53. def mdlconvert(mdl_file):
  54. cognos7.mdl_convert.convert_file(mdl_file)
  55. source = mdl_file[:-4] + ".json"
  56. target = cfg.cognos11.specs_dir + "/../DataModel/" + Path(source).name
  57. os.makedirs(os.path.dirname(target), exist_ok=True)
  58. Path(target).unlink(missing_ok=True)
  59. os.rename(source, target)
  60. if __name__ == "__main__":
  61. app()
  62. # reportoutput()