strictdoc 0.0.57a2__tar.gz → 0.0.58__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 (552) hide show
  1. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/PKG-INFO +1 -2
  2. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/pyproject.toml +0 -1
  3. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/__init__.py +1 -1
  4. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/reqif/p01_sdoc/reqif_to_sdoc_converter.py +22 -13
  5. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/models/document_config.py +7 -2
  6. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/validations/sdoc_validator.py +25 -1
  7. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/writer.py +25 -10
  8. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/cli/cli_arg_parser.py +3 -0
  9. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/cli/command_parser_builder.py +8 -1
  10. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/commands/manage_autouid_command.py +1 -0
  11. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/actions/export_action.py +0 -13
  12. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/actions/passthrough_action.py +4 -1
  13. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/environment.py +0 -16
  14. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/project_config.py +2 -0
  15. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/traceability_index_builder.py +7 -2
  16. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/node.css +4 -0
  17. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/form_objects/grammar_element_form_object.py +1 -1
  18. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/form_objects/requirement_form_object.py +73 -24
  19. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node/node_controls/index.jinja +11 -11
  20. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/document/frame_requirement_form.jinja +1 -1
  21. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/traceability_matrix/main.jinja +1 -1
  22. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/server/routers/main_router.py +43 -33
  23. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/tasks.py +13 -71
  24. strictdoc-0.0.57a2/strictdoc/export/dot/document_dot_generator.py +0 -356
  25. strictdoc-0.0.57a2/strictdoc/export/dot/dot_templates.py +0 -16
  26. strictdoc-0.0.57a2/strictdoc/export/dot/templates/profile1/document.dot +0 -12
  27. strictdoc-0.0.57a2/strictdoc/export/dot/templates/profile1/folder.dot +0 -15
  28. strictdoc-0.0.57a2/strictdoc/export/dot/templates/profile1/legend.dot +0 -69
  29. strictdoc-0.0.57a2/strictdoc/export/dot/templates/profile1/requirement.dot +0 -18
  30. strictdoc-0.0.57a2/strictdoc/export/dot/templates/profile1/section.dot +0 -34
  31. strictdoc-0.0.57a2/strictdoc/export/dot/templates/profile1/top_level.dot +0 -61
  32. strictdoc-0.0.57a2/strictdoc/export/dot/templates/profile2/document.dot +0 -4
  33. strictdoc-0.0.57a2/strictdoc/export/dot/templates/profile2/folder.dot +0 -14
  34. strictdoc-0.0.57a2/strictdoc/export/dot/templates/profile2/requirement.dot +0 -14
  35. strictdoc-0.0.57a2/strictdoc/export/dot/templates/profile2/section.dot +0 -16
  36. strictdoc-0.0.57a2/strictdoc/export/dot/templates/profile2/top_level.dot +0 -59
  37. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/.gitignore +0 -0
  38. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/CHANGELOG.md +0 -0
  39. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/CONTRIBUTING.md +0 -0
  40. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/Dockerfile +0 -0
  41. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/LICENSE +0 -0
  42. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/NOTICE +0 -0
  43. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/README.md +0 -0
  44. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/docs_extra/DO178_requirements.sdoc +0 -0
  45. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/docs_extra/Zephyr_requirements.sdoc +0 -0
  46. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/drafts/requirements/strictdoc.toml +0 -0
  47. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/drafts/rst_examples.sdoc +0 -0
  48. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/drafts/strictdoc_low_level_requirements.sdoc_.sdoc +0 -0
  49. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/mypy.ini +0 -0
  50. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/requirements.bootstrap.txt +0 -0
  51. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/requirements.check.txt +0 -0
  52. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/ruff.toml +0 -0
  53. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/__init__.py +0 -0
  54. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/excel/__init__.py +0 -0
  55. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/excel/excel_import.py +0 -0
  56. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/excel/export/__init__.py +0 -0
  57. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/excel/export/excel_generator.py +0 -0
  58. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/excel/import_/__init__.py +0 -0
  59. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/excel/import_/excel_to_sdoc_converter.py +0 -0
  60. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/reqif/__init__.py +0 -0
  61. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/reqif/p01_sdoc/__init__.py +0 -0
  62. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py +0 -0
  63. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/reqif/reqif_export.py +0 -0
  64. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/reqif/reqif_import.py +0 -0
  65. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/reqif/sdoc_reqif_fields.py +0 -0
  66. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/__init__.py +0 -0
  67. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/constants.py +0 -0
  68. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/document_reference.py +0 -0
  69. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/error_handling.py +0 -0
  70. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/errors/__init__.py +0 -0
  71. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/errors/document_tree_error.py +0 -0
  72. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/free_text_reader.py +0 -0
  73. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/grammar/__init__.py +0 -0
  74. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/grammar/grammar.py +0 -0
  75. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/grammar/grammar_builder.py +0 -0
  76. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/grammar/grammar_grammar.py +0 -0
  77. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/grammar/type_system.py +0 -0
  78. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/grammar_reader.py +0 -0
  79. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/models/__init__.py +0 -0
  80. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/models/anchor.py +0 -0
  81. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/models/constants.py +0 -0
  82. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/models/document.py +0 -0
  83. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/models/document_from_file.py +0 -0
  84. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/models/document_grammar.py +0 -0
  85. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/models/document_view.py +0 -0
  86. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/models/free_text.py +0 -0
  87. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/models/inline_link.py +0 -0
  88. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/models/node.py +0 -0
  89. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/models/object.py +0 -0
  90. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/models/object_factory.py +0 -0
  91. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/models/reference.py +0 -0
  92. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/models/section.py +0 -0
  93. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/models/type_system.py +0 -0
  94. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/pickle_cache.py +0 -0
  95. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/processor.py +0 -0
  96. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/reader.py +0 -0
  97. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc/validations/__init__.py +0 -0
  98. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc_source_code/__init__.py +0 -0
  99. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc_source_code/grammar.py +0 -0
  100. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc_source_code/models/__init__.py +0 -0
  101. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc_source_code/models/range_marker.py +0 -0
  102. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc_source_code/models/requirement_marker.py +0 -0
  103. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc_source_code/models/source_file_info.py +0 -0
  104. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/backend/sdoc_source_code/reader.py +0 -0
  105. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/cli/__init__.py +0 -0
  106. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/cli/argument_int_range.py +0 -0
  107. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/cli/main.py +0 -0
  108. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/commands/__init__.py +0 -0
  109. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/commands/about_command.py +0 -0
  110. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/commands/diff_command.py +0 -0
  111. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/commands/dump_grammar_command.py +0 -0
  112. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/commands/version_command.py +0 -0
  113. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/__init__.py +0 -0
  114. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/actions/__init__.py +0 -0
  115. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/actions/import_action.py +0 -0
  116. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/analyzers/document_stats.py +0 -0
  117. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/analyzers/document_uid_analyzer.py +0 -0
  118. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/asset_manager.py +0 -0
  119. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/document_finder.py +0 -0
  120. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/document_iterator.py +0 -0
  121. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/document_meta.py +0 -0
  122. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/document_tree.py +0 -0
  123. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/document_tree_iterator.py +0 -0
  124. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/file_traceability_index.py +0 -0
  125. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/file_tree.py +0 -0
  126. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/finders/__init__.py +0 -0
  127. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/finders/source_files_finder.py +0 -0
  128. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/graph/abstract_bucket.py +0 -0
  129. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/graph/many_to_many_set.py +0 -0
  130. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/graph/one_to_one_dictionary.py +0 -0
  131. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/graph/validations.py +0 -0
  132. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/graph_database.py +0 -0
  133. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/query_engine/grammar.py +0 -0
  134. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/query_engine/query_object.py +0 -0
  135. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/query_engine/query_reader.py +0 -0
  136. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/source_tree.py +0 -0
  137. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/traceability_index.py +0 -0
  138. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/transforms/constants.py +0 -0
  139. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/transforms/create_requirement.py +0 -0
  140. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/transforms/delete_requirement.py +0 -0
  141. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/transforms/delete_section.py +0 -0
  142. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/transforms/section.py +0 -0
  143. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/transforms/update_document_config.py +0 -0
  144. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/transforms/update_grammar.py +0 -0
  145. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/transforms/update_grammar_element.py +0 -0
  146. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/transforms/update_included_document.py +0 -0
  147. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/transforms/update_requirement.py +0 -0
  148. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/transforms/validation_error.py +0 -0
  149. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/core/tree_cycle_detector.py +0 -0
  150. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/__init__.py +0 -0
  151. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/__init__.py +0 -0
  152. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/autogen.css +0 -0
  153. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/base.css +0 -0
  154. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/collapsible_list.js +0 -0
  155. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/collapsible_toc.js +0 -0
  156. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/collapsible_tree.js +0 -0
  157. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/content.css +0 -0
  158. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/controllers/anchor_controller.js +0 -0
  159. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/controllers/copy_to_clipboard_controller.js +0 -0
  160. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/controllers/deletable_field_controller.js +0 -0
  161. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/controllers/draggable_list_controller.js +0 -0
  162. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/controllers/dropdown_menu_controller.js +0 -0
  163. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/controllers/editable_field_controller.js +0 -0
  164. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/controllers/modal_controller.js +0 -0
  165. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/controllers/movable_field_controller.js +0 -0
  166. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/controllers/scroll_into_view_controller.js +0 -0
  167. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/controllers/tabs_controller.js +0 -0
  168. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/diff.css +0 -0
  169. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/diff.js +0 -0
  170. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/element.css +0 -0
  171. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/favicon.ico +0 -0
  172. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/fonts/NotoSans-Italic-VariableFont_wdth,wght.ttf +0 -0
  173. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/fonts/NotoSans-VariableFont_wdth,wght.ttf +0 -0
  174. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/fonts/NotoSansMono-VariableFont_wdth,wght.ttf +0 -0
  175. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/form.css +0 -0
  176. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/html2pdf/bundle.js +0 -0
  177. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/layout.css +0 -0
  178. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/pan_with_space.js +0 -0
  179. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/project_tree.css +0 -0
  180. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/project_tree.js +0 -0
  181. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/requirement-tree.css +0 -0
  182. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/requirement.css +0 -0
  183. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/requirement__temporary.css +0 -0
  184. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/requirements-coverage.js +0 -0
  185. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/resizable_bar.js +0 -0
  186. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/source-code-coverage.js +0 -0
  187. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/source.css +0 -0
  188. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/stimulus.min.js +0 -0
  189. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/table_vew.css +0 -0
  190. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/toc_highlighting.js +0 -0
  191. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/traceability_matrix.css +0 -0
  192. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/tree(not_in_use).css +0 -0
  193. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/turbo.min.js +0 -0
  194. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/viewtype_menu.js +0 -0
  195. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static/zoomable.js +0 -0
  196. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/LICENSE-MATHJAX +0 -0
  197. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/tex.js +0 -0
  198. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
  199. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
  200. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
  201. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
  202. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
  203. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
  204. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
  205. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
  206. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
  207. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
  208. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
  209. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
  210. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
  211. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
  212. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
  213. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
  214. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
  215. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
  216. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
  217. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
  218. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
  219. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
  220. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
  221. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mathjax/tex-mml-chtml.js +0 -0
  222. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/mermaid/mermaid.min.js +0 -0
  223. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/nestor/bundle.umd.js +0 -0
  224. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/_static_extra/rapidoc/rapidoc-min.js +0 -0
  225. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/document_type.py +0 -0
  226. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/form_objects/document_config_form_object.py +0 -0
  227. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/form_objects/form_object.py +0 -0
  228. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/form_objects/grammar_form_object.py +0 -0
  229. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/form_objects/included_document_form_object.py +0 -0
  230. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/form_objects/rows/row_with_grammar_element_form_object.py +0 -0
  231. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/form_objects/section_form_object.py +0 -0
  232. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/__init__.py +0 -0
  233. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/document.py +0 -0
  234. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/document_deep_trace.py +0 -0
  235. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/document_pdf.py +0 -0
  236. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/document_table.py +0 -0
  237. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/document_trace.py +0 -0
  238. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/document_tree.py +0 -0
  239. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/project_statistics.py +0 -0
  240. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/source_file_coverage.py +0 -0
  241. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/source_file_view_generator.py +0 -0
  242. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/traceability_matrix.py +0 -0
  243. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/view_objects/diff_screen_results_view_object.py +0 -0
  244. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/view_objects/diff_screen_view_object.py +0 -0
  245. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/view_objects/document_screen_view_object.py +0 -0
  246. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/view_objects/nestor_view_object.py +0 -0
  247. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/view_objects/project_statistics_view_object.py +0 -0
  248. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/view_objects/project_tree_stats.py +0 -0
  249. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/view_objects/project_tree_view_object.py +0 -0
  250. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/view_objects/search_screen_view_object.py +0 -0
  251. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/view_objects/source_file_view_object.py +0 -0
  252. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/generators/view_objects/traceability_matrix_view_object.py +0 -0
  253. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/html_generator.py +0 -0
  254. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/html_templates.py +0 -0
  255. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/renderers/__init__.py +0 -0
  256. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/renderers/html_fragment_writer.py +0 -0
  257. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/renderers/link_renderer.py +0 -0
  258. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/renderers/markup_renderer.py +0 -0
  259. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/renderers/text_to_html_writer.py +0 -0
  260. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg__separator.jinja.html +0 -0
  261. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_add.jinja.html +0 -0
  262. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_add_above.jinja +0 -0
  263. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_add_below.jinja +0 -0
  264. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_add_child.jinja +0 -0
  265. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_anchor.jinja +0 -0
  266. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_back.jinja.html +0 -0
  267. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_book.jinja.html +0 -0
  268. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_close.jinja +0 -0
  269. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_code.jinja.html +0 -0
  270. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_copy.jinja +0 -0
  271. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_delete.jinja.html +0 -0
  272. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_diff.jinja +0 -0
  273. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_document.jinja.html +0 -0
  274. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_done.jinja +0 -0
  275. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_edit.jinja.html +0 -0
  276. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_expand.jinja.html +0 -0
  277. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_file.jinja +0 -0
  278. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_folder.jinja +0 -0
  279. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_folder_collapse.jinja +0 -0
  280. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_folder_sm.jinja +0 -0
  281. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_fragment.jinja +0 -0
  282. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_fragment_draft.jinja +0 -0
  283. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_gear.jinja.html +0 -0
  284. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_go_to_doc.jinja +0 -0
  285. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_index.jinja.html +0 -0
  286. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_list.jinja.html +0 -0
  287. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_maximize.jinja +0 -0
  288. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_minimize.jinja +0 -0
  289. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_minusminus.jinja.html +0 -0
  290. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_move_down.jinja.html +0 -0
  291. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_move_up.jinja.html +0 -0
  292. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_plusplus.jinja.html +0 -0
  293. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_project.jinja.html +0 -0
  294. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_requirement.jinja.html +0 -0
  295. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_reset.jinja +0 -0
  296. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_search.jinja +0 -0
  297. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_source.jinja.html +0 -0
  298. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_stat.jinja +0 -0
  299. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_sync.jinja +0 -0
  300. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_toc.jinja.html +0 -0
  301. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_res/svg_ico16_tree.jinja +0 -0
  302. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_shared/nav.jinja.html +0 -0
  303. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_shared/requirement_block/files_tree.jinja.html +0 -0
  304. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_shared/requirement_tree_left.jinja.html +0 -0
  305. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_shared/requirement_tree_right.jinja.html +0 -0
  306. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/_shared/tags.jinja.html +0 -0
  307. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/_shared/stream_refresh_document.jinja.html +0 -0
  308. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/_shared/stream_updated_toc.jinja.html +0 -0
  309. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/add_requirement_comment/stream_add_requirement_comment.jinja.html +0 -0
  310. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/add_requirement_relation/stream_add_requirement_relation.jinja.html +0 -0
  311. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/create_requirement/stream_cancel_new_requirement.jinja.html +0 -0
  312. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/create_requirement/stream_created_requirement.jinja.html +0 -0
  313. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/create_requirement/stream_new_requirement.jinja.html +0 -0
  314. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/create_section/stream_cancel_new_section.jinja.html +0 -0
  315. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/create_section/stream_created_section.jinja.html +0 -0
  316. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/create_section/stream_new_section.jinja.html +0 -0
  317. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_confirm_delete_requirement.jinja +0 -0
  318. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_delete_requirement.jinja.html +0 -0
  319. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/delete_section/stream_confirm_delete_section.jinja +0 -0
  320. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/delete_section/stream_delete_section.jinja.html +0 -0
  321. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_cancel_edit_document_config.jinja.html +0 -0
  322. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_edit_document_config.jinja.html +0 -0
  323. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_save_document_config.jinja.html +0 -0
  324. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_edit_requirement.jinja.html +0 -0
  325. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/edit_section/stream_edit_section.jinja.html +0 -0
  326. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/document/edit_section/stream_updated_section.jinja.html +0 -0
  327. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_requirement.jinja +0 -0
  328. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_section.jinja +0 -0
  329. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_form_import_reqif_document.jinja.html +0 -0
  330. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_refresh_with_imported_reqif_document.jinja.html +0 -0
  331. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/project_index/stream_create_document.jinja.html +0 -0
  332. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/actions/project_index/stream_new_document.jinja.html +0 -0
  333. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/base.jinja.html +0 -0
  334. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/anchor/index.jinja +0 -0
  335. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/badge/index.jinja +0 -0
  336. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/button/cancel.jinja +0 -0
  337. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/button/confirm.jinja +0 -0
  338. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/button/delete.jinja +0 -0
  339. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/button/diff.jinja +0 -0
  340. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/button/search.jinja +0 -0
  341. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/button/submit.jinja +0 -0
  342. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/confirm/_usage_example.jinja +0 -0
  343. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/confirm/index.jinja +0 -0
  344. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/field/index.jinja +0 -0
  345. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/form/field/contenteditable/index.jinja +0 -0
  346. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/form/field/file/index.jinja +0 -0
  347. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/form/field/text/index.jinja +0 -0
  348. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/form/field_action_button/index.jinja +0 -0
  349. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/form/index.jinja +0 -0
  350. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/form/row/index.jinja +0 -0
  351. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/example.jinja.html +0 -0
  352. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/frame.jinja +0 -0
  353. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/stream.jinja +0 -0
  354. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/form/row/row_with_comment.jinja +0 -0
  355. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/form/row/row_with_relation.jinja +0 -0
  356. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/form/row/row_with_text_field.jinja +0 -0
  357. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/form/search.jinja +0 -0
  358. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/grammar_form/index.jinja +0 -0
  359. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/grammar_form/row_with_grammar_element/index.jinja +0 -0
  360. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/grammar_form/row_with_new_grammar_element/index.jinja +0 -0
  361. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/grammar_form_element/index.jinja +0 -0
  362. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/grammar_form_element/row_with_custom_field/index.jinja +0 -0
  363. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/grammar_form_element/row_with_relation/index.jinja +0 -0
  364. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/grammar_form_element/row_with_reserved_field/index.jinja +0 -0
  365. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/header/_usage_example.jinja +0 -0
  366. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/header/header_pagetype.jinja +0 -0
  367. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/header/index.jinja +0 -0
  368. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/included_document_form/index.jinja +0 -0
  369. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/modal/_usage_example.jinja +0 -0
  370. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/modal/form.jinja +0 -0
  371. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/modal/index.jinja +0 -0
  372. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node/card.jinja +0 -0
  373. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node/index.jinja +0 -0
  374. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node/node_controls/card.jinja +0 -0
  375. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node/root.jinja +0 -0
  376. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node_field/README.txt +0 -0
  377. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node_field/comments/index.jinja +0 -0
  378. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node_field/document_meta/index.jinja +0 -0
  379. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node_field/document_title/index.jinja +0 -0
  380. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node_field/files/index.jinja +0 -0
  381. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node_field/links/index.jinja +0 -0
  382. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node_field/meta/index.jinja +0 -0
  383. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node_field/multiline/index.jinja +0 -0
  384. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node_field/rationale/index.jinja +0 -0
  385. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node_field/section_h/index.jinja +0 -0
  386. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node_field/section_h/pdf.jinja +0 -0
  387. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node_field/section_title/index.jinja +0 -0
  388. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node_field/statement/index.jinja +0 -0
  389. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node_field/text/index.jinja +0 -0
  390. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node_field/title/index.jinja +0 -0
  391. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node_field/title/pdf.jinja +0 -0
  392. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node_field/uid/index.jinja +0 -0
  393. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/node_field/uid_standalone/index.jinja +0 -0
  394. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/requirement/card.jinja +0 -0
  395. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/requirement/card_extends_card.jinja +0 -0
  396. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/requirement/index.jinja +0 -0
  397. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/requirement/index_extends_node.jinja +0 -0
  398. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/requirement/pdf.jinja +0 -0
  399. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/requirement/tiny.jinja +0 -0
  400. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/requirement/tiny_extends_card.jinja +0 -0
  401. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/resizable_bar/index.jinja +0 -0
  402. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/section/card.jinja +0 -0
  403. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/section/card_extends_card.jinja +0 -0
  404. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/section/index.jinja +0 -0
  405. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/section/index_extends_node.jinja +0 -0
  406. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/section/pdf.jinja +0 -0
  407. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/section/tiny.jinja +0 -0
  408. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/section/tiny_extends_card.jinja +0 -0
  409. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/table_key_value/index.jinja +0 -0
  410. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/text_node/card.jinja +0 -0
  411. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/text_node/card_extends_card.jinja +0 -0
  412. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/text_node/index.jinja +0 -0
  413. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/text_node/index_extends_node.jinja +0 -0
  414. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/text_node/pdf.jinja +0 -0
  415. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/text_node/tiny.jinja +0 -0
  416. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/components/text_node/tiny_extends_card.jinja +0 -0
  417. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/rst/anchor.jinja +0 -0
  418. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/_shared/frame_header_document_title.jinja +0 -0
  419. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_requirement.jinja +0 -0
  420. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_section.jinja +0 -0
  421. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/_shared/frame_toc.jinja +0 -0
  422. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/_shared/project_tree.jinja +0 -0
  423. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/_shared/project_tree_child_documents.jinja +0 -0
  424. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_project_tree.jinja +0 -0
  425. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_toc.jinja +0 -0
  426. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/_shared/toc.jinja +0 -0
  427. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/_shared/viewtype_menu.jinja +0 -0
  428. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/document/actions.jinja +0 -0
  429. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/document/frame_document_config.jinja.html +0 -0
  430. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/document/frame_document_config_edit.jinja.html +0 -0
  431. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +0 -0
  432. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/document/frame_section_form.jinja +0 -0
  433. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/document/index.jinja +0 -0
  434. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/document/main.jinja +0 -0
  435. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/pdf/index.jinja +0 -0
  436. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/pdf/main.jinja +0 -0
  437. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/pdf/template/footer.jinja +0 -0
  438. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/pdf/template/frontpage.jinja +0 -0
  439. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/pdf/template/header.jinja +0 -0
  440. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/pdf/toc.jinja +0 -0
  441. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/table/index.jinja +0 -0
  442. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/table/main.jinja +0 -0
  443. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/traceability/index.jinja +0 -0
  444. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/traceability/main.jinja +0 -0
  445. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/traceability_deep/index.jinja +0 -0
  446. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/document/traceability_deep/main.jinja +0 -0
  447. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/git/changelog_content.jinja +0 -0
  448. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/git/diff_content.jinja +0 -0
  449. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/git/diff_controls.jinja +0 -0
  450. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/git/fields/document_fields.jinja +0 -0
  451. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/git/fields/requirement_fields.jinja +0 -0
  452. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/git/fields/section_fields.jinja +0 -0
  453. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/git/form.jinja +0 -0
  454. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/git/frame_changelog_result.jinja +0 -0
  455. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/git/frame_diff_result.jinja +0 -0
  456. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/git/index.jinja +0 -0
  457. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/git/legend.jinja +0 -0
  458. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/git/main.jinja +0 -0
  459. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/git/nav_tabs.jinja +0 -0
  460. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/git/node/requirement.jinja +0 -0
  461. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/git/node/section.jinja +0 -0
  462. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/git/skeleton.jinja +0 -0
  463. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/git/sync/button.jinja +0 -0
  464. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/nestor/index.jinja +0 -0
  465. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/project_index/actions.jinja +0 -0
  466. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/project_index/frame_form_import_reqif.jinja.html +0 -0
  467. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/project_index/frame_form_new_document.jinja.html +0 -0
  468. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/project_index/frame_project_tree.jinja.html +0 -0
  469. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/project_index/index.jinja +0 -0
  470. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/project_index/main.jinja +0 -0
  471. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/project_index/project_tree.jinja +0 -0
  472. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/project_index/project_tree_file.jinja +0 -0
  473. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/project_index/project_tree_folder.jinja +0 -0
  474. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/project_statistics/index.jinja +0 -0
  475. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/project_statistics/main.jinja +0 -0
  476. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/search/index.jinja +0 -0
  477. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/search/legend.jinja +0 -0
  478. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/search/main.jinja +0 -0
  479. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/source_file_coverage/file.jinja +0 -0
  480. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/source_file_coverage/folder.jinja +0 -0
  481. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/source_file_coverage/index.jinja +0 -0
  482. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/source_file_coverage/main.jinja +0 -0
  483. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/source_file_view/aside.jinja +0 -0
  484. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/source_file_view/header__source_file_name.jinja +0 -0
  485. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/source_file_view/index.jinja +0 -0
  486. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/source_file_view/main.jinja +0 -0
  487. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/source_file_view/requirement.jinja +0 -0
  488. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/traceability_matrix/file.jinja +0 -0
  489. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/traceability_matrix/index.jinja +0 -0
  490. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/traceability_matrix/project_tree_flat_anchor_list.jinja +0 -0
  491. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/traceability_matrix/requirement.jinja.html +0 -0
  492. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/screens/traceability_matrix/resizable_bar_with_project_tree.jinja +0 -0
  493. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/website/document/index.jinja +0 -0
  494. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/templates/websocket.jinja.html +0 -0
  495. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/tools/__init__.py +0 -0
  496. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html/tools/html_embedded.py +0 -0
  497. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html2pdf/html2pdf.py +0 -0
  498. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html2pdf/html2pdf_generator.py +0 -0
  499. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/html2pdf/pdf_print_driver.py +0 -0
  500. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/json/json_generator.py +0 -0
  501. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/rst/__init__.py +0 -0
  502. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/rst/directives/raw_html_role.py +0 -0
  503. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/rst/directives/wildcard_enhanced_image.py +0 -0
  504. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/rst/document_rst_generator.py +0 -0
  505. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/rst/rst_templates.py +0 -0
  506. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/rst/rst_to_html_fragment_writer.py +0 -0
  507. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/rst/templates/requirement.jinja.rst +0 -0
  508. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/rst/writer.py +0 -0
  509. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/spdx/spdx_generator.py +0 -0
  510. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/spdx/spdx_sdoc_container.py +0 -0
  511. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/export/spdx/spdx_to_sdoc_converter.py +0 -0
  512. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/git/change.py +0 -0
  513. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/git/change_generator.py +0 -0
  514. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/git/git_client.py +0 -0
  515. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/git/project_diff_analyzer.py +0 -0
  516. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/__init__.py +0 -0
  517. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/auto_described.py +0 -0
  518. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/cast.py +0 -0
  519. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/diff.py +0 -0
  520. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/exception.py +0 -0
  521. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/file_modification_time.py +0 -0
  522. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/file_system.py +0 -0
  523. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/form_data.py +0 -0
  524. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/git_client.py +0 -0
  525. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/math.py +0 -0
  526. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/md5.py +0 -0
  527. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/mid.py +0 -0
  528. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/ordered_set.py +0 -0
  529. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/parallelizer.py +0 -0
  530. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/path_filter.py +0 -0
  531. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/paths.py +0 -0
  532. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/pickle.py +0 -0
  533. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/rst.py +0 -0
  534. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/sha256.py +0 -0
  535. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/shard.py +0 -0
  536. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/sorting.py +0 -0
  537. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/string.py +0 -0
  538. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/textx.py +0 -0
  539. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/helpers/timing.py +0 -0
  540. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/server/__init__.py +0 -0
  541. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/server/app.py +0 -0
  542. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/server/config.py +0 -0
  543. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/server/error_object.py +0 -0
  544. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/server/helpers/turbo.py +0 -0
  545. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/server/main.py +0 -0
  546. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/server/routers/other_router.py +0 -0
  547. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc/server/server.py +0 -0
  548. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/strictdoc.toml +0 -0
  549. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/tasks_wine.py +0 -0
  550. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/tools/confluence_html_table_import.py +0 -0
  551. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/tools/link_health.py +0 -0
  552. {strictdoc-0.0.57a2 → strictdoc-0.0.58}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strictdoc
