strictdoc 0.0.55a2__tar.gz → 0.0.56a1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (555) hide show
  1. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/PKG-INFO +1 -1
  2. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/__init__.py +1 -1
  3. strictdoc-0.0.56a1/strictdoc/backend/reqif/p01_sdoc/reqif_to_sdoc_converter.py +565 -0
  4. strictdoc-0.0.56a1/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py +831 -0
  5. {strictdoc-0.0.55a2/strictdoc/backend/reqif/p01_sdoc → strictdoc-0.0.56a1/strictdoc/backend/reqif/p02_simple}/reqif_to_sdoc_converter.py +96 -82
  6. {strictdoc-0.0.55a2/strictdoc/backend/reqif/p01_sdoc → strictdoc-0.0.56a1/strictdoc/backend/reqif/p02_simple}/sdoc_to_reqif_converter.py +68 -32
  7. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/reqif/p11_polarion/reqif_to_sdoc_converter.py +2 -1
  8. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/reqif/reqif_export.py +10 -0
  9. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/reqif/reqif_import.py +24 -3
  10. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/reqif/sdoc_reqif_fields.py +2 -1
  11. strictdoc-0.0.56a1/strictdoc/backend/sdoc/constants.py +6 -0
  12. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/grammar_reader.py +25 -6
  13. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/models/document_grammar.py +28 -5
  14. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/models/node.py +11 -3
  15. strictdoc-0.0.56a1/strictdoc/backend/sdoc/pickle_cache.py +73 -0
  16. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/reader.py +4 -14
  17. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/cli/cli_arg_parser.py +18 -2
  18. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/cli/command_parser_builder.py +40 -0
  19. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/cli/main.py +15 -3
  20. strictdoc-0.0.56a1/strictdoc/core/actions/import_action.py +64 -0
  21. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/asset_manager.py +4 -6
  22. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/document_finder.py +20 -14
  23. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/document_tree_iterator.py +2 -2
  24. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/file_tree.py +4 -4
  25. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/project_config.py +25 -0
  26. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/traceability_index.py +2 -1
  27. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/traceability_index_builder.py +18 -0
  28. strictdoc-0.0.56a1/strictdoc/export/html/_static_extra/nestor/bundle.umd.js +269 -0
  29. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/document_type.py +1 -1
  30. strictdoc-0.0.56a1/strictdoc/export/html/generators/view_objects/nestor_view_object.py +63 -0
  31. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/html_generator.py +17 -0
  32. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/renderers/link_renderer.py +2 -3
  33. strictdoc-0.0.56a1/strictdoc/export/html/templates/screens/nestor/index.jinja +45 -0
  34. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/md5.py +1 -1
  35. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/parallelizer.py +36 -20
  36. strictdoc-0.0.56a1/strictdoc/helpers/pickle.py +16 -0
  37. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/string.py +8 -0
  38. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/textx.py +4 -2
  39. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/timing.py +4 -1
  40. strictdoc-0.0.56a1/strictdoc/server/__init__.py +0 -0
  41. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/server/routers/main_router.py +33 -2
  42. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc.toml +1 -0
  43. strictdoc-0.0.55a2/strictdoc/backend/sdoc/pickle_cache.py +0 -40
  44. strictdoc-0.0.55a2/strictdoc/core/actions/import_action.py +0 -37
  45. strictdoc-0.0.55a2/strictdoc/helpers/pickle.py +0 -11
  46. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/.gitignore +0 -0
  47. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/CHANGELOG.md +0 -0
  48. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/CONTRIBUTING.md +0 -0
  49. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/Dockerfile +0 -0
  50. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/LICENSE +0 -0
  51. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/NOTICE +0 -0
  52. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/README.md +0 -0
  53. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/docs_extra/DO178_requirements.sdoc +0 -0
  54. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/docs_extra/Zephyr_requirements.sdoc +0 -0
  55. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/drafts/requirements/strictdoc.toml +0 -0
  56. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/drafts/rst_examples.sdoc +0 -0
  57. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/drafts/strictdoc_low_level_requirements.sdoc_.sdoc +0 -0
  58. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/mypy.ini +0 -0
  59. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/pyproject.toml +0 -0
  60. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/requirements.bootstrap.txt +0 -0
  61. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/requirements.check.txt +0 -0
  62. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/ruff.toml +0 -0
  63. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/__init__.py +0 -0
  64. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/excel/__init__.py +0 -0
  65. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/excel/excel_import.py +0 -0
  66. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/excel/export/__init__.py +0 -0
  67. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/excel/export/excel_generator.py +0 -0
  68. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/excel/import_/__init__.py +0 -0
  69. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/excel/import_/excel_to_sdoc_converter.py +0 -0
  70. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/reqif/__init__.py +0 -0
  71. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/reqif/p01_sdoc/__init__.py +0 -0
  72. {strictdoc-0.0.55a2/strictdoc/backend/reqif/p11_polarion → strictdoc-0.0.56a1/strictdoc/backend/reqif/p02_simple}/__init__.py +0 -0
  73. {strictdoc-0.0.55a2/strictdoc/backend/sdoc → strictdoc-0.0.56a1/strictdoc/backend/reqif/p11_polarion}/__init__.py +0 -0
  74. {strictdoc-0.0.55a2/strictdoc/backend/sdoc/errors → strictdoc-0.0.56a1/strictdoc/backend/sdoc}/__init__.py +0 -0
  75. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/document_reference.py +0 -0
  76. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/error_handling.py +0 -0
  77. {strictdoc-0.0.55a2/strictdoc/backend/sdoc/grammar → strictdoc-0.0.56a1/strictdoc/backend/sdoc/errors}/__init__.py +0 -0
  78. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/errors/document_tree_error.py +0 -0
  79. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/free_text_reader.py +0 -0
  80. {strictdoc-0.0.55a2/strictdoc/backend/sdoc/models → strictdoc-0.0.56a1/strictdoc/backend/sdoc/grammar}/__init__.py +0 -0
  81. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/grammar/grammar.py +0 -0
  82. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/grammar/grammar_builder.py +0 -0
  83. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/grammar/grammar_grammar.py +0 -0
  84. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/grammar/type_system.py +0 -0
  85. {strictdoc-0.0.55a2/strictdoc/backend/sdoc/validations → strictdoc-0.0.56a1/strictdoc/backend/sdoc/models}/__init__.py +0 -0
  86. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/models/anchor.py +0 -0
  87. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/models/constants.py +0 -0
  88. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/models/document.py +0 -0
  89. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/models/document_config.py +0 -0
  90. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/models/document_from_file.py +0 -0
  91. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/models/document_view.py +0 -0
  92. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/models/free_text.py +0 -0
  93. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/models/inline_link.py +0 -0
  94. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/models/object.py +0 -0
  95. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/models/object_factory.py +0 -0
  96. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/models/reference.py +0 -0
  97. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/models/section.py +0 -0
  98. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/models/type_system.py +0 -0
  99. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/processor.py +0 -0
  100. {strictdoc-0.0.55a2/strictdoc/backend/sdoc_source_code → strictdoc-0.0.56a1/strictdoc/backend/sdoc/validations}/__init__.py +0 -0
  101. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/validations/sdoc_validator.py +0 -0
  102. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc/writer.py +0 -0
  103. {strictdoc-0.0.55a2/strictdoc/backend/sdoc_source_code/models → strictdoc-0.0.56a1/strictdoc/backend/sdoc_source_code}/__init__.py +0 -0
  104. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc_source_code/grammar.py +0 -0
  105. {strictdoc-0.0.55a2/strictdoc/cli → strictdoc-0.0.56a1/strictdoc/backend/sdoc_source_code/models}/__init__.py +0 -0
  106. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc_source_code/models/range_marker.py +0 -0
  107. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc_source_code/models/requirement_marker.py +0 -0
  108. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc_source_code/models/source_file_info.py +0 -0
  109. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/backend/sdoc_source_code/reader.py +0 -0
  110. {strictdoc-0.0.55a2/strictdoc/commands → strictdoc-0.0.56a1/strictdoc/cli}/__init__.py +0 -0
  111. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/cli/argument_int_range.py +0 -0
  112. {strictdoc-0.0.55a2/strictdoc/core → strictdoc-0.0.56a1/strictdoc/commands}/__init__.py +0 -0
  113. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/commands/about_command.py +0 -0
  114. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/commands/diff_command.py +0 -0
  115. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/commands/dump_grammar_command.py +0 -0
  116. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/commands/manage_autouid_command.py +0 -0
  117. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/commands/version_command.py +0 -0
  118. {strictdoc-0.0.55a2/strictdoc/core/actions → strictdoc-0.0.56a1/strictdoc/core}/__init__.py +0 -0
  119. {strictdoc-0.0.55a2/strictdoc/core/finders → strictdoc-0.0.56a1/strictdoc/core/actions}/__init__.py +0 -0
  120. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/actions/export_action.py +0 -0
  121. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/actions/passthrough_action.py +0 -0
  122. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/analyzers/document_stats.py +0 -0
  123. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/analyzers/document_uid_analyzer.py +0 -0
  124. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/document_iterator.py +0 -0
  125. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/document_meta.py +0 -0
  126. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/document_tree.py +0 -0
  127. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/environment.py +0 -0
  128. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/file_traceability_index.py +0 -0
  129. {strictdoc-0.0.55a2/strictdoc/export → strictdoc-0.0.56a1/strictdoc/core/finders}/__init__.py +0 -0
  130. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/finders/source_files_finder.py +0 -0
  131. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/graph/abstract_bucket.py +0 -0
  132. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/graph/many_to_many_set.py +0 -0
  133. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/graph/one_to_one_dictionary.py +0 -0
  134. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/graph/validations.py +0 -0
  135. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/graph_database.py +0 -0
  136. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/query_engine/grammar.py +0 -0
  137. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/query_engine/query_object.py +0 -0
  138. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/query_engine/query_reader.py +0 -0
  139. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/source_tree.py +0 -0
  140. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/transforms/constants.py +0 -0
  141. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/transforms/create_requirement.py +0 -0
  142. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/transforms/delete_section.py +0 -0
  143. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/transforms/section.py +0 -0
  144. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/transforms/update_document_config.py +0 -0
  145. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/transforms/update_free_text.py +0 -0
  146. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/transforms/update_grammar.py +0 -0
  147. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/transforms/update_grammar_element.py +0 -0
  148. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/transforms/update_included_document.py +0 -0
  149. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/transforms/update_requirement.py +0 -0
  150. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/transforms/validation_error.py +0 -0
  151. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/core/tree_cycle_detector.py +0 -0
  152. {strictdoc-0.0.55a2/strictdoc/export/html → strictdoc-0.0.56a1/strictdoc/export}/__init__.py +0 -0
  153. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/dot/document_dot_generator.py +0 -0
  154. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/dot/dot_templates.py +0 -0
  155. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/dot/templates/profile1/document.dot +0 -0
  156. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/dot/templates/profile1/folder.dot +0 -0
  157. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/dot/templates/profile1/legend.dot +0 -0
  158. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/dot/templates/profile1/requirement.dot +0 -0
  159. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/dot/templates/profile1/section.dot +0 -0
  160. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/dot/templates/profile1/top_level.dot +0 -0
  161. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/dot/templates/profile2/document.dot +0 -0
  162. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/dot/templates/profile2/folder.dot +0 -0
  163. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/dot/templates/profile2/requirement.dot +0 -0
  164. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/dot/templates/profile2/section.dot +0 -0
  165. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/dot/templates/profile2/top_level.dot +0 -0
  166. {strictdoc-0.0.55a2/strictdoc/export/html/generators → strictdoc-0.0.56a1/strictdoc/export/html}/__init__.py +0 -0
  167. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/autogen.css +0 -0
  168. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/base.css +0 -0
  169. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/collapsible_list.js +0 -0
  170. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/collapsible_toc.js +0 -0
  171. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/collapsible_tree.js +0 -0
  172. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/content.css +0 -0
  173. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/controllers/anchor_controller.js +0 -0
  174. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/controllers/copy_to_clipboard_controller.js +0 -0
  175. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/controllers/deletable_field_controller.js +0 -0
  176. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/controllers/draggable_list_controller.js +0 -0
  177. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/controllers/dropdown_menu_controller.js +0 -0
  178. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/controllers/editable_field_controller.js +0 -0
  179. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/controllers/modal_controller.js +0 -0
  180. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/controllers/movable_field_controller.js +0 -0
  181. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/controllers/scroll_into_view_controller.js +0 -0
  182. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/controllers/tabs_controller.js +0 -0
  183. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/diff.css +0 -0
  184. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/diff.js +0 -0
  185. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/element.css +0 -0
  186. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/favicon.ico +0 -0
  187. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/fonts/NotoSans-Italic-VariableFont_wdth,wght.ttf +0 -0
  188. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/fonts/NotoSans-VariableFont_wdth,wght.ttf +0 -0
  189. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/fonts/NotoSansMono-VariableFont_wdth,wght.ttf +0 -0
  190. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/form.css +0 -0
  191. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/html2pdf/bundle.js +0 -0
  192. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/layout.css +0 -0
  193. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/node.css +0 -0
  194. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/pan_with_space.js +0 -0
  195. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/project_tree.css +0 -0
  196. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/project_tree.js +0 -0
  197. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/requirement-tree.css +0 -0
  198. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/requirement.css +0 -0
  199. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/requirement__temporary.css +0 -0
  200. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/requirements-coverage.js +0 -0
  201. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/resizable_bar.js +0 -0
  202. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/source-code-coverage.js +0 -0
  203. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/source.css +0 -0
  204. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/stimulus.min.js +0 -0
  205. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/table_vew.css +0 -0
  206. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/toc_highlighting.js +0 -0
  207. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/traceability_matrix.css +0 -0
  208. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/tree(not_in_use).css +0 -0
  209. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/turbo.min.js +0 -0
  210. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/viewtype_menu.js +0 -0
  211. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static/zoomable.js +0 -0
  212. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/LICENSE-MATHJAX +0 -0
  213. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/tex.js +0 -0
  214. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
  215. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
  216. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
  217. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
  218. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
  219. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
  220. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
  221. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
  222. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
  223. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
  224. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
  225. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
  226. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
  227. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
  228. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
  229. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
  230. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
  231. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
  232. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
  233. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
  234. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
  235. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
  236. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
  237. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mathjax/tex-mml-chtml.js +0 -0
  238. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/mermaid/mermaid.min.js +0 -0
  239. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/_static_extra/rapidoc/rapidoc-min.js +0 -0
  240. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/form_objects/document_config_form_object.py +0 -0
  241. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/form_objects/form_object.py +0 -0
  242. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/form_objects/grammar_element_form_object.py +0 -0
  243. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/form_objects/grammar_form_object.py +0 -0
  244. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/form_objects/included_document_form_object.py +0 -0
  245. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/form_objects/requirement_form_object.py +0 -0
  246. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/form_objects/rows/row_with_grammar_element_form_object.py +0 -0
  247. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/form_objects/section_form_object.py +0 -0
  248. {strictdoc-0.0.55a2/strictdoc/export/html/renderers → strictdoc-0.0.56a1/strictdoc/export/html/generators}/__init__.py +0 -0
  249. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/document.py +0 -0
  250. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/document_deep_trace.py +0 -0
  251. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/document_pdf.py +0 -0
  252. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/document_table.py +0 -0
  253. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/document_trace.py +0 -0
  254. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/document_tree.py +0 -0
  255. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/project_statistics.py +0 -0
  256. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/source_file_coverage.py +0 -0
  257. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/source_file_view_generator.py +0 -0
  258. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/traceability_matrix.py +0 -0
  259. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/view_objects/diff_screen_results_view_object.py +0 -0
  260. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/view_objects/diff_screen_view_object.py +0 -0
  261. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/view_objects/document_screen_view_object.py +0 -0
  262. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/view_objects/project_statistics_view_object.py +0 -0
  263. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/view_objects/project_tree_stats.py +0 -0
  264. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/view_objects/project_tree_view_object.py +0 -0
  265. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/view_objects/search_screen_view_object.py +0 -0
  266. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/view_objects/source_file_view_object.py +0 -0
  267. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/generators/view_objects/traceability_matrix_view_object.py +0 -0
  268. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/html_templates.py +0 -0
  269. {strictdoc-0.0.55a2/strictdoc/export/html/tools → strictdoc-0.0.56a1/strictdoc/export/html/renderers}/__init__.py +0 -0
  270. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/renderers/html_fragment_writer.py +0 -0
  271. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/renderers/markup_renderer.py +0 -0
  272. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/renderers/text_to_html_writer.py +0 -0
  273. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg__separator.jinja.html +0 -0
  274. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_add.jinja.html +0 -0
  275. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_add_above.jinja +0 -0
  276. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_add_below.jinja +0 -0
  277. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_add_child.jinja +0 -0
  278. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_anchor.jinja +0 -0
  279. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_back.jinja.html +0 -0
  280. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_book.jinja.html +0 -0
  281. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_close.jinja +0 -0
  282. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_code.jinja.html +0 -0
  283. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_copy.jinja +0 -0
  284. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_delete.jinja.html +0 -0
  285. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_diff.jinja +0 -0
  286. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_document.jinja.html +0 -0
  287. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_done.jinja +0 -0
  288. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_edit.jinja.html +0 -0
  289. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_expand.jinja.html +0 -0
  290. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_file.jinja +0 -0
  291. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_folder.jinja +0 -0
  292. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_folder_collapse.jinja +0 -0
  293. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_folder_sm.jinja +0 -0
  294. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_fragment.jinja +0 -0
  295. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_fragment_draft.jinja +0 -0
  296. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_gear.jinja.html +0 -0
  297. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_go_to_doc.jinja +0 -0
  298. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_index.jinja.html +0 -0
  299. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_list.jinja.html +0 -0
  300. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_maximize.jinja +0 -0
  301. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_minimize.jinja +0 -0
  302. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_minusminus.jinja.html +0 -0
  303. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_move_down.jinja.html +0 -0
  304. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_move_up.jinja.html +0 -0
  305. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_plusplus.jinja.html +0 -0
  306. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_project.jinja.html +0 -0
  307. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_requirement.jinja.html +0 -0
  308. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_reset.jinja +0 -0
  309. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_search.jinja +0 -0
  310. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_source.jinja.html +0 -0
  311. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_stat.jinja +0 -0
  312. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_sync.jinja +0 -0
  313. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_toc.jinja.html +0 -0
  314. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_res/svg_ico16_tree.jinja +0 -0
  315. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_shared/nav.jinja.html +0 -0
  316. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_shared/requirement_block/files_tree.jinja.html +0 -0
  317. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_shared/requirement_tree_left.jinja.html +0 -0
  318. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_shared/requirement_tree_right.jinja.html +0 -0
  319. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/_shared/tags.jinja.html +0 -0
  320. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/_shared/stream_refresh_document.jinja.html +0 -0
  321. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/_shared/stream_updated_toc.jinja.html +0 -0
  322. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/add_requirement_comment/stream_add_requirement_comment.jinja.html +0 -0
  323. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/add_requirement_relation/stream_add_requirement_relation.jinja.html +0 -0
  324. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_cancel_new_requirement.jinja.html +0 -0
  325. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_created_requirement.jinja.html +0 -0
  326. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_new_requirement.jinja.html +0 -0
  327. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/create_section/stream_cancel_new_section.jinja.html +0 -0
  328. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/create_section/stream_created_section.jinja.html +0 -0
  329. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/create_section/stream_new_section.jinja.html +0 -0
  330. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_confirm_delete_requirement.jinja +0 -0
  331. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_delete_requirement.jinja.html +0 -0
  332. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/delete_section/stream_confirm_delete_section.jinja +0 -0
  333. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/delete_section/stream_delete_section.jinja.html +0 -0
  334. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_cancel_edit_document_config.jinja.html +0 -0
  335. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_edit_document_config.jinja.html +0 -0
  336. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_save_document_config.jinja.html +0 -0
  337. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_edit_requirement.jinja.html +0 -0
  338. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_update_requirement.jinja.html +0 -0
  339. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/edit_section/stream_edit_section.jinja.html +0 -0
  340. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/document/edit_section/stream_updated_section.jinja.html +0 -0
  341. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_requirement.jinja +0 -0
  342. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_section.jinja +0 -0
  343. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_form_import_reqif_document.jinja.html +0 -0
  344. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_refresh_with_imported_reqif_document.jinja.html +0 -0
  345. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/project_index/stream_create_document.jinja.html +0 -0
  346. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/actions/project_index/stream_new_document.jinja.html +0 -0
  347. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/base.jinja.html +0 -0
  348. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/abstract/index.jinja +0 -0
  349. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/abstract/pdf.jinja +0 -0
  350. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/anchor/index.jinja +0 -0
  351. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/badge/index.jinja +0 -0
  352. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/button/cancel.jinja +0 -0
  353. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/button/confirm.jinja +0 -0
  354. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/button/delete.jinja +0 -0
  355. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/button/diff.jinja +0 -0
  356. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/button/search.jinja +0 -0
  357. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/button/submit.jinja +0 -0
  358. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/confirm/_usage_example.jinja +0 -0
  359. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/confirm/index.jinja +0 -0
  360. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/document_title/index.jinja +0 -0
  361. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/field/index.jinja +0 -0
  362. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/form/field/contenteditable/index.jinja +0 -0
  363. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/form/field/file/index.jinja +0 -0
  364. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/form/field/text/index.jinja +0 -0
  365. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/form/field_action_button/index.jinja +0 -0
  366. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/form/index.jinja +0 -0
  367. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/form/row/index.jinja +0 -0
  368. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/example.jinja.html +0 -0
  369. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/frame.jinja +0 -0
  370. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/stream.jinja +0 -0
  371. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/form/row/row_with_comment.jinja +0 -0
  372. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/form/row/row_with_relation.jinja +0 -0
  373. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/form/row/row_with_text_field.jinja +0 -0
  374. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/form/search.jinja +0 -0
  375. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/grammar_form/index.jinja +0 -0
  376. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/grammar_form/row_with_grammar_element/index.jinja +0 -0
  377. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/grammar_form/row_with_new_grammar_element/index.jinja +0 -0
  378. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/grammar_form_element/index.jinja +0 -0
  379. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_custom_field/index.jinja +0 -0
  380. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_relation/index.jinja +0 -0
  381. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_reserved_field/index.jinja +0 -0
  382. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/header/_usage_example.jinja +0 -0
  383. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/header/header_pagetype.jinja +0 -0
  384. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/header/index.jinja +0 -0
  385. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/included_document_form/index.jinja +0 -0
  386. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/meta/index.jinja +0 -0
  387. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/modal/_usage_example.jinja +0 -0
  388. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/modal/form.jinja +0 -0
  389. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/modal/index.jinja +0 -0
  390. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/node/card.jinja +0 -0
  391. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/node/index.jinja +0 -0
  392. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/node/node_controls/card.jinja +0 -0
  393. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/node/node_controls/index.jinja +0 -0
  394. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/node/root.jinja +0 -0
  395. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/requirement/card.jinja +0 -0
  396. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/requirement/card_extends_card.jinja +0 -0
  397. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/requirement/comments/index.jinja +0 -0
  398. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/requirement/files/index.jinja +0 -0
  399. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/requirement/index.jinja +0 -0
  400. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/requirement/index_extends_node.jinja +0 -0
  401. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/requirement/links/index.jinja +0 -0
  402. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/requirement/meta/index.jinja +0 -0
  403. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/requirement/multiline/index.jinja +0 -0
  404. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/requirement/pdf.jinja +0 -0
  405. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/requirement/rationale/index.jinja +0 -0
  406. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/requirement/statement/index.jinja +0 -0
  407. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/requirement/tiny.jinja +0 -0
  408. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/requirement/tiny_extends_card.jinja +0 -0
  409. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/requirement/title/index.jinja +0 -0
  410. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/requirement/title/pdf.jinja +0 -0
  411. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/requirement/uid/index.jinja +0 -0
  412. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/resizable_bar/index.jinja +0 -0
  413. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/section/card.jinja +0 -0
  414. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/section/card_extends_card.jinja +0 -0
  415. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/section/h/index.jinja +0 -0
  416. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/section/h/pdf.jinja +0 -0
  417. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/section/index.jinja +0 -0
  418. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/section/index_extends_node.jinja +0 -0
  419. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/section/pdf.jinja +0 -0
  420. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/section/text/index.jinja +0 -0
  421. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/section/tiny.jinja +0 -0
  422. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/section/tiny_extends_card.jinja +0 -0
  423. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/section/title/index.jinja +0 -0
  424. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/section/uid/index.jinja +0 -0
  425. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/components/table_key_value/index.jinja +0 -0
  426. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/rst/anchor.jinja +0 -0
  427. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/_shared/frame_header_document_title.jinja +0 -0
  428. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_requirement.jinja +0 -0
  429. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_section.jinja +0 -0
  430. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/_shared/frame_toc.jinja +0 -0
  431. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/_shared/project_tree.jinja +0 -0
  432. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/_shared/project_tree_child_documents.jinja +0 -0
  433. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_project_tree.jinja +0 -0
  434. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_toc.jinja +0 -0
  435. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/_shared/toc.jinja +0 -0
  436. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/_shared/viewtype_menu.jinja +0 -0
  437. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/document/actions.jinja +0 -0
  438. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/document/frame_document_config.jinja.html +0 -0
  439. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/document/frame_document_config_edit.jinja.html +0 -0
  440. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +0 -0
  441. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/document/frame_requirement_form.jinja +0 -0
  442. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/document/frame_section_form.jinja +0 -0
  443. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/document/index.jinja +0 -0
  444. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/document/main.jinja +0 -0
  445. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/pdf/index.jinja +0 -0
  446. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/pdf/main.jinja +0 -0
  447. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/pdf/template/footer.jinja +0 -0
  448. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/pdf/template/frontpage.jinja +0 -0
  449. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/pdf/template/header.jinja +0 -0
  450. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/pdf/toc.jinja +0 -0
  451. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/table/index.jinja +0 -0
  452. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/table/main.jinja +0 -0
  453. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/traceability/index.jinja +0 -0
  454. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/traceability/main.jinja +0 -0
  455. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/traceability_deep/index.jinja +0 -0
  456. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/document/traceability_deep/main.jinja +0 -0
  457. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/git/changelog_content.jinja +0 -0
  458. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/git/diff_content.jinja +0 -0
  459. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/git/diff_controls.jinja +0 -0
  460. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/git/fields/document_fields.jinja +0 -0
  461. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/git/fields/requirement_fields.jinja +0 -0
  462. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/git/fields/section_fields.jinja +0 -0
  463. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/git/form.jinja +0 -0
  464. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/git/frame_changelog_result.jinja +0 -0
  465. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/git/frame_diff_result.jinja +0 -0
  466. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/git/index.jinja +0 -0
  467. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/git/legend.jinja +0 -0
  468. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/git/main.jinja +0 -0
  469. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/git/nav_tabs.jinja +0 -0
  470. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/git/node/requirement.jinja +0 -0
  471. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/git/node/section.jinja +0 -0
  472. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/git/skeleton.jinja +0 -0
  473. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/git/sync/button.jinja +0 -0
  474. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/project_index/actions.jinja +0 -0
  475. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/project_index/frame_form_import_reqif.jinja.html +0 -0
  476. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/project_index/frame_form_new_document.jinja.html +0 -0
  477. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/project_index/frame_project_tree.jinja.html +0 -0
  478. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/project_index/index.jinja +0 -0
  479. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/project_index/main.jinja +0 -0
  480. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/project_index/project_tree.jinja +0 -0
  481. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/project_index/project_tree_file.jinja +0 -0
  482. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/project_index/project_tree_folder.jinja +0 -0
  483. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/project_statistics/index.jinja +0 -0
  484. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/project_statistics/main.jinja +0 -0
  485. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/search/index.jinja +0 -0
  486. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/search/legend.jinja +0 -0
  487. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/search/main.jinja +0 -0
  488. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/source_file_coverage/file.jinja +0 -0
  489. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/source_file_coverage/folder.jinja +0 -0
  490. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/source_file_coverage/index.jinja +0 -0
  491. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/source_file_coverage/main.jinja +0 -0
  492. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/source_file_view/aside.jinja +0 -0
  493. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/source_file_view/header__source_file_name.jinja +0 -0
  494. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/source_file_view/index.jinja +0 -0
  495. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/source_file_view/main.jinja +0 -0
  496. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/source_file_view/requirement.jinja +0 -0
  497. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/traceability_matrix/file.jinja +0 -0
  498. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/traceability_matrix/index.jinja +0 -0
  499. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/traceability_matrix/main.jinja +0 -0
  500. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/traceability_matrix/project_tree_flat_anchor_list.jinja +0 -0
  501. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/traceability_matrix/requirement.jinja.html +0 -0
  502. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/screens/traceability_matrix/resizable_bar_with_project_tree.jinja +0 -0
  503. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/website/document/index.jinja +0 -0
  504. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/templates/websocket.jinja.html +0 -0
  505. {strictdoc-0.0.55a2/strictdoc/export/rst → strictdoc-0.0.56a1/strictdoc/export/html/tools}/__init__.py +0 -0
  506. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html/tools/html_embedded.py +0 -0
  507. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html2pdf/html2pdf.py +0 -0
  508. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html2pdf/html2pdf_generator.py +0 -0
  509. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/html2pdf/pdf_print_driver.py +0 -0
  510. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/json/json_generator.py +0 -0
  511. {strictdoc-0.0.55a2/strictdoc/helpers → strictdoc-0.0.56a1/strictdoc/export/rst}/__init__.py +0 -0
  512. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/rst/directives/raw_html_role.py +0 -0
  513. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/rst/directives/wildcard_enhanced_image.py +0 -0
  514. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/rst/document_rst_generator.py +0 -0
  515. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/rst/rst_templates.py +0 -0
  516. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/rst/rst_to_html_fragment_writer.py +0 -0
  517. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/rst/templates/requirement.jinja.rst +0 -0
  518. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/rst/writer.py +0 -0
  519. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/spdx/spdx_generator.py +0 -0
  520. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/spdx/spdx_sdoc_container.py +0 -0
  521. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/export/spdx/spdx_to_sdoc_converter.py +0 -0
  522. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/git/change.py +0 -0
  523. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/git/change_generator.py +0 -0
  524. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/git/git_client.py +0 -0
  525. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/git/project_diff_analyzer.py +0 -0
  526. {strictdoc-0.0.55a2/strictdoc/server → strictdoc-0.0.56a1/strictdoc/helpers}/__init__.py +0 -0
  527. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/auto_described.py +0 -0
  528. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/cast.py +0 -0
  529. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/diff.py +0 -0
  530. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/exception.py +0 -0
  531. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/file_modification_time.py +0 -0
  532. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/file_system.py +0 -0
  533. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/form_data.py +0 -0
  534. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/git_client.py +0 -0
  535. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/math.py +0 -0
  536. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/mid.py +0 -0
  537. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/ordered_set.py +0 -0
  538. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/path_filter.py +0 -0
  539. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/paths.py +0 -0
  540. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/rst.py +0 -0
  541. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/sha256.py +0 -0
  542. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/shard.py +0 -0
  543. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/helpers/sorting.py +0 -0
  544. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/server/app.py +0 -0
  545. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/server/config.py +0 -0
  546. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/server/error_object.py +0 -0
  547. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/server/helpers/turbo.py +0 -0
  548. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/server/main.py +0 -0
  549. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/server/routers/other_router.py +0 -0
  550. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/strictdoc/server/server.py +0 -0
  551. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/tasks.py +0 -0
  552. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/tasks_wine.py +0 -0
  553. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/tools/confluence_html_table_import.py +0 -0
  554. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/tools/link_health.py +0 -0
  555. {strictdoc-0.0.55a2 → strictdoc-0.0.56a1}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strictdoc
