strictdoc 0.0.56a3__tar.gz → 0.0.57a1__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 (567) hide show
  1. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/PKG-INFO +1 -1
  2. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/__init__.py +1 -1
  3. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/excel/export/excel_generator.py +7 -4
  4. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/excel/import_/excel_to_sdoc_converter.py +10 -6
  5. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/p01_sdoc/reqif_to_sdoc_converter.py +16 -8
  6. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py +11 -6
  7. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/p02_simple/reqif_to_sdoc_converter.py +11 -9
  8. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/p02_simple/sdoc_to_reqif_converter.py +3 -3
  9. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/p11_polarion/reqif_to_sdoc_converter.py +13 -13
  10. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/error_handling.py +5 -5
  11. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/grammar/grammar.py +38 -4
  12. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/grammar/grammar_builder.py +14 -11
  13. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/grammar/grammar_grammar.py +6 -0
  14. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/grammar/type_system.py +1 -22
  15. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/grammar_reader.py +30 -13
  16. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/anchor.py +3 -0
  17. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/document.py +1 -1
  18. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/document_grammar.py +40 -11
  19. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/node.py +109 -69
  20. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/object_factory.py +21 -21
  21. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/section.py +4 -4
  22. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/processor.py +27 -51
  23. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/reader.py +10 -8
  24. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/validations/sdoc_validator.py +46 -9
  25. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/writer.py +7 -11
  26. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/graph_database.py +4 -0
  27. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/query_engine/query_object.py +1 -1
  28. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/traceability_index.py +29 -15
  29. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/traceability_index_builder.py +33 -0
  30. strictdoc-0.0.57a1/strictdoc/core/transforms/delete_requirement.py +53 -0
  31. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/transforms/delete_section.py +17 -0
  32. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/transforms/section.py +9 -5
  33. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/transforms/update_requirement.py +4 -2
  34. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/transforms/validation_error.py +6 -0
  35. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/anchor_controller.js +1 -0
  36. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/element.css +4 -0
  37. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/requirement.css +14 -1
  38. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/form_objects/requirement_form_object.py +60 -13
  39. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/project_statistics.py +1 -1
  40. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/document_screen_view_object.py +47 -10
  41. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/search_screen_view_object.py +5 -0
  42. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/renderers/markup_renderer.py +56 -51
  43. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_confirm_delete_requirement.jinja +1 -0
  44. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/delete_section/stream_confirm_delete_section.jinja +1 -0
  45. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/edit_section/stream_updated_section.jinja.html +1 -1
  46. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/anchor/index.jinja +5 -5
  47. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/confirm/index.jinja +13 -0
  48. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/node/index.jinja +1 -1
  49. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/comments/index.jinja +3 -3
  50. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/index_extends_node.jinja +2 -1
  51. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/meta/index.jinja +1 -1
  52. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/multiline/index.jinja +1 -1
  53. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/rationale/index.jinja +1 -1
  54. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/statement/index.jinja +3 -3
  55. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/index_extends_node.jinja +2 -1
  56. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/card.jinja +10 -0
  57. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/card_extends_card.jinja +5 -0
  58. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/h/index.jinja +33 -0
  59. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/h/pdf.jinja +19 -0
  60. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/index.jinja +10 -0
  61. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/index_extends_node.jinja +8 -0
  62. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/pdf.jinja +11 -0
  63. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/text/index.jinja +7 -0
  64. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/tiny.jinja +8 -0
  65. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/tiny_extends_card.jinja +5 -0
  66. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/title/index.jinja +23 -0
  67. strictdoc-0.0.57a1/strictdoc/export/html/templates/components/text_node/uid/index.jinja +10 -0
  68. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/rst/anchor.jinja +9 -4
  69. strictdoc-0.0.57a1/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +25 -0
  70. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/table/main.jinja +6 -8
  71. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/json/json_generator.py +9 -10
  72. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/rst/templates/requirement.jinja.rst +6 -6
  73. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/rst/writer.py +3 -8
  74. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/spdx/spdx_to_sdoc_converter.py +1 -1
  75. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/git/project_diff_analyzer.py +13 -11
  76. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/string.py +6 -0
  77. strictdoc-0.0.57a1/strictdoc/helpers/textx.py +30 -0
  78. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/server/routers/main_router.py +82 -60
  79. strictdoc-0.0.56a3/strictdoc/export/html/templates/actions/document/edit_requirement/stream_update_requirement.jinja.html +0 -5
  80. strictdoc-0.0.56a3/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +0 -22
  81. strictdoc-0.0.56a3/strictdoc/helpers/textx.py +0 -9
  82. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/.gitignore +0 -0
  83. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/CHANGELOG.md +0 -0
  84. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/CONTRIBUTING.md +0 -0
  85. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/Dockerfile +0 -0
  86. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/LICENSE +0 -0
  87. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/NOTICE +0 -0
  88. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/README.md +0 -0
  89. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/docs_extra/DO178_requirements.sdoc +0 -0
  90. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/docs_extra/Zephyr_requirements.sdoc +0 -0
  91. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/drafts/requirements/strictdoc.toml +0 -0
  92. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/drafts/rst_examples.sdoc +0 -0
  93. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/drafts/strictdoc_low_level_requirements.sdoc_.sdoc +0 -0
  94. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/mypy.ini +0 -0
  95. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/pyproject.toml +0 -0
  96. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/requirements.bootstrap.txt +0 -0
  97. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/requirements.check.txt +0 -0
  98. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/ruff.toml +0 -0
  99. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/__init__.py +0 -0
  100. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/excel/__init__.py +0 -0
  101. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/excel/excel_import.py +0 -0
  102. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/excel/export/__init__.py +0 -0
  103. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/excel/import_/__init__.py +0 -0
  104. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/__init__.py +0 -0
  105. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/p01_sdoc/__init__.py +0 -0
  106. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/p02_simple/__init__.py +0 -0
  107. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/p11_polarion/__init__.py +0 -0
  108. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/reqif_export.py +0 -0
  109. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/reqif_import.py +0 -0
  110. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/reqif/sdoc_reqif_fields.py +0 -0
  111. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/__init__.py +0 -0
  112. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/constants.py +0 -0
  113. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/document_reference.py +0 -0
  114. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/errors/__init__.py +0 -0
  115. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/errors/document_tree_error.py +0 -0
  116. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/free_text_reader.py +0 -0
  117. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/grammar/__init__.py +0 -0
  118. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/__init__.py +0 -0
  119. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/constants.py +0 -0
  120. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/document_config.py +0 -0
  121. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/document_from_file.py +0 -0
  122. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/document_view.py +0 -0
  123. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/free_text.py +0 -0
  124. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/inline_link.py +0 -0
  125. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/object.py +0 -0
  126. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/reference.py +0 -0
  127. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/models/type_system.py +0 -0
  128. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/pickle_cache.py +0 -0
  129. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc/validations/__init__.py +0 -0
  130. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc_source_code/__init__.py +0 -0
  131. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc_source_code/grammar.py +0 -0
  132. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc_source_code/models/__init__.py +0 -0
  133. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc_source_code/models/range_marker.py +0 -0
  134. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc_source_code/models/requirement_marker.py +0 -0
  135. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc_source_code/models/source_file_info.py +0 -0
  136. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/backend/sdoc_source_code/reader.py +0 -0
  137. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/cli/__init__.py +0 -0
  138. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/cli/argument_int_range.py +0 -0
  139. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/cli/cli_arg_parser.py +0 -0
  140. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/cli/command_parser_builder.py +0 -0
  141. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/cli/main.py +0 -0
  142. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/commands/__init__.py +0 -0
  143. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/commands/about_command.py +0 -0
  144. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/commands/diff_command.py +0 -0
  145. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/commands/dump_grammar_command.py +0 -0
  146. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/commands/manage_autouid_command.py +0 -0
  147. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/commands/version_command.py +0 -0
  148. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/__init__.py +0 -0
  149. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/actions/__init__.py +0 -0
  150. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/actions/export_action.py +0 -0
  151. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/actions/import_action.py +0 -0
  152. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/actions/passthrough_action.py +0 -0
  153. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/analyzers/document_stats.py +0 -0
  154. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/analyzers/document_uid_analyzer.py +0 -0
  155. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/asset_manager.py +0 -0
  156. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/document_finder.py +0 -0
  157. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/document_iterator.py +0 -0
  158. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/document_meta.py +0 -0
  159. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/document_tree.py +0 -0
  160. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/document_tree_iterator.py +0 -0
  161. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/environment.py +0 -0
  162. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/file_traceability_index.py +0 -0
  163. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/file_tree.py +0 -0
  164. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/finders/__init__.py +0 -0
  165. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/finders/source_files_finder.py +0 -0
  166. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/graph/abstract_bucket.py +0 -0
  167. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/graph/many_to_many_set.py +0 -0
  168. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/graph/one_to_one_dictionary.py +0 -0
  169. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/graph/validations.py +0 -0
  170. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/project_config.py +0 -0
  171. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/query_engine/grammar.py +0 -0
  172. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/query_engine/query_reader.py +0 -0
  173. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/source_tree.py +0 -0
  174. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/transforms/constants.py +0 -0
  175. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/transforms/create_requirement.py +0 -0
  176. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/transforms/update_document_config.py +0 -0
  177. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/transforms/update_free_text.py +0 -0
  178. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/transforms/update_grammar.py +0 -0
  179. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/transforms/update_grammar_element.py +0 -0
  180. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/transforms/update_included_document.py +0 -0
  181. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/core/tree_cycle_detector.py +0 -0
  182. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/__init__.py +0 -0
  183. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/dot/document_dot_generator.py +0 -0
  184. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/dot/dot_templates.py +0 -0
  185. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile1/document.dot +0 -0
  186. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile1/folder.dot +0 -0
  187. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile1/legend.dot +0 -0
  188. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile1/requirement.dot +0 -0
  189. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile1/section.dot +0 -0
  190. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile1/top_level.dot +0 -0
  191. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile2/document.dot +0 -0
  192. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile2/folder.dot +0 -0
  193. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile2/requirement.dot +0 -0
  194. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile2/section.dot +0 -0
  195. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/dot/templates/profile2/top_level.dot +0 -0
  196. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/__init__.py +0 -0
  197. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/autogen.css +0 -0
  198. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/base.css +0 -0
  199. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/collapsible_list.js +0 -0
  200. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/collapsible_toc.js +0 -0
  201. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/collapsible_tree.js +0 -0
  202. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/content.css +0 -0
  203. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/copy_to_clipboard_controller.js +0 -0
  204. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/deletable_field_controller.js +0 -0
  205. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/draggable_list_controller.js +0 -0
  206. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/dropdown_menu_controller.js +0 -0
  207. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/editable_field_controller.js +0 -0
  208. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/modal_controller.js +0 -0
  209. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/movable_field_controller.js +0 -0
  210. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/scroll_into_view_controller.js +0 -0
  211. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/controllers/tabs_controller.js +0 -0
  212. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/diff.css +0 -0
  213. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/diff.js +0 -0
  214. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/favicon.ico +0 -0
  215. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/fonts/NotoSans-Italic-VariableFont_wdth,wght.ttf +0 -0
  216. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/fonts/NotoSans-VariableFont_wdth,wght.ttf +0 -0
  217. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/fonts/NotoSansMono-VariableFont_wdth,wght.ttf +0 -0
  218. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/form.css +0 -0
  219. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/html2pdf/bundle.js +0 -0
  220. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/layout.css +0 -0
  221. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/node.css +0 -0
  222. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/pan_with_space.js +0 -0
  223. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/project_tree.css +0 -0
  224. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/project_tree.js +0 -0
  225. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/requirement-tree.css +0 -0
  226. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/requirement__temporary.css +0 -0
  227. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/requirements-coverage.js +0 -0
  228. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/resizable_bar.js +0 -0
  229. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/source-code-coverage.js +0 -0
  230. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/source.css +0 -0
  231. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/stimulus.min.js +0 -0
  232. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/table_vew.css +0 -0
  233. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/toc_highlighting.js +0 -0
  234. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/traceability_matrix.css +0 -0
  235. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/tree(not_in_use).css +0 -0
  236. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/turbo.min.js +0 -0
  237. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/viewtype_menu.js +0 -0
  238. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static/zoomable.js +0 -0
  239. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/LICENSE-MATHJAX +0 -0
  240. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/tex.js +0 -0
  241. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
  242. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
  243. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
  244. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
  245. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
  246. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
  247. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
  248. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
  249. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
  250. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
  251. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
  252. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
  253. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
  254. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
  255. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
  256. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
  257. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
  258. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
  259. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
  260. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
  261. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
  262. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
  263. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
  264. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mathjax/tex-mml-chtml.js +0 -0
  265. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/mermaid/mermaid.min.js +0 -0
  266. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/nestor/bundle.umd.js +0 -0
  267. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/_static_extra/rapidoc/rapidoc-min.js +0 -0
  268. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/document_type.py +0 -0
  269. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/form_objects/document_config_form_object.py +0 -0
  270. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/form_objects/form_object.py +0 -0
  271. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/form_objects/grammar_element_form_object.py +0 -0
  272. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/form_objects/grammar_form_object.py +0 -0
  273. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/form_objects/included_document_form_object.py +0 -0
  274. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/form_objects/rows/row_with_grammar_element_form_object.py +0 -0
  275. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/form_objects/section_form_object.py +0 -0
  276. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/__init__.py +0 -0
  277. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/document.py +0 -0
  278. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/document_deep_trace.py +0 -0
  279. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/document_pdf.py +0 -0
  280. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/document_table.py +0 -0
  281. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/document_trace.py +0 -0
  282. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/document_tree.py +0 -0
  283. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/source_file_coverage.py +0 -0
  284. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/source_file_view_generator.py +0 -0
  285. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/traceability_matrix.py +0 -0
  286. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/diff_screen_results_view_object.py +0 -0
  287. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/diff_screen_view_object.py +0 -0
  288. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/nestor_view_object.py +0 -0
  289. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/project_statistics_view_object.py +0 -0
  290. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/project_tree_stats.py +0 -0
  291. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/project_tree_view_object.py +0 -0
  292. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/source_file_view_object.py +0 -0
  293. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/generators/view_objects/traceability_matrix_view_object.py +0 -0
  294. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/html_generator.py +0 -0
  295. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/html_templates.py +0 -0
  296. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/renderers/__init__.py +0 -0
  297. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/renderers/html_fragment_writer.py +0 -0
  298. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/renderers/link_renderer.py +0 -0
  299. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/renderers/text_to_html_writer.py +0 -0
  300. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg__separator.jinja.html +0 -0
  301. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_add.jinja.html +0 -0
  302. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_add_above.jinja +0 -0
  303. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_add_below.jinja +0 -0
  304. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_add_child.jinja +0 -0
  305. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_anchor.jinja +0 -0
  306. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_back.jinja.html +0 -0
  307. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_book.jinja.html +0 -0
  308. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_close.jinja +0 -0
  309. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_code.jinja.html +0 -0
  310. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_copy.jinja +0 -0
  311. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_delete.jinja.html +0 -0
  312. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_diff.jinja +0 -0
  313. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_document.jinja.html +0 -0
  314. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_done.jinja +0 -0
  315. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_edit.jinja.html +0 -0
  316. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_expand.jinja.html +0 -0
  317. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_file.jinja +0 -0
  318. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_folder.jinja +0 -0
  319. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_folder_collapse.jinja +0 -0
  320. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_folder_sm.jinja +0 -0
  321. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_fragment.jinja +0 -0
  322. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_fragment_draft.jinja +0 -0
  323. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_gear.jinja.html +0 -0
  324. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_go_to_doc.jinja +0 -0
  325. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_index.jinja.html +0 -0
  326. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_list.jinja.html +0 -0
  327. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_maximize.jinja +0 -0
  328. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_minimize.jinja +0 -0
  329. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_minusminus.jinja.html +0 -0
  330. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_move_down.jinja.html +0 -0
  331. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_move_up.jinja.html +0 -0
  332. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_plusplus.jinja.html +0 -0
  333. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_project.jinja.html +0 -0
  334. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_requirement.jinja.html +0 -0
  335. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_reset.jinja +0 -0
  336. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_search.jinja +0 -0
  337. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_source.jinja.html +0 -0
  338. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_stat.jinja +0 -0
  339. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_sync.jinja +0 -0
  340. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_toc.jinja.html +0 -0
  341. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_res/svg_ico16_tree.jinja +0 -0
  342. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_shared/nav.jinja.html +0 -0
  343. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_shared/requirement_block/files_tree.jinja.html +0 -0
  344. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_shared/requirement_tree_left.jinja.html +0 -0
  345. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_shared/requirement_tree_right.jinja.html +0 -0
  346. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/_shared/tags.jinja.html +0 -0
  347. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/_shared/stream_refresh_document.jinja.html +0 -0
  348. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/_shared/stream_updated_toc.jinja.html +0 -0
  349. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/add_requirement_comment/stream_add_requirement_comment.jinja.html +0 -0
  350. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/add_requirement_relation/stream_add_requirement_relation.jinja.html +0 -0
  351. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_cancel_new_requirement.jinja.html +0 -0
  352. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_created_requirement.jinja.html +0 -0
  353. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_new_requirement.jinja.html +0 -0
  354. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/create_section/stream_cancel_new_section.jinja.html +0 -0
  355. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/create_section/stream_created_section.jinja.html +0 -0
  356. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/create_section/stream_new_section.jinja.html +0 -0
  357. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_delete_requirement.jinja.html +0 -0
  358. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/delete_section/stream_delete_section.jinja.html +0 -0
  359. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_cancel_edit_document_config.jinja.html +0 -0
  360. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_edit_document_config.jinja.html +0 -0
  361. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_save_document_config.jinja.html +0 -0
  362. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_edit_requirement.jinja.html +0 -0
  363. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/document/edit_section/stream_edit_section.jinja.html +0 -0
  364. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_requirement.jinja +0 -0
  365. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_section.jinja +0 -0
  366. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_form_import_reqif_document.jinja.html +0 -0
  367. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_refresh_with_imported_reqif_document.jinja.html +0 -0
  368. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/project_index/stream_create_document.jinja.html +0 -0
  369. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/actions/project_index/stream_new_document.jinja.html +0 -0
  370. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/base.jinja.html +0 -0
  371. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/abstract/index.jinja +0 -0
  372. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/abstract/pdf.jinja +0 -0
  373. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/badge/index.jinja +0 -0
  374. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/button/cancel.jinja +0 -0
  375. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/button/confirm.jinja +0 -0
  376. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/button/delete.jinja +0 -0
  377. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/button/diff.jinja +0 -0
  378. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/button/search.jinja +0 -0
  379. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/button/submit.jinja +0 -0
  380. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/confirm/_usage_example.jinja +0 -0
  381. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/document_title/index.jinja +0 -0
  382. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/field/index.jinja +0 -0
  383. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/field/contenteditable/index.jinja +0 -0
  384. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/field/file/index.jinja +0 -0
  385. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/field/text/index.jinja +0 -0
  386. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/field_action_button/index.jinja +0 -0
  387. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/index.jinja +0 -0
  388. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/row/index.jinja +0 -0
  389. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/example.jinja.html +0 -0
  390. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/frame.jinja +0 -0
  391. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/stream.jinja +0 -0
  392. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/row/row_with_comment.jinja +0 -0
  393. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/row/row_with_relation.jinja +0 -0
  394. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/row/row_with_text_field.jinja +0 -0
  395. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/form/search.jinja +0 -0
  396. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/grammar_form/index.jinja +0 -0
  397. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/grammar_form/row_with_grammar_element/index.jinja +0 -0
  398. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/grammar_form/row_with_new_grammar_element/index.jinja +0 -0
  399. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/grammar_form_element/index.jinja +0 -0
  400. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_custom_field/index.jinja +0 -0
  401. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_relation/index.jinja +0 -0
  402. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_reserved_field/index.jinja +0 -0
  403. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/header/_usage_example.jinja +0 -0
  404. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/header/header_pagetype.jinja +0 -0
  405. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/header/index.jinja +0 -0
  406. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/included_document_form/index.jinja +0 -0
  407. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/meta/index.jinja +0 -0
  408. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/modal/_usage_example.jinja +0 -0
  409. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/modal/form.jinja +0 -0
  410. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/modal/index.jinja +0 -0
  411. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/node/card.jinja +0 -0
  412. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/node/node_controls/card.jinja +0 -0
  413. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/node/node_controls/index.jinja +0 -0
  414. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/node/root.jinja +0 -0
  415. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/card.jinja +0 -0
  416. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/card_extends_card.jinja +0 -0
  417. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/files/index.jinja +0 -0
  418. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/index.jinja +0 -0
  419. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/links/index.jinja +0 -0
  420. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/pdf.jinja +0 -0
  421. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/tiny.jinja +0 -0
  422. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/tiny_extends_card.jinja +0 -0
  423. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/title/index.jinja +0 -0
  424. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/title/pdf.jinja +0 -0
  425. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/requirement/uid/index.jinja +0 -0
  426. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/resizable_bar/index.jinja +0 -0
  427. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/card.jinja +0 -0
  428. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/card_extends_card.jinja +0 -0
  429. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/h/index.jinja +0 -0
  430. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/h/pdf.jinja +0 -0
  431. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/index.jinja +0 -0
  432. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/pdf.jinja +0 -0
  433. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/text/index.jinja +0 -0
  434. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/tiny.jinja +0 -0
  435. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/tiny_extends_card.jinja +0 -0
  436. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/title/index.jinja +0 -0
  437. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/section/uid/index.jinja +0 -0
  438. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/components/table_key_value/index.jinja +0 -0
  439. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/frame_header_document_title.jinja +0 -0
  440. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_requirement.jinja +0 -0
  441. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_section.jinja +0 -0
  442. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/frame_toc.jinja +0 -0
  443. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/project_tree.jinja +0 -0
  444. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/project_tree_child_documents.jinja +0 -0
  445. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_project_tree.jinja +0 -0
  446. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_toc.jinja +0 -0
  447. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/toc.jinja +0 -0
  448. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/_shared/viewtype_menu.jinja +0 -0
  449. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/document/actions.jinja +0 -0
  450. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/document/frame_document_config.jinja.html +0 -0
  451. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/document/frame_document_config_edit.jinja.html +0 -0
  452. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/document/frame_requirement_form.jinja +0 -0
  453. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/document/frame_section_form.jinja +0 -0
  454. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/document/index.jinja +0 -0
  455. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/document/main.jinja +0 -0
  456. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/pdf/index.jinja +0 -0
  457. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/pdf/main.jinja +0 -0
  458. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/pdf/template/footer.jinja +0 -0
  459. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/pdf/template/frontpage.jinja +0 -0
  460. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/pdf/template/header.jinja +0 -0
  461. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/pdf/toc.jinja +0 -0
  462. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/table/index.jinja +0 -0
  463. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/traceability/index.jinja +0 -0
  464. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/traceability/main.jinja +0 -0
  465. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/traceability_deep/index.jinja +0 -0
  466. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/document/traceability_deep/main.jinja +0 -0
  467. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/changelog_content.jinja +0 -0
  468. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/diff_content.jinja +0 -0
  469. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/diff_controls.jinja +0 -0
  470. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/fields/document_fields.jinja +0 -0
  471. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/fields/requirement_fields.jinja +0 -0
  472. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/fields/section_fields.jinja +0 -0
  473. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/form.jinja +0 -0
  474. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/frame_changelog_result.jinja +0 -0
  475. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/frame_diff_result.jinja +0 -0
  476. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/index.jinja +0 -0
  477. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/legend.jinja +0 -0
  478. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/main.jinja +0 -0
  479. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/nav_tabs.jinja +0 -0
  480. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/node/requirement.jinja +0 -0
  481. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/node/section.jinja +0 -0
  482. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/skeleton.jinja +0 -0
  483. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/git/sync/button.jinja +0 -0
  484. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/nestor/index.jinja +0 -0
  485. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_index/actions.jinja +0 -0
  486. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_index/frame_form_import_reqif.jinja.html +0 -0
  487. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_index/frame_form_new_document.jinja.html +0 -0
  488. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_index/frame_project_tree.jinja.html +0 -0
  489. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_index/index.jinja +0 -0
  490. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_index/main.jinja +0 -0
  491. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_index/project_tree.jinja +0 -0
  492. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_index/project_tree_file.jinja +0 -0
  493. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_index/project_tree_folder.jinja +0 -0
  494. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_statistics/index.jinja +0 -0
  495. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/project_statistics/main.jinja +0 -0
  496. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/search/index.jinja +0 -0
  497. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/search/legend.jinja +0 -0
  498. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/search/main.jinja +0 -0
  499. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/source_file_coverage/file.jinja +0 -0
  500. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/source_file_coverage/folder.jinja +0 -0
  501. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/source_file_coverage/index.jinja +0 -0
  502. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/source_file_coverage/main.jinja +0 -0
  503. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/source_file_view/aside.jinja +0 -0
  504. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/source_file_view/header__source_file_name.jinja +0 -0
  505. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/source_file_view/index.jinja +0 -0
  506. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/source_file_view/main.jinja +0 -0
  507. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/source_file_view/requirement.jinja +0 -0
  508. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/traceability_matrix/file.jinja +0 -0
  509. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/traceability_matrix/index.jinja +0 -0
  510. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/traceability_matrix/main.jinja +0 -0
  511. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/traceability_matrix/project_tree_flat_anchor_list.jinja +0 -0
  512. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/traceability_matrix/requirement.jinja.html +0 -0
  513. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/screens/traceability_matrix/resizable_bar_with_project_tree.jinja +0 -0
  514. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/website/document/index.jinja +0 -0
  515. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/templates/websocket.jinja.html +0 -0
  516. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/tools/__init__.py +0 -0
  517. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html/tools/html_embedded.py +0 -0
  518. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html2pdf/html2pdf.py +0 -0
  519. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html2pdf/html2pdf_generator.py +0 -0
  520. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/html2pdf/pdf_print_driver.py +0 -0
  521. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/rst/__init__.py +0 -0
  522. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/rst/directives/raw_html_role.py +0 -0
  523. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/rst/directives/wildcard_enhanced_image.py +0 -0
  524. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/rst/document_rst_generator.py +0 -0
  525. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/rst/rst_templates.py +0 -0
  526. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/rst/rst_to_html_fragment_writer.py +0 -0
  527. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/spdx/spdx_generator.py +0 -0
  528. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/export/spdx/spdx_sdoc_container.py +0 -0
  529. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/git/change.py +0 -0
  530. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/git/change_generator.py +0 -0
  531. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/git/git_client.py +0 -0
  532. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/__init__.py +0 -0
  533. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/auto_described.py +0 -0
  534. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/cast.py +0 -0
  535. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/diff.py +0 -0
  536. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/exception.py +0 -0
  537. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/file_modification_time.py +0 -0
  538. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/file_system.py +0 -0
  539. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/form_data.py +0 -0
  540. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/git_client.py +0 -0
  541. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/math.py +0 -0
  542. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/md5.py +0 -0
  543. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/mid.py +0 -0
  544. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/ordered_set.py +0 -0
  545. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/parallelizer.py +0 -0
  546. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/path_filter.py +0 -0
  547. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/paths.py +0 -0
  548. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/pickle.py +0 -0
  549. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/rst.py +0 -0
  550. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/sha256.py +0 -0
  551. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/shard.py +0 -0
  552. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/sorting.py +0 -0
  553. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/helpers/timing.py +0 -0
  554. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/server/__init__.py +0 -0
  555. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/server/app.py +0 -0
  556. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/server/config.py +0 -0
  557. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/server/error_object.py +0 -0
  558. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/server/helpers/turbo.py +0 -0
  559. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/server/main.py +0 -0
  560. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/server/routers/other_router.py +0 -0
  561. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc/server/server.py +0 -0
  562. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/strictdoc.toml +0 -0
  563. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/tasks.py +0 -0
  564. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/tasks_wine.py +0 -0
  565. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/tools/confluence_html_table_import.py +0 -0
  566. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/tools/link_health.py +0 -0
  567. {strictdoc-0.0.56a3 → strictdoc-0.0.57a1}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strictdoc