3
- Version: 0.0.57a2
3
+ Version: 0.0.58
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/
@@ -23,7 +23,6 @@ Requires-Python: >=3.7
23
23
  Requires-Dist: beautifulsoup4==4.*,>=4.12.0
24
24
  Requires-Dist: docutils==0.*,>=0.16
25
25
  Requires-Dist: fastapi>=0.83.0
26
- Requires-Dist: graphviz>=0.20.1
27
26
  Requires-Dist: html5lib>=1.1
28
27
  Requires-Dist: jinja2>=2.11.2
29
28
  Requires-Dist: lxml==4.*,>=4.6.2
@@ -50,7 +50,6 @@ classifiers = [
50
50
  dependencies = [
51
51
  "textx >= 3.0.0, == 3.*",
52
52
  "jinja2 >= 2.11.2",
53
- "graphviz >= 0.20.1",
54
53
  # Reading project config from strictdoc.toml file.
55
54
  "toml",
56
55
 
@@ -1,6 +1,6 @@
1
1
  from strictdoc.core.environment import SDocRuntimeEnvironment
2
2
 
3
- __version__ = "0.0.57a2"
3
+ __version__ = "0.0.58"
4
4
 
5
5
 
6
6
  environment = SDocRuntimeEnvironment(__file__)
@@ -347,18 +347,6 @@ class P01_ReqIFToSDocConverter:
347
347
  else:
348
348
  raise NotImplementedError(spec_object, attribute_map)
349
349
 
350
- # FIXME: REMOVE this.
351
- free_texts = []
352
- if ReqIFChapterField.TEXT in spec_object.attribute_map:
353
- free_text = unescape(
354
- spec_object.attribute_map[ReqIFChapterField.TEXT].value
355
- )
356
- free_texts.append(
357
- FreeText(
358
- parent=None,
359
- parts=[free_text],
360
- )
361
- )
362
350
  # Sanitize the title. Titles can also come from XHTML attributes with
363
351
  # custom newlines such as:
364
352
  # <ATTRIBUTE-VALUE-XHTML>
@@ -376,10 +364,31 @@ class P01_ReqIFToSDocConverter:
376
364
  custom_level=None,
377
365
  title=section_title,
378
366
  requirement_prefix=None,
379
- free_texts=free_texts,
367
+ free_texts=[],
380
368
  section_contents=[],
381
369
  )
382
370
  section.ng_level = level
371
+
372
+ if ReqIFChapterField.TEXT in spec_object.attribute_map:
373
+ free_text = unescape(
374
+ spec_object.attribute_map[ReqIFChapterField.TEXT].value
375
+ )
376
+ node_field = SDocNodeField.create_from_string(
377
+ None,
378
+ field_name="STATEMENT",
379
+ field_value=free_text,
380
+ multiline=True,
381
+ )
382
+ node: SDocNode = SDocNode(
383
+ parent=section,
384
+ requirement_type="TEXT",
385
+ mid=None,
386
+ fields=[node_field],
387
+ relations=[],
388
+ )
389
+ node_field.parent = node
390
+ section.section_contents.append(node)
391
+
383
392
  return section
384
393
 
385
394
  @staticmethod
@@ -40,7 +40,7 @@ class DocumentConfig: # pylint: disable=too-many-instance-attributes
40
40
  requirement_style: Optional[str],
41
41
  requirement_in_toc: Optional[str],
42
42
  default_view: Optional[str],
43
- ):
43
+ ) -> None:
44
44
  self.parent = parent
