strictdoc 0.0.56a3__tar.gz → 0.0.56a4__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 (553) hide show
  1. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/PKG-INFO +1 -1
  2. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/__init__.py +1 -1
  3. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/excel/import_/excel_to_sdoc_converter.py +6 -5
  4. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/reqif/p01_sdoc/reqif_to_sdoc_converter.py +16 -8
  5. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py +1 -1
  6. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/reqif/p02_simple/reqif_to_sdoc_converter.py +11 -9
  7. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/reqif/p11_polarion/reqif_to_sdoc_converter.py +13 -13
  8. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/error_handling.py +5 -5
  9. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/grammar/grammar.py +38 -4
  10. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/grammar/grammar_builder.py +14 -11
  11. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/grammar/grammar_grammar.py +6 -0
  12. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/grammar/type_system.py +1 -22
  13. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/grammar_reader.py +30 -13
  14. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/models/document_grammar.py +9 -1
  15. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/models/node.py +40 -49
  16. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/models/object_factory.py +21 -21
  17. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/processor.py +27 -51
  18. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/reader.py +10 -8
  19. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/validations/sdoc_validator.py +38 -0
  20. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/writer.py +0 -1
  21. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/traceability_index_builder.py +11 -0
  22. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/form_objects/requirement_form_object.py +47 -2
  23. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/rst/templates/requirement.jinja.rst +4 -4
  24. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/spdx/spdx_to_sdoc_converter.py +1 -1
  25. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/string.py +6 -0
  26. strictdoc-0.0.56a4/strictdoc/helpers/textx.py +30 -0
  27. strictdoc-0.0.56a3/strictdoc/helpers/textx.py +0 -9
  28. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/.gitignore +0 -0
  29. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/CHANGELOG.md +0 -0
  30. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/CONTRIBUTING.md +0 -0
  31. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/Dockerfile +0 -0
  32. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/LICENSE +0 -0
  33. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/NOTICE +0 -0
  34. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/README.md +0 -0
  35. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/docs_extra/DO178_requirements.sdoc +0 -0
  36. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/docs_extra/Zephyr_requirements.sdoc +0 -0
  37. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/drafts/requirements/strictdoc.toml +0 -0
  38. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/drafts/rst_examples.sdoc +0 -0
  39. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/drafts/strictdoc_low_level_requirements.sdoc_.sdoc +0 -0
  40. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/mypy.ini +0 -0
  41. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/pyproject.toml +0 -0
  42. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/requirements.bootstrap.txt +0 -0
  43. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/requirements.check.txt +0 -0
  44. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/ruff.toml +0 -0
  45. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/__init__.py +0 -0
  46. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/excel/__init__.py +0 -0
  47. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/excel/excel_import.py +0 -0
  48. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/excel/export/__init__.py +0 -0
  49. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/excel/export/excel_generator.py +0 -0
  50. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/excel/import_/__init__.py +0 -0
  51. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/reqif/__init__.py +0 -0
  52. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/reqif/p01_sdoc/__init__.py +0 -0
  53. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/reqif/p02_simple/__init__.py +0 -0
  54. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/reqif/p02_simple/sdoc_to_reqif_converter.py +0 -0
  55. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/reqif/p11_polarion/__init__.py +0 -0
  56. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/reqif/reqif_export.py +0 -0
  57. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/reqif/reqif_import.py +0 -0
  58. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/reqif/sdoc_reqif_fields.py +0 -0
  59. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/__init__.py +0 -0
  60. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/constants.py +0 -0
  61. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/document_reference.py +0 -0
  62. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/errors/__init__.py +0 -0
  63. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/errors/document_tree_error.py +0 -0
  64. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/free_text_reader.py +0 -0
  65. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/grammar/__init__.py +0 -0
  66. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/models/__init__.py +0 -0
  67. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/models/anchor.py +0 -0
  68. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/models/constants.py +0 -0
  69. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/models/document.py +0 -0
  70. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/models/document_config.py +0 -0
  71. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/models/document_from_file.py +0 -0
  72. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/models/document_view.py +0 -0
  73. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/models/free_text.py +0 -0
  74. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/models/inline_link.py +0 -0
  75. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/models/object.py +0 -0
  76. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/models/reference.py +0 -0
  77. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/models/section.py +0 -0
  78. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/models/type_system.py +0 -0
  79. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/pickle_cache.py +0 -0
  80. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc/validations/__init__.py +0 -0
  81. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc_source_code/__init__.py +0 -0
  82. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc_source_code/grammar.py +0 -0
  83. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc_source_code/models/__init__.py +0 -0
  84. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc_source_code/models/range_marker.py +0 -0
  85. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc_source_code/models/requirement_marker.py +0 -0
  86. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc_source_code/models/source_file_info.py +0 -0
  87. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/backend/sdoc_source_code/reader.py +0 -0
  88. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/cli/__init__.py +0 -0
  89. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/cli/argument_int_range.py +0 -0
  90. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/cli/cli_arg_parser.py +0 -0
  91. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/cli/command_parser_builder.py +0 -0
  92. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/cli/main.py +0 -0
  93. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/commands/__init__.py +0 -0
  94. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/commands/about_command.py +0 -0
  95. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/commands/diff_command.py +0 -0
  96. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/commands/dump_grammar_command.py +0 -0
  97. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/commands/manage_autouid_command.py +0 -0
  98. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/commands/version_command.py +0 -0
  99. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/__init__.py +0 -0
  100. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/actions/__init__.py +0 -0
  101. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/actions/export_action.py +0 -0
  102. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/actions/import_action.py +0 -0
  103. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/actions/passthrough_action.py +0 -0
  104. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/analyzers/document_stats.py +0 -0
  105. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/analyzers/document_uid_analyzer.py +0 -0
  106. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/asset_manager.py +0 -0
  107. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/document_finder.py +0 -0
  108. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/document_iterator.py +0 -0
  109. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/document_meta.py +0 -0
  110. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/document_tree.py +0 -0
  111. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/document_tree_iterator.py +0 -0
  112. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/environment.py +0 -0
  113. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/file_traceability_index.py +0 -0
  114. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/file_tree.py +0 -0
  115. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/finders/__init__.py +0 -0
  116. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/finders/source_files_finder.py +0 -0
  117. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/graph/abstract_bucket.py +0 -0
  118. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/graph/many_to_many_set.py +0 -0
  119. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/graph/one_to_one_dictionary.py +0 -0
  120. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/graph/validations.py +0 -0
  121. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/graph_database.py +0 -0
  122. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/project_config.py +0 -0
  123. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/query_engine/grammar.py +0 -0
  124. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/query_engine/query_object.py +0 -0
  125. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/query_engine/query_reader.py +0 -0
  126. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/source_tree.py +0 -0
  127. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/traceability_index.py +0 -0
  128. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/transforms/constants.py +0 -0
  129. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/transforms/create_requirement.py +0 -0
  130. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/transforms/delete_section.py +0 -0
  131. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/transforms/section.py +0 -0
  132. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/transforms/update_document_config.py +0 -0
  133. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/transforms/update_free_text.py +0 -0
  134. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/transforms/update_grammar.py +0 -0
  135. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/transforms/update_grammar_element.py +0 -0
  136. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/transforms/update_included_document.py +0 -0
  137. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/transforms/update_requirement.py +0 -0
  138. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/transforms/validation_error.py +0 -0
  139. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/core/tree_cycle_detector.py +0 -0
  140. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/__init__.py +0 -0
  141. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/dot/document_dot_generator.py +0 -0
  142. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/dot/dot_templates.py +0 -0
  143. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/dot/templates/profile1/document.dot +0 -0
  144. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/dot/templates/profile1/folder.dot +0 -0
  145. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/dot/templates/profile1/legend.dot +0 -0
  146. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/dot/templates/profile1/requirement.dot +0 -0
  147. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/dot/templates/profile1/section.dot +0 -0
  148. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/dot/templates/profile1/top_level.dot +0 -0
  149. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/dot/templates/profile2/document.dot +0 -0
  150. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/dot/templates/profile2/folder.dot +0 -0
  151. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/dot/templates/profile2/requirement.dot +0 -0
  152. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/dot/templates/profile2/section.dot +0 -0
  153. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/dot/templates/profile2/top_level.dot +0 -0
  154. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/__init__.py +0 -0
  155. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/autogen.css +0 -0
  156. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/base.css +0 -0
  157. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/collapsible_list.js +0 -0
  158. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/collapsible_toc.js +0 -0
  159. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/collapsible_tree.js +0 -0
  160. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/content.css +0 -0
  161. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/controllers/anchor_controller.js +0 -0
  162. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/controllers/copy_to_clipboard_controller.js +0 -0
  163. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/controllers/deletable_field_controller.js +0 -0
  164. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/controllers/draggable_list_controller.js +0 -0
  165. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/controllers/dropdown_menu_controller.js +0 -0
  166. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/controllers/editable_field_controller.js +0 -0
  167. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/controllers/modal_controller.js +0 -0
  168. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/controllers/movable_field_controller.js +0 -0
  169. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/controllers/scroll_into_view_controller.js +0 -0
  170. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/controllers/tabs_controller.js +0 -0
  171. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/diff.css +0 -0
  172. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/diff.js +0 -0
  173. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/element.css +0 -0
  174. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/favicon.ico +0 -0
  175. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/fonts/NotoSans-Italic-VariableFont_wdth,wght.ttf +0 -0
  176. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/fonts/NotoSans-VariableFont_wdth,wght.ttf +0 -0
  177. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/fonts/NotoSansMono-VariableFont_wdth,wght.ttf +0 -0
  178. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/form.css +0 -0
  179. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/html2pdf/bundle.js +0 -0
  180. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/layout.css +0 -0
  181. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/node.css +0 -0
  182. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/pan_with_space.js +0 -0
  183. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/project_tree.css +0 -0
  184. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/project_tree.js +0 -0
  185. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/requirement-tree.css +0 -0
  186. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/requirement.css +0 -0
  187. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/requirement__temporary.css +0 -0
  188. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/requirements-coverage.js +0 -0
  189. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/resizable_bar.js +0 -0
  190. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/source-code-coverage.js +0 -0
  191. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/source.css +0 -0
  192. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/stimulus.min.js +0 -0
  193. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/table_vew.css +0 -0
  194. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/toc_highlighting.js +0 -0
  195. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/traceability_matrix.css +0 -0
  196. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/tree(not_in_use).css +0 -0
  197. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/turbo.min.js +0 -0
  198. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/viewtype_menu.js +0 -0
  199. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static/zoomable.js +0 -0
  200. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/LICENSE-MATHJAX +0 -0
  201. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/tex.js +0 -0
  202. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
  203. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
  204. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
  205. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
  206. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
  207. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
  208. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
  209. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
  210. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
  211. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
  212. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
  213. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
  214. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
  215. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
  216. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
  217. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
  218. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
  219. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
  220. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
  221. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
  222. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
  223. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
  224. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
  225. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mathjax/tex-mml-chtml.js +0 -0
  226. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/mermaid/mermaid.min.js +0 -0
  227. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/nestor/bundle.umd.js +0 -0
  228. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/_static_extra/rapidoc/rapidoc-min.js +0 -0
  229. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/document_type.py +0 -0
  230. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/form_objects/document_config_form_object.py +0 -0
  231. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/form_objects/form_object.py +0 -0
  232. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/form_objects/grammar_element_form_object.py +0 -0
  233. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/form_objects/grammar_form_object.py +0 -0
  234. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/form_objects/included_document_form_object.py +0 -0
  235. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/form_objects/rows/row_with_grammar_element_form_object.py +0 -0
  236. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/form_objects/section_form_object.py +0 -0
  237. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/__init__.py +0 -0
  238. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/document.py +0 -0
  239. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/document_deep_trace.py +0 -0
  240. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/document_pdf.py +0 -0
  241. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/document_table.py +0 -0
  242. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/document_trace.py +0 -0
  243. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/document_tree.py +0 -0
  244. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/project_statistics.py +0 -0
  245. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/source_file_coverage.py +0 -0
  246. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/source_file_view_generator.py +0 -0
  247. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/traceability_matrix.py +0 -0
  248. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/view_objects/diff_screen_results_view_object.py +0 -0
  249. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/view_objects/diff_screen_view_object.py +0 -0
  250. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/view_objects/document_screen_view_object.py +0 -0
  251. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/view_objects/nestor_view_object.py +0 -0
  252. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/view_objects/project_statistics_view_object.py +0 -0
  253. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/view_objects/project_tree_stats.py +0 -0
  254. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/view_objects/project_tree_view_object.py +0 -0
  255. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/view_objects/search_screen_view_object.py +0 -0
  256. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/view_objects/source_file_view_object.py +0 -0
  257. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/generators/view_objects/traceability_matrix_view_object.py +0 -0
  258. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/html_generator.py +0 -0
  259. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/html_templates.py +0 -0
  260. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/renderers/__init__.py +0 -0
  261. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/renderers/html_fragment_writer.py +0 -0
  262. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/renderers/link_renderer.py +0 -0
  263. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/renderers/markup_renderer.py +0 -0
  264. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/renderers/text_to_html_writer.py +0 -0
  265. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg__separator.jinja.html +0 -0
  266. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_add.jinja.html +0 -0
  267. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_add_above.jinja +0 -0
  268. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_add_below.jinja +0 -0
  269. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_add_child.jinja +0 -0
  270. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_anchor.jinja +0 -0
  271. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_back.jinja.html +0 -0
  272. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_book.jinja.html +0 -0
  273. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_close.jinja +0 -0
  274. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_code.jinja.html +0 -0
  275. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_copy.jinja +0 -0
  276. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_delete.jinja.html +0 -0
  277. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_diff.jinja +0 -0
  278. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_document.jinja.html +0 -0
  279. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_done.jinja +0 -0
  280. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_edit.jinja.html +0 -0
  281. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_expand.jinja.html +0 -0
  282. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_file.jinja +0 -0
  283. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_folder.jinja +0 -0
  284. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_folder_collapse.jinja +0 -0
  285. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_folder_sm.jinja +0 -0
  286. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_fragment.jinja +0 -0
  287. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_fragment_draft.jinja +0 -0
  288. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_gear.jinja.html +0 -0
  289. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_go_to_doc.jinja +0 -0
  290. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_index.jinja.html +0 -0
  291. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_list.jinja.html +0 -0
  292. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_maximize.jinja +0 -0
  293. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_minimize.jinja +0 -0
  294. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_minusminus.jinja.html +0 -0
  295. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_move_down.jinja.html +0 -0
  296. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_move_up.jinja.html +0 -0
  297. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_plusplus.jinja.html +0 -0
  298. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_project.jinja.html +0 -0
  299. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_requirement.jinja.html +0 -0
  300. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_reset.jinja +0 -0
  301. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_search.jinja +0 -0
  302. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_source.jinja.html +0 -0
  303. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_stat.jinja +0 -0
  304. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_sync.jinja +0 -0
  305. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_toc.jinja.html +0 -0
  306. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_res/svg_ico16_tree.jinja +0 -0
  307. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_shared/nav.jinja.html +0 -0
  308. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_shared/requirement_block/files_tree.jinja.html +0 -0
  309. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_shared/requirement_tree_left.jinja.html +0 -0
  310. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_shared/requirement_tree_right.jinja.html +0 -0
  311. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/_shared/tags.jinja.html +0 -0
  312. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/_shared/stream_refresh_document.jinja.html +0 -0
  313. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/_shared/stream_updated_toc.jinja.html +0 -0
  314. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/add_requirement_comment/stream_add_requirement_comment.jinja.html +0 -0
  315. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/add_requirement_relation/stream_add_requirement_relation.jinja.html +0 -0
  316. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/create_requirement/stream_cancel_new_requirement.jinja.html +0 -0
  317. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/create_requirement/stream_created_requirement.jinja.html +0 -0
  318. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/create_requirement/stream_new_requirement.jinja.html +0 -0
  319. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/create_section/stream_cancel_new_section.jinja.html +0 -0
  320. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/create_section/stream_created_section.jinja.html +0 -0
  321. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/create_section/stream_new_section.jinja.html +0 -0
  322. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_confirm_delete_requirement.jinja +0 -0
  323. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_delete_requirement.jinja.html +0 -0
  324. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/delete_section/stream_confirm_delete_section.jinja +0 -0
  325. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/delete_section/stream_delete_section.jinja.html +0 -0
  326. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_cancel_edit_document_config.jinja.html +0 -0
  327. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_edit_document_config.jinja.html +0 -0
  328. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_save_document_config.jinja.html +0 -0
  329. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_edit_requirement.jinja.html +0 -0
  330. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_update_requirement.jinja.html +0 -0
  331. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/edit_section/stream_edit_section.jinja.html +0 -0
  332. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/document/edit_section/stream_updated_section.jinja.html +0 -0
  333. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_requirement.jinja +0 -0
  334. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_section.jinja +0 -0
  335. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_form_import_reqif_document.jinja.html +0 -0
  336. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_refresh_with_imported_reqif_document.jinja.html +0 -0
  337. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/project_index/stream_create_document.jinja.html +0 -0
  338. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/actions/project_index/stream_new_document.jinja.html +0 -0
  339. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/base.jinja.html +0 -0
  340. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/abstract/index.jinja +0 -0
  341. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/abstract/pdf.jinja +0 -0
  342. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/anchor/index.jinja +0 -0
  343. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/badge/index.jinja +0 -0
  344. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/button/cancel.jinja +0 -0
  345. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/button/confirm.jinja +0 -0
  346. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/button/delete.jinja +0 -0
  347. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/button/diff.jinja +0 -0
  348. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/button/search.jinja +0 -0
  349. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/button/submit.jinja +0 -0
  350. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/confirm/_usage_example.jinja +0 -0
  351. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/confirm/index.jinja +0 -0
  352. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/document_title/index.jinja +0 -0
  353. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/field/index.jinja +0 -0
  354. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/form/field/contenteditable/index.jinja +0 -0
  355. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/form/field/file/index.jinja +0 -0
  356. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/form/field/text/index.jinja +0 -0
  357. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/form/field_action_button/index.jinja +0 -0
  358. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/form/index.jinja +0 -0
  359. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/form/row/index.jinja +0 -0
  360. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/example.jinja.html +0 -0
  361. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/frame.jinja +0 -0
  362. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/stream.jinja +0 -0
  363. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/form/row/row_with_comment.jinja +0 -0
  364. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/form/row/row_with_relation.jinja +0 -0
  365. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/form/row/row_with_text_field.jinja +0 -0
  366. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/form/search.jinja +0 -0
  367. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/grammar_form/index.jinja +0 -0
  368. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/grammar_form/row_with_grammar_element/index.jinja +0 -0
  369. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/grammar_form/row_with_new_grammar_element/index.jinja +0 -0
  370. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/grammar_form_element/index.jinja +0 -0
  371. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/grammar_form_element/row_with_custom_field/index.jinja +0 -0
  372. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/grammar_form_element/row_with_relation/index.jinja +0 -0
  373. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/grammar_form_element/row_with_reserved_field/index.jinja +0 -0
  374. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/header/_usage_example.jinja +0 -0
  375. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/header/header_pagetype.jinja +0 -0
  376. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/header/index.jinja +0 -0
  377. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/included_document_form/index.jinja +0 -0
  378. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/meta/index.jinja +0 -0
  379. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/modal/_usage_example.jinja +0 -0
  380. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/modal/form.jinja +0 -0
  381. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/modal/index.jinja +0 -0
  382. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/node/card.jinja +0 -0
  383. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/node/index.jinja +0 -0
  384. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/node/node_controls/card.jinja +0 -0
  385. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/node/node_controls/index.jinja +0 -0
  386. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/node/root.jinja +0 -0
  387. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/requirement/card.jinja +0 -0
  388. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/requirement/card_extends_card.jinja +0 -0
  389. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/requirement/comments/index.jinja +0 -0
  390. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/requirement/files/index.jinja +0 -0
  391. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/requirement/index.jinja +0 -0
  392. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/requirement/index_extends_node.jinja +0 -0
  393. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/requirement/links/index.jinja +0 -0
  394. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/requirement/meta/index.jinja +0 -0
  395. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/requirement/multiline/index.jinja +0 -0
  396. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/requirement/pdf.jinja +0 -0
  397. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/requirement/rationale/index.jinja +0 -0
  398. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/requirement/statement/index.jinja +0 -0
  399. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/requirement/tiny.jinja +0 -0
  400. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/requirement/tiny_extends_card.jinja +0 -0
  401. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/requirement/title/index.jinja +0 -0
  402. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/requirement/title/pdf.jinja +0 -0
  403. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/requirement/uid/index.jinja +0 -0
  404. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/resizable_bar/index.jinja +0 -0
  405. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/section/card.jinja +0 -0
  406. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/section/card_extends_card.jinja +0 -0
  407. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/section/h/index.jinja +0 -0
  408. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/section/h/pdf.jinja +0 -0
  409. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/section/index.jinja +0 -0
  410. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/section/index_extends_node.jinja +0 -0
  411. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/section/pdf.jinja +0 -0
  412. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/section/text/index.jinja +0 -0
  413. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/section/tiny.jinja +0 -0
  414. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/section/tiny_extends_card.jinja +0 -0
  415. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/section/title/index.jinja +0 -0
  416. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/section/uid/index.jinja +0 -0
  417. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/components/table_key_value/index.jinja +0 -0
  418. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/rst/anchor.jinja +0 -0
  419. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/_shared/frame_header_document_title.jinja +0 -0
  420. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_requirement.jinja +0 -0
  421. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_section.jinja +0 -0
  422. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/_shared/frame_toc.jinja +0 -0
  423. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/_shared/project_tree.jinja +0 -0
  424. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/_shared/project_tree_child_documents.jinja +0 -0
  425. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_project_tree.jinja +0 -0
  426. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_toc.jinja +0 -0
  427. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/_shared/toc.jinja +0 -0
  428. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/_shared/viewtype_menu.jinja +0 -0
  429. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/document/actions.jinja +0 -0
  430. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/document/frame_document_config.jinja.html +0 -0
  431. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/document/frame_document_config_edit.jinja.html +0 -0
  432. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +0 -0
  433. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/document/frame_requirement_form.jinja +0 -0
  434. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/document/frame_section_form.jinja +0 -0
  435. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/document/index.jinja +0 -0
  436. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/document/main.jinja +0 -0
  437. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/pdf/index.jinja +0 -0
  438. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/pdf/main.jinja +0 -0
  439. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/pdf/template/footer.jinja +0 -0
  440. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/pdf/template/frontpage.jinja +0 -0
  441. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/pdf/template/header.jinja +0 -0
  442. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/pdf/toc.jinja +0 -0
  443. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/table/index.jinja +0 -0
  444. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/table/main.jinja +0 -0
  445. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/traceability/index.jinja +0 -0
  446. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/traceability/main.jinja +0 -0
  447. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/traceability_deep/index.jinja +0 -0
  448. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/document/traceability_deep/main.jinja +0 -0
  449. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/git/changelog_content.jinja +0 -0
  450. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/git/diff_content.jinja +0 -0
  451. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/git/diff_controls.jinja +0 -0
  452. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/git/fields/document_fields.jinja +0 -0
  453. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/git/fields/requirement_fields.jinja +0 -0
  454. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/git/fields/section_fields.jinja +0 -0
  455. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/git/form.jinja +0 -0
  456. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/git/frame_changelog_result.jinja +0 -0
  457. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/git/frame_diff_result.jinja +0 -0
  458. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/git/index.jinja +0 -0
  459. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/git/legend.jinja +0 -0
  460. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/git/main.jinja +0 -0
  461. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/git/nav_tabs.jinja +0 -0
  462. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/git/node/requirement.jinja +0 -0
  463. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/git/node/section.jinja +0 -0
  464. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/git/skeleton.jinja +0 -0
  465. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/git/sync/button.jinja +0 -0
  466. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/nestor/index.jinja +0 -0
  467. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/project_index/actions.jinja +0 -0
  468. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/project_index/frame_form_import_reqif.jinja.html +0 -0
  469. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/project_index/frame_form_new_document.jinja.html +0 -0
  470. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/project_index/frame_project_tree.jinja.html +0 -0
  471. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/project_index/index.jinja +0 -0
  472. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/project_index/main.jinja +0 -0
  473. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/project_index/project_tree.jinja +0 -0
  474. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/project_index/project_tree_file.jinja +0 -0
  475. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/project_index/project_tree_folder.jinja +0 -0
  476. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/project_statistics/index.jinja +0 -0
  477. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/project_statistics/main.jinja +0 -0
  478. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/search/index.jinja +0 -0
  479. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/search/legend.jinja +0 -0
  480. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/search/main.jinja +0 -0
  481. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/source_file_coverage/file.jinja +0 -0
  482. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/source_file_coverage/folder.jinja +0 -0
  483. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/source_file_coverage/index.jinja +0 -0
  484. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/source_file_coverage/main.jinja +0 -0
  485. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/source_file_view/aside.jinja +0 -0
  486. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/source_file_view/header__source_file_name.jinja +0 -0
  487. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/source_file_view/index.jinja +0 -0
  488. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/source_file_view/main.jinja +0 -0
  489. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/source_file_view/requirement.jinja +0 -0
  490. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/traceability_matrix/file.jinja +0 -0
  491. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/traceability_matrix/index.jinja +0 -0
  492. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/traceability_matrix/main.jinja +0 -0
  493. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/traceability_matrix/project_tree_flat_anchor_list.jinja +0 -0
  494. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/traceability_matrix/requirement.jinja.html +0 -0
  495. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/screens/traceability_matrix/resizable_bar_with_project_tree.jinja +0 -0
  496. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/website/document/index.jinja +0 -0
  497. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/templates/websocket.jinja.html +0 -0
  498. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/tools/__init__.py +0 -0
  499. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html/tools/html_embedded.py +0 -0
  500. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html2pdf/html2pdf.py +0 -0
  501. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html2pdf/html2pdf_generator.py +0 -0
  502. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/html2pdf/pdf_print_driver.py +0 -0
  503. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/json/json_generator.py +0 -0
  504. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/rst/__init__.py +0 -0
  505. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/rst/directives/raw_html_role.py +0 -0
  506. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/rst/directives/wildcard_enhanced_image.py +0 -0
  507. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/rst/document_rst_generator.py +0 -0
  508. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/rst/rst_templates.py +0 -0
  509. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/rst/rst_to_html_fragment_writer.py +0 -0
  510. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/rst/writer.py +0 -0
  511. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/spdx/spdx_generator.py +0 -0
  512. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/export/spdx/spdx_sdoc_container.py +0 -0
  513. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/git/change.py +0 -0
  514. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/git/change_generator.py +0 -0
  515. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/git/git_client.py +0 -0
  516. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/git/project_diff_analyzer.py +0 -0
  517. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/__init__.py +0 -0
  518. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/auto_described.py +0 -0
  519. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/cast.py +0 -0
  520. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/diff.py +0 -0
  521. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/exception.py +0 -0
  522. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/file_modification_time.py +0 -0
  523. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/file_system.py +0 -0
  524. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/form_data.py +0 -0
  525. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/git_client.py +0 -0
  526. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/math.py +0 -0
  527. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/md5.py +0 -0
  528. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/mid.py +0 -0
  529. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/ordered_set.py +0 -0
  530. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/parallelizer.py +0 -0
  531. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/path_filter.py +0 -0
  532. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/paths.py +0 -0
  533. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/pickle.py +0 -0
  534. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/rst.py +0 -0
  535. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/sha256.py +0 -0
  536. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/shard.py +0 -0
  537. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/sorting.py +0 -0
  538. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/helpers/timing.py +0 -0
  539. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/server/__init__.py +0 -0
  540. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/server/app.py +0 -0
  541. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/server/config.py +0 -0
  542. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/server/error_object.py +0 -0
  543. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/server/helpers/turbo.py +0 -0
  544. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/server/main.py +0 -0
  545. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/server/routers/main_router.py +0 -0
  546. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/server/routers/other_router.py +0 -0
  547. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc/server/server.py +0 -0
  548. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/strictdoc.toml +0 -0
  549. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/tasks.py +0 -0
  550. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/tasks_wine.py +0 -0
  551. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/tools/confluence_html_table_import.py +0 -0
  552. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/tools/link_health.py +0 -0
  553. {strictdoc-0.0.56a3 → strictdoc-0.0.56a4}/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.56a4
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.56a4"
4
4
 
