2. Theory of Operation

2.1. Execution Flow When Producing “doc” Output

  1. The command line argv is read in ptulsconv.__main__.main(), which calls ptulsconv.commands.convert()

  2. ptulsconv.commands.convert() reads the input with ptuslconv.docparser.doc_parser_visitor(), which uses the parsimonious library to parse the input into an abstract syntax tree, which the parser visitor uses to convert into a ptulsconv.docparser.doc_entity.SessionDescriptor, which structures all of the data in the session output.

  3. The next action based on the output format. In the case of the “doc” output format, it runs some validations on the input, and calls ptulsconv.commands.generate_documents().

  4. ptulsconv.commands.generate_documents() creates the output folder, creates the Continuity report with ptulsconv.pdf.continuity.output_continuity() (this document requires some special-casing), and at the tail calls…

  5. ptulsconv.commands.create_adr_reports(), which creates folders for

(FIXME finish this)