45
45
  self.version: Optional[str] = version
46
46
 
@@ -61,7 +61,7 @@ class DocumentConfig: # pylint: disable=too-many-instance-attributes
61
61
  else (False if root == "False" else None)
62
62
  )
63
63
 
64
- self.markup = markup
64
+ self.markup: Optional[str] = markup
65
65
  self.auto_levels: bool = auto_levels is None or auto_levels == "On"
66
66
 
67
67
  if layout is not None:
@@ -81,6 +81,11 @@ class DocumentConfig: # pylint: disable=too-many-instance-attributes
81
81
  self.ng_line_start: int = 0
82
82
  self.ng_col_start: int = 0
83
83
 
84
+ def get_markup(self) -> str:
85
+ if self.markup is None:
86
+ return "RST"
87
+ return self.markup
88
+
84
89
  def get_requirement_style_mode(self) -> str:
85
90
  if (
86
91
  self.requirement_style is None
@@ -136,6 +136,7 @@ class SDocValidator:
136
136
  requirement: SDocNode,
137
137
  document_grammar: DocumentGrammar,
138
138
  path_to_sdoc_file: str,
139
+ auto_uid_mode: bool = True,
139
140
  ):
140
141
  if (
141
142
  requirement.requirement_type
@@ -185,6 +186,7 @@ class SDocValidator:
185
186
  requirement_field=requirement_field,
186
187
  grammar_field=grammar_field,
187
188
  path_to_sdoc_file=path_to_sdoc_file,
189
+ auto_uid_mode=auto_uid_mode,
188
190
  )