5
5
 
6
6
  environment = SDocRuntimeEnvironment(__file__)
@@ -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):
@@ -172,7 +173,7 @@ class ExcelToSDocConverter:
172
173
  if comment in ("", "-"):
173
174
  comments = None
174
175
  else:
175
- comments = [comment]
176
+ comments = [ensure_newline(comment)]
176
177
  parent_uid = None
177
178
  if columns.parent_column is not None:
178
179
  parent_uid = row_values[columns.parent_column].strip()
@@ -186,7 +187,7 @@ class ExcelToSDocConverter:
186
187
  uid=uid,
187
188
  level=None,
188
189
  statement=None,
189
- statement_multiline=statement,
190
+ statement_multiline=ensure_newline(statement),
190
191
  rationale=None,
191
192
  rationale_multiline=None,
192
193
  tags=None,
@@ -196,11 +197,11 @@ class ExcelToSDocConverter:
196
197
  value = row_values[i].strip()
197
198
  if value != "":
198
199
  template_requirement.ordered_fields_lookup[name] = [
199
- SDocNodeField(
200
+ SDocNodeField.create_from_string(
200
201
  parent=None,
201
202
  field_name=name,
202
- field_value=None,
203
- field_value_multiline=value,
203
+ field_value=ensure_newline(value),
204
+ multiline=True,
204
205
  )
205
206
  ]
206
207
  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
 
@@ -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_value().rstrip()
594
594
 
595
595
  attribute_type: str
596
596
  if context.multiline_is_xhtml:
@@ -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
 
@@ -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_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_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_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_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
  ;
@@ -1,4 +1,3 @@
1
- # mypy: disable-error-code="no-untyped-call,no-untyped-def"
2
1
  import sys
3
2
  import traceback
4
3
  from typing import Optional
@@ -8,27 +7,45 @@ from textx import metamodel_from_str
8
7
  from strictdoc.backend.sdoc.error_handling import StrictDocSemanticError
9
8
  from strictdoc.backend.sdoc.grammar.grammar_builder import SDocGrammarBuilder
10
9
  from strictdoc.backend.sdoc.models.constants import GRAMMAR_MODELS
11
- from strictdoc.backend.sdoc.models.document_grammar import DocumentGrammar
10
+ from strictdoc.backend.sdoc.models.document_grammar import (
11
+ DocumentGrammar,
12
+ DocumentGrammarWrapper,
13
+ )
12
14
  from strictdoc.backend.sdoc.pickle_cache import PickleCache
13
15
  from strictdoc.helpers.cast import assert_optional_cast
14
- from strictdoc.helpers.textx import drop_textx_meta
16
+ from strictdoc.helpers.textx import (
17
+ drop_textx_meta,
18
+ preserve_source_location_data,
19
+ )
15
20
 
16
21
 
17
22
  class SDocGrammarReader:
18
- def __init__(self, path_to_output_root) -> None:
19
- self.path_to_output_root = path_to_output_root
23
+ meta_model = metamodel_from_str(
24
+ SDocGrammarBuilder.create_grammar_grammar(),
25
+ classes=GRAMMAR_MODELS + [DocumentGrammarWrapper],
26
+ use_regexp_group=True,
27
+ )
28
+
29
+ def __init__(self, path_to_output_root: str) -> None:
30
+ self.path_to_output_root: str = path_to_output_root
20
31
 
21
32
  @staticmethod
22
- def read(input_string, file_path=None) -> DocumentGrammar:
23
- meta_model = metamodel_from_str(
24
- SDocGrammarBuilder.create_grammar_grammar(),
25
- classes=GRAMMAR_MODELS,
26
- use_regexp_group=True,
33
+ def read(
34
+ input_string: str, file_path: Optional[str] = None
35
+ ) -> DocumentGrammar:
36
+ SDocGrammarReader.meta_model.register_obj_processors(
37
+ {
38
+ "GrammarElement": preserve_source_location_data,
39
+ }
27
40
  )
28
41
 
29
- grammar: DocumentGrammar = meta_model.model_from_str(
30
- input_string, file_name=file_path
42
+ grammar_wrapper: DocumentGrammarWrapper = (
43
+ SDocGrammarReader.meta_model.model_from_str(
44
+ input_string, file_name=file_path
45
+ )
31
46
  )
47
+ grammar: DocumentGrammar = grammar_wrapper.grammar
48
+ grammar.parent = None
32
49
 
33
50
  # HACK:
34
51
  # ProcessPoolExecutor doesn't work because of non-picklable parts
@@ -38,7 +55,7 @@ class SDocGrammarReader:
38
55
 
39
56
  return grammar
40
57
 
41
- def read_from_file(self, file_path) -> DocumentGrammar:
58
+ def read_from_file(self, file_path: str) -> DocumentGrammar:
42
59
  unpickled_content: Optional[DocumentGrammar] = assert_optional_cast(
43
60
  PickleCache.read_from_cache(file_path, self.path_to_output_root),
44
61
  DocumentGrammar,
@@ -97,6 +97,8 @@ class GrammarElement:
97
97
  statement_field or description_field or content_field or ("", -1)
98
98
  )
99
99
  self.mid: MID = MID.create()
100
+ self.ng_line_start: Optional[int] = None
101
+ self.ng_col_start: Optional[int] = None
100
102
 
101
103
  @staticmethod
102
104
  def create_default(tag: str):
@@ -178,9 +180,9 @@ class GrammarElement:
178
180
  class DocumentGrammar:
179
181
  def __init__(
180
182
  self,
183
+ parent,
181
184
  elements: List[GrammarElement],
182
185
  import_from_file: Optional[str] = None,
183
- parent=None,
184
186
  ) -> None:
185
187
  self.parent = parent
186
188
  self.elements: List[GrammarElement] = elements
@@ -315,3 +317,9 @@ class DocumentGrammar:
315
317
  self.elements = elements
316
318
  self.registered_elements: Set[str] = registered_elements
317
319
  self.elements_by_type: Dict[str, GrammarElement] = elements_by_type
320
+
321
+
322
+ class DocumentGrammarWrapper:
323
+ def __init__(self, grammar: DocumentGrammar):
324
+ assert isinstance(grammar, DocumentGrammar), grammar
325
+ self.grammar: DocumentGrammar = grammar