3
- Version: 0.0.56a3
3
+ Version: 0.0.57a1
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.56a3"
3
+ __version__ = "0.0.57a1"
4
4
 
5
5
 
6
6
  environment = SDocRuntimeEnvironment(__file__)
@@ -132,12 +132,15 @@ class ExcelGenerator:
132
132
  elif field_uc in ("COMMENT", "COMMENTS"):
133
133
  # Using a transition marker to separate multiple
134
134
  # comments
135
- if node.comments:
135
+ comment_fields = node.get_comment_fields()
136
+ if len(comment_fields) > 0:
136
137
  comment_row_value: str = ""
137
- for comment in node.comments:
138
+ for comment_field_ in comment_fields:
138
139
  if len(comment_row_value) > 0:
139
140
  comment_row_value += "\n----------\n"
140
- comment_row_value += comment
141
+ comment_row_value += (
142
+ comment_field_.get_text_value()
143
+ )
141
144
  worksheet.write(row, idx, comment_row_value)
142
145
  if (
143
146
  comment_row_value
@@ -172,7 +175,7 @@ class ExcelGenerator:
172
175
  columns[field][MAX_WIDTH_KEY] = value_len
173
176
  elif field_uc in node.ordered_fields_lookup.keys():
174
177
  req_field = node.ordered_fields_lookup[field_uc][0]
175
- value: str = req_field.get_value()
178
+ value: str = req_field.get_text_value()
176
179
  worksheet.write(row, idx, value)
177
180
  value_len = len(value)
178
181
  if value_len > columns[field][MAX_WIDTH_KEY]:
@@ -14,6 +14,7 @@ from strictdoc.backend.sdoc.models.node import SDocNode, SDocNodeField
14
14
  from strictdoc.backend.sdoc.models.object_factory import SDocObjectFactory
15
15
  from strictdoc.backend.sdoc.models.reference import ParentReqReference
16
16
  from strictdoc.backend.sdoc.models.type_system import GrammarElementFieldString
17
+ from strictdoc.helpers.string import ensure_newline
17
18
 
18
19
 
19
20
  class RequirementColumns(NamedTuple):
@@ -129,8 +130,11 @@ class ExcelToSDocConverter:
129
130
  section_contents=[],
130
131
  )