189
191
  )
190
192
  except StopIteration:
@@ -205,7 +207,9 @@ class SDocValidator:
205
207
  grammar_field = next(grammar_fields_iterator, None)
206
208
  requirement_field = next(requirement_field_iterator, None)
207
209
  else:
208
- assert not grammar_field.required
210
+ assert not grammar_field.required or (
211
+ grammar_field.title == "UID" and auto_uid_mode
212
+ )
209
213
  grammar_field = next(grammar_fields_iterator, None)
210
214
 
211
215
  # REFS validation.
@@ -227,6 +231,7 @@ class SDocValidator:
227
231
  requirement_field: SDocNodeField,
228
232
  grammar_field: GrammarElementField,
229
233
  path_to_sdoc_file: str,
234
+ auto_uid_mode: bool = True,
230
235
  ) -> bool:
231
236
  if grammar_field is None:
232
237
  if requirement_field is None:
@@ -256,6 +261,25 @@ class SDocValidator:
256
261
 
257
262
  if grammar_field.title != requirement_field.field_name:
258
263
  if grammar_field.required:
264
+ if (
265
+ grammar_field.title
266
+ not in requirement.ordered_fields_lookup.keys()
267
+ ):
268
+ # A special case: The Manage UID command auto-generates the UID,
269
+ # so the field presence validation has to be relaxed.
270
+ # The GitHub issue report:
271
+ # manage auto-uid: UID field REQUIRED True leads to an error
272
+ # https://github.com/strictdoc-project/strictdoc/issues/1896
273
+ if grammar_field.title == "UID" and auto_uid_mode:
274
+ return False
275
+
276
+ raise StrictDocSemanticError.missing_required_field(
277
+ node=requirement,
278
+ grammar_field=grammar_field,
279
+ document_grammar=document_grammar,
280
+ path_to_sdoc_file=path_to_sdoc_file,
281
+ )
282
+
259
283
  raise StrictDocSemanticError.wrong_field_order(
260
284
  node=requirement,
261
285
  document_grammar=document_grammar,
@@ -74,7 +74,7 @@ class SDWriter:
74
74
  return document_output
75
75
 
76
76
  def write_with_fragments(
77
- self, document: SDocDocument
77
+ self, document: SDocDocument, convert_free_text_to_text: bool = False
78
78
  ) -> Tuple[str, Dict[str, str]]:
79
79
  fragments_dict: Dict[str, str] = {}
80
80
 
@@ -234,8 +234,12 @@ class SDWriter:
234
234
 
235
235
  output += "\n"
236
236
 
237
- output += self._print_node(document, document, document_iterator)
238
-
237
+ output += self._print_node(
238
+ document,
239
+ document,
240
+ document_iterator,
241
+ convert_free_text_to_text=convert_free_text_to_text,
242
+ )
239
243
  output = output.rstrip()
240
244
  output += "\n"
241
245
 
@@ -246,6 +250,7 @@ class SDWriter:
246
250
  root_node: Union[SDocDocument, SDocSection, SDocNode, DocumentFromFile],
247
251
  document: SDocDocument,
248
252
  document_iterator: DocumentCachingIterator,
253
+ convert_free_text_to_text: bool = False,
249
254
  ):