3
- Version: 0.0.55a2
3
+ Version: 0.0.56a1
4
4
  Summary: StrictDoc is open-source software for technical documentation and requirements management.
5
5
  Project-URL: Changelog, https://github.com/strictdoc-project/strictdoc/blob/main/CHANGELOG.md
6
6
  Project-URL: Homepage, https://strictdoc.readthedocs.io/en/stable/
@@ -1,6 +1,6 @@
1
1
  from strictdoc.core.environment import SDocRuntimeEnvironment
2
2
 
3
- __version__ = "0.0.55a2"
3
+ __version__ = "0.0.56a1"
4
4
 
5
5
 
6
6
  environment = SDocRuntimeEnvironment(__file__)
@@ -0,0 +1,565 @@
1
+ # mypy: disable-error-code="no-untyped-def,union-attr,operator"
2
+ from typing import Dict, List, Optional, Union
3
+
4
+ from reqif.models.reqif_data_type import ReqIFDataTypeDefinitionEnumeration
5
+ from reqif.models.reqif_spec_object import ReqIFSpecObject
6
+ from reqif.models.reqif_spec_object_type import (
7
+ ReqIFSpecObjectType,
8
+ SpecAttributeDefinition,
9
+ )
10
+ from reqif.models.reqif_specification import ReqIFSpecification
11
+ from reqif.models.reqif_types import SpecObjectAttributeType
12
+ from reqif.reqif_bundle import ReqIFBundle
13
+
14
+ from strictdoc.backend.reqif.sdoc_reqif_fields import (
15
+ REQIF_MAP_TO_SDOC_FIELD_MAP,
16
+ ReqIFChapterField,
17
+ ReqIFRequirementReservedField,
18
+ )
19
+ from strictdoc.backend.sdoc.models.document import SDocDocument
20
+ from strictdoc.backend.sdoc.models.document_config import DocumentConfig
21
+ from strictdoc.backend.sdoc.models.document_grammar import (
22
+ DocumentGrammar,
23
+ GrammarElement,
24
+ create_default_relations,
25
+ )
26
+ from strictdoc.backend.sdoc.models.free_text import FreeText
27
+ from strictdoc.backend.sdoc.models.node import SDocNode, SDocNodeField
28
+ from strictdoc.backend.sdoc.models.reference import (
29
+ ParentReqReference,
30
+ Reference,
31
+ )
32
+ from strictdoc.backend.sdoc.models.section import SDocSection
33
+ from strictdoc.backend.sdoc.models.type_system import (
34
+ GrammarElementFieldMultipleChoice,
35
+ GrammarElementFieldReference,
36
+ GrammarElementFieldSingleChoice,
37
+ GrammarElementFieldString,
38
+ )
39
+ from strictdoc.helpers.string import (
40
+ create_safe_requirement_tag_string,
41
+ unescape,
42
+ )
43
+
44
+
45
+ class P01_ReqIFToSDocBuildContext:
46
+ def __init__(self, *, enable_mid: bool, import_markup: Optional[str]):
47
+ self.enable_mid: bool = enable_mid
48
+ self.import_markup: Optional[str] = import_markup
49
+ self.map_spec_object_type_identifier_to_grammar_node_tags: Dict[
50
+ str, GrammarElement
51
+ ] = {}
52
+
53
+
54
+ class P01_ReqIFToSDocConverter:
55
+ @staticmethod
56
+ def convert_reqif_bundle(
57
+ reqif_bundle: ReqIFBundle,
58
+ enable_mid: bool,
59
+ import_markup: str,
60
+ ) -> List[SDocDocument]:
61
+ context = P01_ReqIFToSDocBuildContext(
62
+ enable_mid=enable_mid, import_markup=import_markup
63
+ )
64
+
65
+ if (
66
+ reqif_bundle.core_content is None
67
+ or reqif_bundle.core_content.req_if_content is None
68
+ or len(reqif_bundle.core_content.req_if_content.specifications) == 0
69
+ ):
70
+ return []
71
+
72
+ documents: List[SDocDocument] = []
73
+ for (
74
+ specification
75
+ ) in reqif_bundle.core_content.req_if_content.specifications:
76
+ document = P01_ReqIFToSDocConverter._create_document_from_reqif_specification(
77
+ specification=specification,
78
+ reqif_bundle=reqif_bundle,
79
+ context=context,
80
+ )
81
+ documents.append(document)
82
+ return documents
83
+
84
+ @staticmethod
85
+ def is_spec_object_requirement(_):
86
+ return True
87
+
88
+ @staticmethod
89
+ def is_spec_object_section(
90
+ spec_object: ReqIFSpecObject, reqif_bundle: ReqIFBundle
91
+ ):
92
+ spec_object_type = reqif_bundle.lookup.get_spec_type_by_ref(
93
+ spec_object.spec_object_type
94
+ )
95
+ return spec_object_type.long_name == "SECTION"
96
+
97
+ @staticmethod
98
+ def is_spec_object_free_text(
99
+ spec_object: ReqIFSpecObject, reqif_bundle: ReqIFBundle
100
+ ):
101
+ spec_object_type = reqif_bundle.lookup.get_spec_type_by_ref(
102
+ spec_object.spec_object_type
103
+ )
104
+ return spec_object_type.long_name == "FREETEXT"
105
+
106
+ @staticmethod
107
+ def convert_requirement_field_from_reqif(field_name: str) -> str:
108
+ if field_name in ReqIFRequirementReservedField.SET:
109
+ return REQIF_MAP_TO_SDOC_FIELD_MAP[field_name]
110
+ return field_name
111
+
112
+ @staticmethod
113
+ def _create_document_from_reqif_specification(
114
+ *,
115
+ specification: ReqIFSpecification,
116
+ reqif_bundle: ReqIFBundle,
117
+ context: P01_ReqIFToSDocBuildContext,
118
+ ):
119
+ document = P01_ReqIFToSDocConverter.create_document(
120
+ specification=specification, context=context
121
+ )
122
+ document.section_contents = []
123
+
124
+ for (
125
+ spec_object_type_
126
+ ) in reqif_bundle.core_content.req_if_content.spec_types:
127
+ if not isinstance(spec_object_type_, ReqIFSpecObjectType):
128
+ continue
129
+
130
+ grammar_element: GrammarElement = P01_ReqIFToSDocConverter.create_grammar_element_from_spec_object_type(
131
+ spec_object_type=spec_object_type_,
132
+ reqif_bundle=reqif_bundle,
133
+ )
134
+ context.map_spec_object_type_identifier_to_grammar_node_tags[
135
+ spec_object_type_.identifier
136
+ ] = grammar_element
137
+
138
+ # This lookup object is used to first collect the spec object type identifiers
139
+ # that are actually used by this document. This is needed to ensure that a
140
+ # StrictDoc document is not created with irrelevant grammar elements that
141
+ # actually belong to other Specifications in this ReqIF bundle.
142
+ # Using Dict as an ordered set.
143
+ spec_object_type_identifiers_used_by_this_document: Dict[str, None] = {}
144
+
145
+ def node_converter_lambda(
146
+ current_hierarchy_,
147
+ current_section_,
148
+ ):
149
+ spec_object = reqif_bundle.get_spec_object_by_ref(
150
+ current_hierarchy_.spec_object
151
+ )
152
+ spec_object_type_identifiers_used_by_this_document[
153
+ spec_object.spec_object_type
154
+ ] = None
155
+
156
+ is_section = P01_ReqIFToSDocConverter.is_spec_object_section(
157
+ spec_object,
158
+ reqif_bundle=reqif_bundle,
159
+ )
160
+
161
+ converted_node: Union[SDocSection, SDocNode, FreeText]
162
+ if is_section:
163
+ converted_node = (
164
+ P01_ReqIFToSDocConverter.create_section_from_spec_object(
165
+ spec_object=spec_object,
166
+ context=context,
167
+ level=current_hierarchy_.level,
168
+ reqif_bundle=reqif_bundle,
169
+ )
170
+ )
171
+ elif P01_ReqIFToSDocConverter.is_spec_object_free_text(
172
+ spec_object,
173
+ reqif_bundle=reqif_bundle,
174
+ ):
175
+ converted_node = (
176
+ P01_ReqIFToSDocConverter.create_free_text_from_spec_object(
177
+ spec_object=spec_object,
178
+ )
179
+ )
180
+ if len(current_section_.free_texts) == 0:
181
+ current_section_.free_texts.append(converted_node)
182
+ return converted_node, False
183
+ else:
184
+ converted_node = P01_ReqIFToSDocConverter.create_requirement_from_spec_object(
185
+ spec_object=spec_object,
186
+ context=context,
187
+ parent_section=current_section_,
188
+ reqif_bundle=reqif_bundle,
189
+ level=current_hierarchy_.level,
190
+ )
191
+ current_section_.section_contents.append(converted_node)
192
+
193
+ return converted_node, is_section
194
+
195
+ reqif_bundle.iterate_specification_hierarchy_for_conversion(
196
+ specification,
197
+ document,
198
+ lambda s: s.ng_level,
199
+ node_converter_lambda,
200
+ )
201
+
202
+ elements: List[GrammarElement] = []
203
+ for (
204
+ spec_object_type_identifier_
205
+ ) in spec_object_type_identifiers_used_by_this_document.keys():
206
+ spec_object_type: ReqIFSpecObjectType = (
207
+ reqif_bundle.lookup.get_spec_type_by_ref(
208
+ spec_object_type_identifier_
209
+ )
210
+ )
211
+ if spec_object_type.long_name in ("SECTION", "FREETEXT"):
212
+ continue
213
+ grammar_element = (
214
+ context.map_spec_object_type_identifier_to_grammar_node_tags[
215
+ spec_object_type_identifier_
216
+ ]
217
+ )
218
+ elements.append(grammar_element)
219
+ grammar: DocumentGrammar
220
+ if len(elements) > 0:
221
+ grammar = DocumentGrammar(parent=document, elements=elements)
222
+ grammar.is_default = False
223
+ else:
224
+ grammar = DocumentGrammar.create_default(parent=document)
225
+ document.grammar = grammar
226
+
227
+ return document
228
+
229
+ @staticmethod
230
+ def create_grammar_element_from_spec_object_type(
231
+ *,
232
+ spec_object_type: ReqIFSpecObjectType,
233
+ reqif_bundle: ReqIFBundle,
234
+ ):
235
+ fields: List[
236
+ Union[
237
+ GrammarElementFieldString,
238
+ GrammarElementFieldMultipleChoice,
239
+ GrammarElementFieldSingleChoice,
240
+ GrammarElementFieldReference,
241
+ ]
242
+ ] = []
243
+ for attribute in spec_object_type.attribute_definitions:
244
+ field_name = (
245
+ P01_ReqIFToSDocConverter.convert_requirement_field_from_reqif(
246
+ attribute.long_name
247
+ )
248
+ )
249
+ # Chapter name is a reserved field for sections.
250
+ if field_name == ReqIFChapterField.CHAPTER_NAME:
251
+ continue
252
+ if attribute.attribute_type == SpecObjectAttributeType.STRING:
253
+ fields.append(
254
+ GrammarElementFieldString(
255
+ parent=None,
256
+ title=field_name,
257
+ human_title=None,
258
+ required="False",
259
+ )
260
+ )
261
+ elif attribute.attribute_type == SpecObjectAttributeType.XHTML:
262
+ fields.append(
263
+ GrammarElementFieldString(
264
+ parent=None,
265
+ title=field_name,
266
+ human_title=None,
267
+ required="False",
268
+ )
269
+ )
270
+ elif (
271
+ attribute.attribute_type == SpecObjectAttributeType.ENUMERATION
272
+ ):
273
+ enum_data_type: ReqIFDataTypeDefinitionEnumeration = (
274
+ reqif_bundle.lookup.get_data_type_by_ref(
275
+ attribute.datatype_definition
276
+ )
277
+ )
278
+ options = list(map(lambda v: v.key, enum_data_type.values))
279
+ if attribute.multi_valued is True:
280
+ fields.append(
281
+ GrammarElementFieldMultipleChoice(
282
+ parent=None,
283
+ title=field_name,
284
+ human_title=None,
285
+ options=options,
286
+ required="False",
287
+ )
288
+ )
289
+ else:
290
+ fields.append(
291
+ GrammarElementFieldSingleChoice(
292
+ parent=None,
293
+ title=field_name,
294
+ human_title=None,
295
+ options=options,
296
+ required="False",
297
+ )
298
+ )
299
+ elif attribute.attribute_type == SpecObjectAttributeType.DATE:
300
+ # Recognize the DATE attributes but do nothing about them,
301
+ # since StrictDoc has no concept of "date" for its grammar
302
+ # fields.
303
+ pass
304
+ else:
305
+ raise NotImplementedError(attribute) from None
306
+
307
+ requirement_element = GrammarElement(
308
+ parent=None,
309
+ tag=create_safe_requirement_tag_string(spec_object_type.long_name),
310
+ fields=fields,
311
+ relations=[],
312
+ )
313
+ requirement_element.relations = create_default_relations(
314
+ requirement_element
315
+ )
316
+ return requirement_element
317
+
318
+ @staticmethod
319
+ def create_document(
320
+ *,
321
+ specification: ReqIFSpecification,
322
+ context: P01_ReqIFToSDocBuildContext,
323
+ ) -> SDocDocument:
324
+ document_config = DocumentConfig.default_config(None)
325
+ document_config.enable_mid = (
326
+ context.enable_mid if context.enable_mid else None
327
+ )
328
+ document_title = (
329
+ specification.long_name
330
+ if specification.long_name is not None
331
+ else "<No title>"
332
+ )
333
+ document = SDocDocument(
334
+ None, document_title, document_config, None, None, [], []
335
+ )
336
+ if context.enable_mid:
337
+ document.reserved_mid = specification.identifier
338
+ if context.import_markup is not None:
339
+ document_config.markup = context.import_markup
340
+
341
+ document.grammar = DocumentGrammar.create_default(document)
342
+ # FIXME: One day this will go away.
343
+ document.ng_at_least_one_relations_field = False
344
+ return document
345
+
346
+ @staticmethod
347
+ def create_section_from_spec_object(
348
+ *,
349
+ spec_object: ReqIFSpecObject,
350
+ context: P01_ReqIFToSDocBuildContext,
351
+ level: int,
352
+ reqif_bundle: ReqIFBundle,
353
+ ) -> SDocSection:
354
+ spec_object_type = reqif_bundle.lookup.get_spec_type_by_ref(
355
+ spec_object.spec_object_type
356
+ )
357
+ attribute_map: Dict[str, SpecAttributeDefinition] = (
358
+ spec_object_type.attribute_map
359
+ )
360
+ assert attribute_map is not None
361
+ for attribute in spec_object.attributes:
362
+ field_name_or_none: Optional[str] = attribute_map[
363
+ attribute.definition_ref
364
+ ].long_name
365
+ if field_name_or_none is None:
366
+ raise NotImplementedError
367
+ field_name: str = field_name_or_none
368
+ if field_name == ReqIFChapterField.CHAPTER_NAME:
369
+ section_title = attribute.value
370
+ break
371
+ else:
372
+ raise NotImplementedError(spec_object, attribute_map)
373
+
374
+ free_texts = []
375
+ if ReqIFChapterField.TEXT in spec_object.attribute_map:
376
+ free_text = unescape(
377
+ spec_object.attribute_map[ReqIFChapterField.TEXT].value
378
+ )
379
+ free_texts.append(
380
+ FreeText(
381
+ parent=None,
382
+ parts=[free_text],
383
+ )
384
+ )
385
+ # Sanitize the title. Titles can also come from XHTML attributes with
386
+ # custom newlines such as:
387
+ # <ATTRIBUTE-VALUE-XHTML>
388
+ # <THE-VALUE>
389
+ # Some value
390
+ # </THE-VALUE>
391
+ section_title = section_title.strip().replace("\n", " ")
392
+
393
+ section_mid = spec_object.identifier if context.enable_mid else None
394
+
395
+ section = SDocSection(
396
+ parent=None,
397
+ mid=section_mid,
398
+ uid=None,
399
+ custom_level=None,
400
+ title=section_title,
401
+ requirement_prefix=None,
402
+ free_texts=free_texts,
403
+ section_contents=[],
404
+ )
405
+ section.ng_level = level
406
+ return section
407
+
408
+ @staticmethod
409
+ def create_requirement_from_spec_object(
410
+ spec_object: ReqIFSpecObject,
411
+ context: P01_ReqIFToSDocBuildContext,
412
+ parent_section: Union[SDocSection, SDocDocument],
413
+ reqif_bundle: ReqIFBundle,
414
+ level,
415
+ ) -> SDocNode:
416
+ fields = []
417
+ spec_object_type = reqif_bundle.lookup.get_spec_type_by_ref(
418
+ spec_object.spec_object_type
419
+ )
420
+ attribute_map: Dict[str, SpecAttributeDefinition] = (
421
+ spec_object_type.attribute_map
422
+ )
423
+
424
+ foreign_key_id_or_none: Optional[str] = None
425
+ for attribute in spec_object.attributes:
426
+ long_name_or_none = attribute_map[
427
+ attribute.definition_ref
428
+ ].long_name
429
+ if long_name_or_none is None:
430
+ raise NotImplementedError
431
+ field_name: str = long_name_or_none
432
+ if attribute.attribute_type == SpecObjectAttributeType.ENUMERATION:
433
+ sdoc_field_name = P01_ReqIFToSDocConverter.convert_requirement_field_from_reqif(
434
+ field_name,
435
+ )
436
+ enum_values_resolved = []
437
+ for (
438
+ attribute_definition_
439
+ ) in spec_object_type.attribute_definitions:
440
+ if (
441
+ attribute.definition_ref
442
+ == attribute_definition_.identifier
443
+ ):
444
+ datatype_definition = (
445
+ attribute_definition_.datatype_definition
446
+ )
447
+
448
+ datatype: ReqIFDataTypeDefinitionEnumeration = (
449
+ reqif_bundle.lookup.get_data_type_by_ref(
450
+ datatype_definition
451
+ )
452
+ )
453
+
454
+ enum_values_list = list(attribute.value)
455
+ for enum_value in enum_values_list:
456
+ enum_values_resolved.append(
457
+ datatype.values_map[enum_value].key
458
+ )
459
+
460
+ break
461
+ else:
462
+ raise NotImplementedError
463
+
464
+ enum_values = ", ".join(enum_values_resolved)
465
+ fields.append(
466
+ SDocNodeField(
467
+ parent=None,
468
+ field_name=sdoc_field_name,
469
+ field_value=enum_values,
470
+ field_value_multiline=None,
471
+ field_value_references=None,
472
+ )
473
+ )
474
+ continue
475
+ assert isinstance(attribute.value, str)
476
+ if long_name_or_none == "ReqIF.ForeignID":
477
+ foreign_key_id_or_none = attribute.definition_ref
478
+ attribute_value: Optional[str] = unescape(attribute.value)
479
+ attribute_multiline_value = None
480
+ if (
481
+ "\n" in attribute_value
482
+ or attribute.attribute_type == SpecObjectAttributeType.XHTML
483
+ or field_name == ReqIFRequirementReservedField.TEXT
484
+ or field_name == ReqIFRequirementReservedField.COMMENT_NOTES
485
+ ):
486
+ attribute_multiline_value = attribute_value.lstrip()
487
+ attribute_value = None
488
+
489
+ sdoc_field_name = (
490
+ P01_ReqIFToSDocConverter.convert_requirement_field_from_reqif(
491
+ field_name,
492
+ )
493
+ )
494
+ fields.append(
495
+ SDocNodeField(
496
+ parent=None,
497
+ field_name=sdoc_field_name,
498
+ field_value=attribute_value,
499
+ field_value_multiline=attribute_multiline_value,
500
+ field_value_references=None,
501
+ )
502
+ )
503
+
504
+ requirement_mid = spec_object.identifier if context.enable_mid else None
505
+
506
+ grammar_element: GrammarElement = (
507
+ context.map_spec_object_type_identifier_to_grammar_node_tags[
508
+ spec_object_type.identifier
509
+ ]
510
+ )
511
+
512
+ requirement = SDocNode(
513
+ parent=parent_section,
514
+ requirement_type=grammar_element.tag,
515
+ mid=requirement_mid,
516
+ fields=fields,
517
+ )
518
+ requirement.ng_level = level
519
+ # FIXME: One day this will go away.
520
+ requirement.ng_uses_old_refs_field = False
521
+
522
+ if foreign_key_id_or_none is not None:
523
+ spec_object_parents = reqif_bundle.get_spec_object_parents(
524
+ spec_object.identifier
525
+ )
526
+ parent_refs: List[Reference] = []
527
+ for spec_object_parent in spec_object_parents:
528
+ parent_spec_object_parent = (
529
+ reqif_bundle.lookup.get_spec_object_by_ref(
530
+ spec_object_parent
531
+ )
532
+ )
533
+
534
+ parent_refs.append(
535
+ ParentReqReference(
536
+ requirement,
537
+ parent_spec_object_parent.attribute_map[
538
+ foreign_key_id_or_none
539
+ ].value,
540
+ role=None,
541
+ )
542
+ )
543
+ if len(parent_refs) > 0:
544
+ requirement_field = SDocNodeField(
545
+ parent=requirement,
546
+ field_name="REFS",
547
+ field_value=None,
548
+ field_value_multiline=None,
549
+ field_value_references=parent_refs,
550
+ )
551
+ fields.append(requirement_field)
552
+ requirement.ordered_fields_lookup["REFS"] = [requirement_field]
553
+ return requirement
554
+
555
+ @staticmethod
556
+ def create_free_text_from_spec_object(
557
+ spec_object: ReqIFSpecObject,
558
+ ) -> FreeText:
559
+ free_text = unescape(
560
+ spec_object.attribute_map[ReqIFChapterField.TEXT].value
561
+ )
562
+ return FreeText(
563
+ parent=None,
564
+ parts=[free_text],
565
+ )