131
132
 
133
+ # FIXME: This is becoming very limiting. It must work against a complete grammar.
132
134
  fields = list(
133
- DocumentGrammar.create_default(document).elements[0].fields
135
+ DocumentGrammar.create_default(document)
136
+ .elements_by_type["REQUIREMENT"]
137
+ .fields
134
138
  )
135
139
 
136
140
  for _, name in extra_header_pairs:
@@ -172,7 +176,7 @@ class ExcelToSDocConverter:
172
176
  if comment in ("", "-"):
173
177
  comments = None
174
178
  else:
175
- comments = [comment]
179
+ comments = [ensure_newline(comment)]
176
180
  parent_uid = None
177
181
  if columns.parent_column is not None:
178
182
  parent_uid = row_values[columns.parent_column].strip()
@@ -186,7 +190,7 @@ class ExcelToSDocConverter:
186
190
  uid=uid,
187
191
  level=None,
188
192
  statement=None,
189
- statement_multiline=statement,
193
+ statement_multiline=ensure_newline(statement),
190
194
  rationale=None,
191
195
  rationale_multiline=None,
192
196
  tags=None,
@@ -196,11 +200,11 @@ class ExcelToSDocConverter:
196
200
  value = row_values[i].strip()
197
201
  if value != "":
198
202
  template_requirement.ordered_fields_lookup[name] = [
199
- SDocNodeField(
203
+ SDocNodeField.create_from_string(
200
204
  parent=None,
201
205
  field_name=name,
202
- field_value=None,
203
- field_value_multiline=value,
206
+ field_value=ensure_newline(value),
207
+ multiline=True,
204
208
  )
205
209
  ]
206
210
  if parent_uid is not None:
@@ -37,6 +37,7 @@ from strictdoc.backend.sdoc.models.type_system import (
37
37
  )
38
38
  from strictdoc.helpers.string import (
39
39
  create_safe_requirement_tag_string,
40
+ ensure_newline,
40
41
  unescape,
41
42
  )
42
43
 
@@ -459,39 +460,46 @@ class P01_ReqIFToSDocConverter:
459
460
 
460
461
  enum_values = ", ".join(enum_values_resolved)
461
462
  fields.append(
462
- SDocNodeField(
463
+ SDocNodeField.create_from_string(
463
464
  parent=None,
464
465
  field_name=sdoc_field_name,
465
466
  field_value=enum_values,
466
- field_value_multiline=None,
467
+ multiline=False,
467
468
  )
468
469
  )
469
470
  continue
470
471
  assert isinstance(attribute.value, str)
471
472
  if long_name_or_none == "ReqIF.ForeignID":
472
473
  foreign_key_id_or_none = attribute.definition_ref
473
- attribute_value: Optional[str] = unescape(attribute.value)
474
- attribute_multiline_value = None
474
+ attribute_value: str = unescape(attribute.value)
475
+ multiline: bool = False
475
476
  if (
476
477
  "\n" in attribute_value
477
478
  or attribute.attribute_type == SpecObjectAttributeType.XHTML
478
479
  or field_name == ReqIFRequirementReservedField.TEXT
479
480
  or field_name == ReqIFRequirementReservedField.COMMENT_NOTES
480
481
  ):
481
- attribute_multiline_value = attribute_value.lstrip()
482
- attribute_value = None
482
+ attribute_value = attribute_value.lstrip()
483
+ multiline = True
484
+ if attribute.attribute_type == SpecObjectAttributeType.XHTML:
485
+ attribute_value = attribute.value_stripped_xhtml
486
+ # Another strip() is hidden in .value_stripped_xhtml
487
+ # but doing this anyway to highlight the intention.
488
+ attribute_value = attribute_value.strip()
483
489
 
484
490
  sdoc_field_name = (
485
491
  P01_ReqIFToSDocConverter.convert_requirement_field_from_reqif(
486
492
  field_name,
487
493
  )
488
494
  )
495
+ if multiline:
496
+ attribute_value = ensure_newline(attribute_value)
489
497
  fields.append(
490
- SDocNodeField(
498
+ SDocNodeField.create_from_string(
491
499
  parent=None,
492
500
  field_name=sdoc_field_name,
493
501
  field_value=attribute_value,
494
- field_value_multiline=attribute_multiline_value,
502
+ multiline=multiline,
495
503
  )
496
504
  )
497
505
 
@@ -551,7 +551,7 @@ class P01_SDocToReqIFObjectConverter:
551
551
  for data_type in data_types:
552
552
  if data_type_ref == data_type.identifier:
553
553
  for data_type_value in data_type.values:
554
- if data_type_value.key == field.get_value():
554
+ if data_type_value.key == field.get_text_value():
555
555
  enum_ref_value = data_type_value.identifier
556
556
  break
557
557
 
@@ -564,7 +564,7 @@ class P01_SDocToReqIFObjectConverter:
564
564
  value=[enum_ref_value],
565
565
  )
566
566
  elif isinstance(grammar_field, GrammarElementFieldMultipleChoice):
567
- field_values: List[str] = field.get_value().split(",")
567
+ field_values: List[str] = field.get_text_value().split(",")
568
568
  field_values = list(map(lambda v: v.strip(), field_values))
569
569
 
570
570
  data_type_ref = data_types_lookup[field.field_name]
@@ -590,7 +590,7 @@ class P01_SDocToReqIFObjectConverter:
590
590
  elif isinstance(grammar_field, GrammarElementFieldString):
591
591
  is_multiline_field = field.is_multiline()
592
592
 
593
- field_value: str = field.get_value()
593
+ field_value: str = field.get_text_value().rstrip()
594
594
 
595
595
  attribute_type: str
596
596
  if context.multiline_is_xhtml:
@@ -743,7 +743,9 @@ class P01_SDocToReqIFObjectConverter:
743
743
  ] = section_spec_type
744
744
  spec_object_types.append(section_spec_type)
745
745
  free_text_spec_type = (
746
- P01_SDocToReqIFObjectConverter._create_free_text_spec_object_type()
746
+ P01_SDocToReqIFObjectConverter._create_free_text_spec_object_type(
747
+ context
748
+ )
747
749
  )
748
750
  context.map_grammar_node_tags_to_spec_object_type[grammar.parent][
749
751
  "FREETEXT"
@@ -776,12 +778,15 @@ class P01_SDocToReqIFObjectConverter:
776
778
  @classmethod
777
779
  def _create_free_text_spec_object_type(
778
780
  cls,
781
+ context: P01_SDocToReqIFBuildContext,
779
782
  ):
780
783
  attribute_definitions = []
781
784
  chapter_name_attribute = SpecAttributeDefinition.create(
782
- attribute_type=SpecObjectAttributeType.STRING,
785
+ attribute_type=SpecObjectAttributeType.XHTML
786
+ if context.multiline_is_xhtml
787
+ else SpecObjectAttributeType.STRING,
783
788
  identifier=ReqIFChapterField.TEXT,
784
- datatype_definition=(StrictDocReqIFTypes.MULTI_LINE_STRING.value),
789
+ datatype_definition=StrictDocReqIFTypes.MULTI_LINE_STRING.value,
785
790
  long_name=ReqIFChapterField.TEXT,
786
791
  )
787
792
  attribute_definitions.append(chapter_name_attribute)
@@ -35,7 +35,7 @@ from strictdoc.backend.sdoc.models.type_system import (
35
35
  GrammarElementFieldSingleChoice,
36
36
  GrammarElementFieldString,
37
37
  )
38
- from strictdoc.helpers.string import unescape
38
+ from strictdoc.helpers.string import ensure_newline, unescape
39
39
 
40
40
 
41
41
  class P02_ReqIFToSDocBuildContext:
@@ -417,39 +417,41 @@ class P02_ReqIFToSDocConverter:
417
417
 
418
418
  enum_values = ", ".join(enum_values_resolved)
419
419
  fields.append(
420
- SDocNodeField(
420
+ SDocNodeField.create_from_string(
421
421
  parent=None,
422
422
  field_name=sdoc_field_name,
423
423
  field_value=enum_values,
424
- field_value_multiline=None,
424
+ multiline=False,
425
425
  )
426
426
  )
427
427
  continue
428
428
  assert isinstance(attribute.value, str)
429
429
  if long_name_or_none == "ReqIF.ForeignID":
430
430
  foreign_key_id_or_none = attribute.definition_ref
431
- attribute_value: Optional[str] = unescape(attribute.value)
432
- attribute_multiline_value = None
431
+ attribute_value: str = unescape(attribute.value)
432
+ multiline: bool = False
433
433
  if (
434
434
  "\n" in attribute_value
435
435
  or attribute.attribute_type == SpecObjectAttributeType.XHTML
436
436
  or field_name == ReqIFRequirementReservedField.TEXT
437
437
  or field_name == ReqIFRequirementReservedField.COMMENT_NOTES
438
438
  ):
439
- attribute_multiline_value = attribute_value.lstrip()
440
- attribute_value = None
439
+ attribute_value = attribute_value.lstrip()
440
+ multiline = True
441
441
 
442
442
  sdoc_field_name = (
443
443
  P02_ReqIFToSDocConverter.convert_requirement_field_from_reqif(
444
444
  field_name,
445
445
  )
446
446
  )
447
+ if multiline:
448
+ attribute_value = ensure_newline(attribute_value)
447
449
  fields.append(
448
- SDocNodeField(
450
+ SDocNodeField.create_from_string(
449
451
  parent=None,
450
452
  field_name=sdoc_field_name,
451
453
  field_value=attribute_value,
452
- field_value_multiline=attribute_multiline_value,
454
+ multiline=multiline,
453
455
  )
454
456
  )
455
457
 
@@ -556,7 +556,7 @@ class P02_SDocToReqIFObjectConverter:
556
556
  for data_type in data_types:
557
557
  if data_type_ref == data_type.identifier:
558
558
  for data_type_value in data_type.values:
559
- if data_type_value.key == field.get_value():
559
+ if data_type_value.key == field.get_text_value():
560
560
  enum_ref_value = data_type_value.identifier
561
561
  break
562
562
 
@@ -569,7 +569,7 @@ class P02_SDocToReqIFObjectConverter:
569
569
  value=[enum_ref_value],
570
570
  )
571
571
  elif isinstance(grammar_field, GrammarElementFieldMultipleChoice):
572
- field_values: List[str] = field.get_value().split(",")
572
+ field_values: List[str] = field.get_text_value().split(",")
573
573
  field_values = list(map(lambda v: v.strip(), field_values))
574
574
 
575
575
  data_type_ref = data_types_lookup[field.field_name]
@@ -595,7 +595,7 @@ class P02_SDocToReqIFObjectConverter:
595
595
  elif isinstance(grammar_field, GrammarElementFieldString):
596
596
  is_multiline_field = field.is_multiline()
597
597
 
598
- field_value: str = field.get_value()
598
+ field_value: str = field.get_text_value()
599
599
 
600
600
  attribute_type: str
601
601
  if context.multiline_is_xhtml:
@@ -37,7 +37,7 @@ from strictdoc.backend.sdoc.models.type_system import (
37
37
  GrammarElementFieldSingleChoice,
38
38
  GrammarElementFieldString,
39
39
  )
40
- from strictdoc.helpers.string import unescape
40
+ from strictdoc.helpers.string import ensure_newline, unescape
41
41
 
42
42
 
43
43
  class P11_ReqIFToSDocConverter: # pylint: disable=invalid-name
@@ -387,43 +387,43 @@ class P11_ReqIFToSDocConverter: # pylint: disable=invalid-name
387
387
  ].strip()
388
388
  enum_values = ", ".join(enum_values_list)
389
389
  fields.append(
390
- SDocNodeField(
390
+ SDocNodeField.create_from_string(
391
391
  parent=None,
392
392
  field_name=field_name,
393
393
  field_value=enum_values,
394
- field_value_multiline=None,
394
+ multiline=False,
395
395
  )
396
396
  )
397
397
  continue
398
398
  assert isinstance(attribute.value, str)
399
399
  if long_name_or_none == "ReqIF.ForeignID":
400
400
  foreign_key_id_or_none = attribute.definition_ref
401
- attribute_value: Optional[str] = unescape(attribute.value)
402
- attribute_multiline_value = None
401
+ attribute_value: str = unescape(attribute.value)
402
+ multiline: bool = False
403
403
  if (
404
404
  "\n" in attribute_value
405
405
  or field_name == ReqIFRequirementReservedField.TEXT
406
406
  or field_name == ReqIFRequirementReservedField.COMMENT_NOTES
407
407
  ):
408
408
  if attribute.attribute_type == SpecObjectAttributeType.XHTML:
409
- attribute_multiline_value = attribute.value_stripped_xhtml
409
+ attribute_value = attribute.value_stripped_xhtml
410
410
  # Another strip() is hidden in .value_stripped_xhtml
411
411
  # but doing this anyway to highlight the intention.
412
- attribute_multiline_value = (
413
- attribute_multiline_value.strip()
414
- )
412
+ attribute_value = attribute_value.strip()
415
413
  else:
416
- attribute_multiline_value = attribute_value.strip()
417
- attribute_value = None
414
+ attribute_value = attribute_value.strip()
415
+ multiline = True
418
416
 
419
417
  if field_name in ReqIFRequirementReservedField.SET:
420
418
  field_name = REQIF_MAP_TO_SDOC_FIELD_MAP[field_name]
419
+ if multiline:
420
+ attribute_value = ensure_newline(attribute_value)
421
421
  fields.append(
422
- SDocNodeField(
422
+ SDocNodeField.create_from_string(
423
423
  parent=None,
424
424
  field_name=field_name,
425
425
  field_value=attribute_value,
426
- field_value_multiline=attribute_multiline_value,
426
+ multiline=multiline,
427
427
  )
428
428
  )
429
429
  requirement = SDocNode(
@@ -150,7 +150,7 @@ class StrictDocSemanticError(Exception):
150
150
  return StrictDocSemanticError(
151
151
  title=(
152
152
  f"Requirement field has an invalid SingleChoice value: "
153
- f"{requirement_field.field_value}."
153
+ f"{requirement_field.get_text_value()}."
154
154
  ),
155
155
  hint=(
156
156
  f"Problematic field: {requirement_field.field_name}. "
@@ -176,7 +176,7 @@ class StrictDocSemanticError(Exception):
176
176
  return StrictDocSemanticError(
177
177
  title=(
178
178
  f"Requirement field has an invalid MultipleChoice value: "
179
- f"{requirement_field.field_value}."
179
+ f"{requirement_field.get_text_value()}."
180
180
  ),
181
181
  hint=(
182
182
  f"Problematic field: {requirement_field.field_name}. "
@@ -201,7 +201,7 @@ class StrictDocSemanticError(Exception):
201
201
  return StrictDocSemanticError(
202
202
  title=(
203
203
  f"Requirement field of type MultipleChoice is invalid: "
204
- f"{requirement_field.field_value}."
204
+ f"{requirement_field.get_text_value()}."
205
205
  ),
206
206
  hint="MultipleChoice field requires ', '-separated values.",
207
207
  example=None,
@@ -219,7 +219,7 @@ class StrictDocSemanticError(Exception):
219
219
  return StrictDocSemanticError(
220
220
  title=(
221
221
  f"Requirement field of type Tag is invalid: "
222
- f"{requirement_field.field_value}."
222
+ f"{requirement_field.get_text_value()}."
223
223
  ),
224
224
  hint="Tag field requires ', '-separated values.",
225
225
  example=None,
@@ -365,7 +365,7 @@ class StrictDocSemanticError(Exception):
365
365
  filename=filename,
366
366
  )
367
367
 
368
- def to_print_message(self):
368
+ def to_print_message(self) -> str:
369
369
  message = ""
370
370
  message += f"error: could not parse file: {self.file_path}.\n"
371
371
  message += f"Semantic error: {self.title}\n"
@@ -1,4 +1,8 @@
1
1
  REGEX_UID = r"([A-Za-z0-9]+[A-Za-z0-9_\-]*)"
2
+
3
+ NEGATIVE_MULTILINE_STRING_START = "(?!>>>\n)"
4
+ NEGATIVE_MULTILINE_STRING_END = "(?!^<<<)"
5
+ NEGATIVE_RELATIONS = "(?!^RELATIONS)"
2
6
  NEGATIVE_FREETEXT_END = "(?!^\\[\\/FREETEXT\\]\n)"
3
7
  NEGATIVE_INLINE_LINK_START = rf"(?!\[LINK: {REGEX_UID})"
4
8
  NEGATIVE_ANCHOR_START = rf"(?!^\[ANCHOR: {REGEX_UID})"
@@ -8,8 +12,12 @@ TextPart[noskipws]:
8
12
  (Anchor | InlineLink | NormalString)
9
13
  ;
10
14
 
15
+ SingleLineTextPart[noskipws]:
16
+ (Anchor | InlineLink | /{NEGATIVE_MULTILINE_STRING_START}\S.*/)
17
+ ;
18
+
11
19
  NormalString[noskipws]:
12
- (/(?ms){NEGATIVE_FREETEXT_END}{NEGATIVE_INLINE_LINK_START}{NEGATIVE_ANCHOR_START}./)+
20
+ (/(?ms){NEGATIVE_MULTILINE_STRING_END}{NEGATIVE_FREETEXT_END}{NEGATIVE_INLINE_LINK_START}{NEGATIVE_ANCHOR_START}./)+
13
21
  ;
14
22
 
15
23
  InlineLink[noskipws]:
@@ -21,6 +29,23 @@ Anchor[noskipws]:
21
29
  value = /{REGEX_UID}/ (', ' title = /\w+[\s\w+]*/)?
22
30
  /\](\Z|\n)/
23
31
  ;
32
+
33
+ // According to the Strict Grammar Rule #3, both SingleLineString and
34
+ // MultiLineString can never be empty strings.
35
+ // Both must eventualy start with a non-space character.
36
+ SingleLineString:
37
+ /{NEGATIVE_MULTILINE_STRING_START}\S.*$/
38
+ ;
39
+
40
+ MultiLineString[noskipws]:
41
+ />>>\n/-
42
+ parts*=TextPart
43
+ /^<<</-
44
+ ;
45
+
46
+ FieldName[noskipws]:
47
+ /{NEGATIVE_RELATIONS}[A-Z]+[A-Z_]*/
48
+ ;
24
49
  """
25
50
 
26
51
  FREE_TEXT_PARSER_GRAMMAR = r"""
@@ -148,7 +173,7 @@ ReservedKeyword[noskipws]:
148
173
  ;
149
174
 
150
175
  SDocNode[noskipws]:
151
- '[' !SDocCompositeNodeTagName requirement_type = RequirementType ']' '\n'
176
+ '[' !'SECTION' !SDocCompositeNodeTagName requirement_type = RequirementType ']' '\n'
152
177
  ('MID: ' mid = SingleLineString '\n')?
153
178
  fields *= SDocNodeField
154
179
  (
@@ -165,8 +190,17 @@ SDocNodeField[noskipws]:
165
190
  (
166
191
  field_name = FieldName ':'
167
192
  (
168
- ((' ' field_value = SingleLineString) '\n') |
169
- (' ' (field_value_multiline = MultiLineString) '\n')
193
+ (' ' parts+=SingleLineTextPart '\n')
194
+ |
195
+ (
196
+ ' '
197
+ (
198
+ multiline__ = />>>\n/
199
+ parts+=TextPart
200
+ /^<<</
201
+ )
202
+ '\n'
203
+ )
170
204
  )
171
205
  )
172
206
  ;
@@ -1,11 +1,13 @@
1
- # mypy: disable-error-code="no-untyped-call,no-untyped-def"
2
1
  from strictdoc.backend.sdoc.grammar.grammar import (
3
2
  DOCUMENT_GRAMMAR,
4
3
  FREE_TEXT_PARSER_GRAMMAR,
5
4
  SECTION_GRAMMAR,
6
5
  TEXT_TYPES_GRAMMAR,
7
6
  )
8
- from strictdoc.backend.sdoc.grammar.grammar_grammar import GRAMMAR_GRAMMAR
7
+ from strictdoc.backend.sdoc.grammar.grammar_grammar import (
8
+ GRAMMAR_GRAMMAR,
9
+ GRAMMAR_WRAPPER,
10
+ )
9
11
  from strictdoc.backend.sdoc.grammar.type_system import (
10
12
  STRICTDOC_BASIC_TYPE_SYSTEM,
11
13
  )
@@ -13,12 +15,11 @@ from strictdoc.backend.sdoc.grammar.type_system import (
13
15
 
14
16
  class SDocGrammarBuilder:
15
17
  @staticmethod
16
- def _prep_grammar(grammar):
17
- grammar = (grammar).replace("'\\n'", "'\n'")
18
- return grammar
18
+ def _prep_grammar(grammar: str) -> str:
19
+ return grammar.replace("'\\n'", "'\n'")
19
20
 
20
21
  @staticmethod
21
- def create_grammar():
22
+ def create_grammar() -> str:
22
23
  grammar = SDocGrammarBuilder._prep_grammar(
23
24
  DOCUMENT_GRAMMAR
24
25
  + GRAMMAR_GRAMMAR
@@ -30,20 +31,23 @@ class SDocGrammarBuilder:
30
31
  return grammar
31
32
 
32
33
  @staticmethod
33
- def create_free_text_grammar():
34
+ def create_free_text_grammar() -> str:
34
35
  return SDocGrammarBuilder._prep_grammar(
35
36
  FREE_TEXT_PARSER_GRAMMAR + TEXT_TYPES_GRAMMAR
36
37
  )
37
38
 
38
39
  @staticmethod
39
- def create_grammar_grammar():
40
+ def create_grammar_grammar() -> str:
40
41
  grammar = SDocGrammarBuilder._prep_grammar(
41
- GRAMMAR_GRAMMAR + STRICTDOC_BASIC_TYPE_SYSTEM
42
+ GRAMMAR_WRAPPER
43
+ + GRAMMAR_GRAMMAR
44
+ + STRICTDOC_BASIC_TYPE_SYSTEM
45
+ + TEXT_TYPES_GRAMMAR
42
46
  )
43
47
  return grammar
44
48
 
45
49
  @staticmethod
46
- def create_raw_grammar():
50
+ def create_raw_grammar() -> str:
47
51
  grammar = (
48
52
  DOCUMENT_GRAMMAR
49
53
  + GRAMMAR_GRAMMAR
@@ -52,5 +56,4 @@ class SDocGrammarBuilder:
52
56
  + TEXT_TYPES_GRAMMAR
53
57
  + STRICTDOC_BASIC_TYPE_SYSTEM
54
58
  )
55
-
56
59
  return grammar
@@ -86,3 +86,9 @@ ReferenceTypeXs[noskipws]:
86
86
  /, /- ReferenceType
87
87
  ;
88
88
  """
89
+
90
+ GRAMMAR_WRAPPER = """
91
+ DocumentGrammarWrapper[noskipws]:
92
+ grammar = DocumentGrammar
93
+ ;
94
+ """
@@ -1,8 +1,4 @@
1
- NEGATIVE_MULTILINE_STRING_START = "(?!>>>\n)"
2
- NEGATIVE_MULTILINE_STRING_END = "(?!^<<<)"
3
- NEGATIVE_RELATIONS = "(?!^RELATIONS)"
4
-
5
- STRICTDOC_BASIC_TYPE_SYSTEM = rf"""
1
+ STRICTDOC_BASIC_TYPE_SYSTEM = r"""
6
2
  BooleanChoice[noskipws]:
7
3
  ('True' | 'False')
8
4
  ;
@@ -15,23 +11,6 @@ ChoiceOptionXs[noskipws]:
15
11
  /, /- ChoiceOption
16
12
  ;
17
13
 
18
- FieldName[noskipws]:
19
- /{NEGATIVE_RELATIONS}[A-Z]+[A-Z_]*/
20
- ;
21
-
22
- // According to the Strict Grammar Rule #3, both SingleLineString and
23
- // MultiLineString can never be empty strings.
24
- // Both must eventualy start with a non-space character.
25
- SingleLineString:
26
- /{NEGATIVE_MULTILINE_STRING_START}\S.*$/
27
- ;
28
-
29
- MultiLineString[noskipws]:
30
- />>>\n/-
31
- /(?ms){NEGATIVE_MULTILINE_STRING_END} *{NEGATIVE_MULTILINE_STRING_END}\S({NEGATIVE_MULTILINE_STRING_END}.)+/
32
- /^<<</-
33
- ;
34
-
35
14
  RequirementType[noskipws]:
36
15
  !ReservedKeyword /[A-Z]+(_[A-Z]+)*/
37
16
  ;