250
255
  assert isinstance(
251
256
  document_iterator, DocumentCachingIterator
@@ -258,7 +263,10 @@ class SDWriter:
258
263
  if not node_.ng_whitelisted:
259
264
  continue
260
265
  output += self._print_node(
261
- node_, document, document_iterator=document_iterator
266
+ node_,
267
+ document,
268
+ document_iterator=document_iterator,
269
+ convert_free_text_to_text=convert_free_text_to_text,
262
270
  )
263
271
  return output
264
272
 
@@ -269,14 +277,20 @@ class SDWriter:
269
277
  return self._print_document_from_file(document_from_file)
270
278
 
271
279
  if isinstance(root_node, SDocSection):
272
- return self._print_section(root_node, document, document_iterator)
280
+ return self._print_section(
281
+ root_node,
282
+ document,
283
+ document_iterator,
284
+ convert_free_text_to_text,
285
+ )
273
286
 
274
287
  elif isinstance(root_node, SDocNode):
275
288
  output = ""
276
289
 
277
290
  # Special case for backward compatibility.
278
291
  if (
279
- root_node.requirement_type == "TEXT"
292
+ not convert_free_text_to_text
293
+ and root_node.requirement_type == "TEXT"
280
294
  and root_node.basic_free_text
281
295
  ):
282
296
  output += self._print_free_text(root_node)
@@ -330,6 +344,7 @@ class SDWriter:
330
344
  section: SDocSection,
331
345
  document: SDocDocument,
332
346
  iterator: DocumentCachingIterator,
347
+ convert_free_text_to_text: bool = False,
333
348
  ):
334
349
  assert isinstance(section, SDocSection)
335
350
  output = ""
@@ -359,14 +374,14 @@ class SDWriter:
359
374
  output += section.requirement_prefix
360
375
  output += "\n"
361
376
 
362
- for free_text in section.free_texts:
363
- output += "\n"
364
- output += self._print_free_text(free_text)
365
377
  output += "\n"
366
378
 
367
379
  for node_ in section.section_contents:
368
380
  output += self._print_node(
369
- node_, document, document_iterator=iterator
381
+ node_,
382
+ document,
383
+ document_iterator=iterator,
384
+ convert_free_text_to_text=convert_free_text_to_text,
370
385
  )
371
386
 
372
387
  output += "[/SECTION]"
@@ -73,11 +73,13 @@ class PassthroughCommandConfig:
73
73
  output_dir: Optional[str],
74
74
  filter_requirements: Optional[str],
75
75
  filter_sections: Optional[str],
76
+ free_text_to_text: bool,
76
77
  ):
77
78
  self.input_file = input_file
78
79
  self.output_dir: Optional[str] = output_dir
79
80
  self.filter_requirements: Optional[str] = filter_requirements
80
81
  self.filter_sections: Optional[str] = filter_sections
82
+ self.free_text_to_text: bool = free_text_to_text
81
83
 
82
84
 
83
85
  @auto_described
@@ -263,6 +265,7 @@ class SDocArgsParser:
263
265
  self.args.output_dir,
264
266
  filter_requirements=self.args.filter_requirements,
265
267
  filter_sections=self.args.filter_sections,
268
+ free_text_to_text=self.args.free_text_to_text,
266
269
  )
267
270
 
268
271
  def get_export_config(self) -> ExportCommandConfig:
@@ -16,7 +16,6 @@ EXPORT_FORMATS = [
16
16
  "reqif-sdoc",
17
17
  "reqifz-sdoc",
18
18
  "spdx",
19
- "dot",
20
19
  ]
21
20
  EXCEL_PARSERS = ["basic"]
22
21
 
@@ -386,6 +385,14 @@ class CommandParserBuilder:
386
385
  type=str,
387
386
  help="Filter which sections will be exported.",
388
387
  )
388
+ command_parser_passthrough.add_argument(
389
+ "--free-text-to-text",
390
+ action="store_true",
391
+ help=(
392
+ "This option makes all FREETEXT nodes to be converted to the new "
393
+ "TEXT nodes."
394
+ ),
395
+ )
389
396
 
390
397
  @staticmethod
391
398
  def add_dump_command(parent_command_parser):
@@ -28,6 +28,7 @@ class ManageAutoUIDCommand:
28
28
  TraceabilityIndexBuilder.create(
29
29
  project_config=project_config,
30
30
  parallelizer=parallelizer,
31
+ auto_uid_mode=True,
31
32
  )
32
33
  )
33
34
  except DocumentTreeError as exc:
@@ -10,7 +10,6 @@ from strictdoc.backend.sdoc.errors.document_tree_error import DocumentTreeError
10
10
  from strictdoc.core.project_config import ProjectConfig
11
11
  from strictdoc.core.traceability_index import TraceabilityIndex
12
12
  from strictdoc.core.traceability_index_builder import TraceabilityIndexBuilder
13
- from strictdoc.export.dot.document_dot_generator import DocumentDotGenerator
14
13
  from strictdoc.export.html.html_generator import HTMLGenerator
15
14
  from strictdoc.export.html.html_templates import HTMLTemplates
16
15
  from strictdoc.export.html2pdf.html2pdf_generator import HTML2PDFGenerator
@@ -131,18 +130,6 @@ class ExportAction:
131
130
  self.project_config, self.traceability_index, output_dot_root
132
131
  )
133
132
 
134
- if "dot" in self.project_config.export_formats:
135
- output_dot_root = os.path.join(
136
- self.project_config.export_output_dir, "dot"
137
- )
138
- Path(output_dot_root).mkdir(parents=True, exist_ok=True)
139
- DocumentDotGenerator("profile1").export_tree(
140
- self.traceability_index, output_dot_root
141
- )
142
- DocumentDotGenerator("profile2").export_tree(
143
- self.traceability_index, output_dot_root
144
- )
145
-
146
133
  if "json" in self.project_config.export_formats:
147
134
  output_json_root = os.path.join(
148
135
  self.project_config.export_output_dir, "json"
@@ -37,7 +37,10 @@ class PassthroughAction:
37
37
  else os.path.join(os.getcwd(), "output", "sdoc")
38
38
  )
39
39
  for document in traceability_index.document_tree.document_list:
40
- output, fragments_dict = writer.write_with_fragments(document)
40
+ output, fragments_dict = writer.write_with_fragments(
41
+ document,
42
+ convert_free_text_to_text=project_config.passthrough_free_text_to_text,
43
+ )
41
44
 
42
45
  path_to_output_file_dir: str = os.path.join(
43
46
  output_dir, document.meta.input_doc_dir_rel_path.relative_path
@@ -78,22 +78,6 @@ class SDocRuntimeEnvironment:
78
78
  self.path_to_strictdoc, "strictdoc", "export", "rst", "templates"
79
79
  )
80
80
 
81
- def get_path_to_dot_templates(self):
82
- if self.is_py_installer:
83
- # If the application is run as a bundle, the PyInstaller bootloader
84
- # extends the sys module by a flag frozen=True and sets the app
85
- # path into variable _MEIPASS'.
86
- bundle_dir = (
87
- sys._MEIPASS # pylint: disable=protected-access, no-member
88
- )
89
- return os.path.join(bundle_dir, "templates/dot")
90
- if self.is_nuitka:
91
- return os.path.join(self.path_to_strictdoc, "templates/dot")
92
- # Normal Python
93
- return os.path.join(
94
- self.path_to_strictdoc, "strictdoc", "export", "dot", "templates"
95
- )
96
-
97
81
  def get_path_to_html_templates(self):
98
82
  if self.is_py_installer:
99
83
  # If the application is run as a bundle, the PyInstaller bootloader
@@ -127,6 +127,7 @@ class ProjectConfig: # pylint: disable=too-many-instance-attributes
127
127
 
128
128
  self.passthrough_input_path: Optional[str] = None
129
129
  self.passthrough_output_dir: Optional[str] = None
130
+ self.passthrough_free_text_to_text: bool = False
130
131
 
131
132
  self.excel_export_fields: Optional[List[str]] = None
132
133
 
@@ -218,6 +219,7 @@ class ProjectConfig: # pylint: disable=too-many-instance-attributes
218
219
  def integrate_passthrough_config(self, config: PassthroughCommandConfig):
219
220
  self.passthrough_input_path = config.input_file
220
221
  self.passthrough_output_dir = config.output_dir
222
+ self.passthrough_free_text_to_text = config.free_text_to_text
221
223
  self.filter_requirements = config.filter_requirements
222
224
  self.filter_sections = config.filter_sections
223
225
 
@@ -62,7 +62,8 @@ class TraceabilityIndexBuilder:
62
62
  *,
63
63
  project_config: ProjectConfig,
64
64
  parallelizer,
65
- skip_source_files=False,
65
+ skip_source_files: bool = False,
66
+ auto_uid_mode: bool = False,
66
67
  ) -> TraceabilityIndex:
67
68
  # TODO: It would be great to hide this code behind --development flag.
68
69
  # There is no need for this to be activated in the Pip-released builds.
@@ -102,7 +103,9 @@ class TraceabilityIndexBuilder:
102
103
  # - assets
103
104
  # - runtime configuration
104
105
  traceability_index: TraceabilityIndex = (
105
- TraceabilityIndexBuilder.create_from_document_tree(document_tree)
106
+ TraceabilityIndexBuilder.create_from_document_tree(
107
+ document_tree, auto_uid_mode
108
+ )
106
109
  )
107
110
  traceability_index.document_tree = document_tree
108
111
  traceability_index.asset_manager = asset_manager
@@ -193,6 +196,7 @@ class TraceabilityIndexBuilder:
193
196
  @timing_decorator("Build traceability graph")
194
197
  def create_from_document_tree(
195
198
  document_tree: DocumentTree,
199
+ auto_uid_mode: bool = True,
196
200
  ) -> TraceabilityIndex:
197
201
  # FIXME: Too many things going on below. Would be great to simplify this
198
202
  # workflow.
@@ -360,6 +364,7 @@ class TraceabilityIndexBuilder:
360
364
  node,
361
365
  document_grammar=document.grammar,
362
366
  path_to_sdoc_file=document.meta.input_doc_full_path,
367
+ auto_uid_mode=auto_uid_mode,
363
368
  )
364
369
  except StrictDocSemanticError as exc:
365
370
  print(exc.to_print_message()) # noqa: T201
@@ -7,6 +7,10 @@ sdoc-node {
7
7
  position: relative;
8
8
  }
9
9
 
10
+ sdoc-node[show-node-type-name] sdoc-requirement {
11
+ margin-top: calc(2 * var(--base-rhythm));
12
+ }
13
+
10
14
  sdoc-node[show-node-type-name]::before {
11
15
  /* content: '[' attr(show-node-type-name) ']'; */
12
16
  content: attr(show-node-type-name);
@@ -256,7 +256,7 @@ class GrammarElementFormObject(ErrorObject):
256
256
  else:
257
257
  fields_so_far.add(field.field_name)
258
258
 
259
- if len(self.relations) == 0:
259
+ if len(self.relations) == 0 and self.element_name != "TEXT":
260
260
  self.add_error(
261
261
  "Relations_Row",
262
262
  (
@@ -2,7 +2,7 @@
2
2
  import html
3
3
  from collections import defaultdict
4
4
  from enum import Enum
5
- from typing import Dict, List, Optional, Set
5
+ from typing import Dict, List, Optional, Set, Union
6
6
 
7
7
  from starlette.datastructures import FormData
8
8
 
@@ -24,6 +24,7 @@ from strictdoc.backend.sdoc.models.type_system import (
24
24
  FileEntry,
25
25
  FileEntryFormat,
26
26
  GrammarElementField,
27
+ GrammarElementFieldMultipleChoice,
27
28
  GrammarElementFieldSingleChoice,
28
29
  RequirementFieldType,
29
30
  )
@@ -100,6 +101,7 @@ class RequirementFormField:
100
101
  if grammar_field.gef_type in (
101
102
  RequirementFieldType.STRING,
102
103
  RequirementFieldType.SINGLE_CHOICE,
104
+ RequirementFieldType.MULTIPLE_CHOICE,
103
105
  ):
104
106
  return RequirementFormField(
105
107
  field_mid=MID.create(),
@@ -123,6 +125,7 @@ class RequirementFormField:
123
125
  if grammar_field.gef_type in (
124
126
  RequirementFieldType.STRING,
125
127
  RequirementFieldType.SINGLE_CHOICE,
128
+ RequirementFieldType.MULTIPLE_CHOICE,
126
129
  ):
127
130
  field_value = requirement_field.get_text_value()
128
131
  escaped_field_value = html.escape(field_value)
@@ -372,9 +375,14 @@ class RequirementFormObject(ErrorObject):
372
375
  *,
373
376
  document: SDocDocument,
374
377
  context_document_mid: str,
375
- next_uid: str,
378
+ next_uid: Optional[str],
376
379
  element_type: str,
377
380
  ) -> "RequirementFormObject":
381
+ """
382
+ For now, the next_uid cannot be non-None for TEXT nodes. This will likely
383
+ change in the future.
384
+ """
385
+
378
386
  assert document.grammar is not None
379
387
 
380
388
  new_requirement_mid: MID = MID.create()
@@ -406,7 +414,7 @@ class RequirementFormObject(ErrorObject):
406
414
  )
407
415
  )
408
416
  form_fields.append(form_field)
409
- if form_field.field_name == "UID":
417
+ if form_field.field_name == "UID" and next_uid is not None:
410
418
  form_field.field_unescaped_value = next_uid
411
419
  form_field.field_escaped_value = next_uid
412
420
 
@@ -733,7 +741,10 @@ class RequirementFormObject(ErrorObject):
733
741
  # STATEMENT/DESCRIPTION/CONTENT field has already been validated. Skip.
734
742
  if grammar_element_field_.title == statement_field_name:
735
743
  continue
736
- if grammar_element_field_.required:
744
+ if (
745
+ grammar_element_field_.gef_type == RequirementFieldType.STRING
746
+ and grammar_element_field_.required
747
+ ):
737
748
  for form_field_ in self.fields[grammar_element_field_.title]:
738
749
  field_value = form_field_.field_unescaped_value
739
750
  if field_value is None or len(field_value) == 0:
@@ -745,27 +756,12 @@ class RequirementFormObject(ErrorObject):
745
756
  f"enter TBD (to be done) or TBC (to be confirmed)."
746
757
  ),
747
758
  )
748
- if (
749
- grammar_element_field_.gef_type
750
- == RequirementFieldType.SINGLE_CHOICE
759
+
760
+ if grammar_element_field_.gef_type in (
761
+ RequirementFieldType.SINGLE_CHOICE,
762
+ RequirementFieldType.MULTIPLE_CHOICE,
751
763
  ):
752
- single_choice_grammar_element_field: GrammarElementFieldSingleChoice = assert_cast(
753
- grammar_element_field_, GrammarElementFieldSingleChoice
754
- )
755
- field_value = self.fields[grammar_element_field_.title][
756
- 0
757
- ].field_unescaped_value
758
- if (
759
- field_value
760
- not in single_choice_grammar_element_field.options
761
- ):
762
- self.add_error(
763
- grammar_element_field_.title,
764
- (
765
- f"Node's {grammar_element_field_.title} must be a value one of "
766
- f"{', '.join(single_choice_grammar_element_field.options)}."
767
- ),
768
- )
764
+ self._validate_choice(grammar_element_field_)
769
765
 
770
766
  requirement_uid: Optional[str] = (
771
767
  self.fields["UID"][0].field_unescaped_value
@@ -892,3 +888,56 @@ class RequirementFormObject(ErrorObject):
892
888
  reference_field.validation_messages.append(
893
889
  error_.to_validation_message()
894
890
  )
891
+
892
+ def _validate_choice(self, grammar_element_field: GrammarElementField):
893
+ field_0 = self.fields[grammar_element_field.title][0]
894
+ if (
895
+ len(field_0.field_unescaped_value) == 0
896
+ and not grammar_element_field.required
897
+ ):
898
+ # The empty choice fields are allowed if the field is not REQUIRED.
899
+ return
900
+
901
+ choice_grammar_element_field: Union[
902
+ GrammarElementFieldSingleChoice,
903
+ GrammarElementFieldMultipleChoice,
904
+ ] = assert_cast(
905
+ grammar_element_field,
906
+ (
907
+ GrammarElementFieldSingleChoice,
908
+ GrammarElementFieldMultipleChoice,
909
+ ),
910
+ )
911
+ if (
912
+ grammar_element_field.gef_type == RequirementFieldType.SINGLE_CHOICE
913
+ and field_0.field_unescaped_value
914
+ not in choice_grammar_element_field.options
915
+ ):
916
+ self.add_error(
917
+ grammar_element_field.title,
918
+ (
919
+ f"Node's {grammar_element_field.title} must be a value one of "
920
+ f"{', '.join(choice_grammar_element_field.options)}."
921
+ ),
922
+ )
923
+ elif (
924
+ grammar_element_field.gef_type
925
+ == RequirementFieldType.MULTIPLE_CHOICE
926
+ ):
927
+ choices = [
928
+ choice.strip()
929
+ for choice in field_0.field_unescaped_value.split(",")
930
+ ]
931
+ if all(
932
+ choice in choice_grammar_element_field.options
933
+ for choice in choices
934
+ ):
935
+ field_0.field_unescaped_value = ", ".join(choices)
936
+ else:
937
+ self.add_error(
938
+ grammar_element_field.title,
939
+ (
940
+ f"Node's {grammar_element_field.title} must not contain"
941
+ f" values other than {', '.join(choice_grammar_element_field.options)}."
942
+ ),
943
+ )