strictdoc 0.6.1a2__tar.gz → 0.8.0__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 (571) hide show
  1. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/.gitignore +3 -0
  2. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/PKG-INFO +2 -2
  3. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/pyproject.toml +1 -1
  4. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/__init__.py +1 -1
  5. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/excel/import_/excel_to_sdoc_converter.py +0 -1
  6. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/reqif/p01_sdoc/reqif_to_sdoc_converter.py +4 -3
  7. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py +14 -10
  8. strictdoc-0.8.0/strictdoc/backend/sdoc/document_reference.py +14 -0
  9. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/error_handling.py +32 -1
  10. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/grammar/grammar.py +2 -14
  11. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/grammar/grammar_grammar.py +1 -0
  12. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/grammar/type_system.py +1 -0
  13. strictdoc-0.8.0/strictdoc/backend/sdoc/models/anchor.py +65 -0
  14. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/models/constants.py +0 -2
  15. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/models/document.py +39 -32
  16. strictdoc-0.8.0/strictdoc/backend/sdoc/models/document_from_file.py +87 -0
  17. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/models/document_grammar.py +80 -3
  18. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/models/document_view.py +10 -1
  19. strictdoc-0.8.0/strictdoc/backend/sdoc/models/model.py +134 -0
  20. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/models/node.py +106 -66
  21. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/models/object_factory.py +0 -1
  22. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/models/reference.py +6 -2
  23. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/models/section.py +19 -16
  24. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/models/type_system.py +8 -2
  25. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/processor.py +3 -49
  26. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/validations/sdoc_validator.py +2 -2
  27. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/writer.py +2 -68
  28. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc_source_code/grammar.py +6 -4
  29. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc_source_code/marker_parser.py +14 -8
  30. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc_source_code/models/function_range_marker.py +32 -5
  31. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc_source_code/models/range_marker.py +46 -8
  32. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc_source_code/models/source_file_info.py +21 -5
  33. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc_source_code/parse_context.py +3 -2
  34. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc_source_code/processors/general_language_marker_processors.py +1 -1
  35. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc_source_code/reader.py +8 -13
  36. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc_source_code/reader_c.py +7 -3
  37. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc_source_code/reader_python.py +52 -38
  38. strictdoc-0.8.0/strictdoc/backend/sdoc_source_code/test_reports/junit_xml_reader.py +399 -0
  39. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/cli/cli_arg_parser.py +10 -3
  40. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/cli/command_parser_builder.py +17 -21
  41. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/actions/export_action.py +0 -1
  42. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/analyzers/document_stats.py +5 -5
  43. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/analyzers/document_uid_analyzer.py +13 -4
  44. strictdoc-0.8.0/strictdoc/core/constants.py +10 -0
  45. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/document_finder.py +10 -1
  46. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/document_iterator.py +30 -18
  47. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/document_tree.py +4 -4
  48. strictdoc-0.8.0/strictdoc/core/file_traceability_index.py +767 -0
  49. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/file_tree.py +5 -5
  50. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/graph/validations.py +1 -1
  51. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/project_config.py +64 -16
  52. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/query_engine/query_object.py +6 -2
  53. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/traceability_index.py +62 -43
  54. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/traceability_index_builder.py +23 -34
  55. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/transforms/create_requirement.py +2 -0
  56. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/transforms/delete_requirement.py +6 -3
  57. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/transforms/delete_section.py +0 -2
  58. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/transforms/section.py +28 -5
  59. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/transforms/update_requirement.py +15 -7
  60. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/base.css +2 -1
  61. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/content.css +2 -2
  62. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/element.css +128 -37
  63. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/form.css +0 -89
  64. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/layout.css +1 -0
  65. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/node.css +8 -0
  66. strictdoc-0.8.0/strictdoc/export/html/_static/project_coverage.css +148 -0
  67. strictdoc-0.8.0/strictdoc/export/html/_static/project_coverage.js +2 -0
  68. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/project_tree.js +25 -2
  69. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/requirement-tree.css +3 -2
  70. strictdoc-0.8.0/strictdoc/export/html/_static/source-code-coverage.js +667 -0
  71. strictdoc-0.8.0/strictdoc/export/html/_static/source.css +410 -0
  72. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/form_objects/form_object.py +14 -13
  73. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/form_objects/grammar_element_form_object.py +1 -0
  74. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/form_objects/requirement_form_object.py +3 -7
  75. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/project_statistics.py +44 -41
  76. strictdoc-0.8.0/strictdoc/export/html/generators/source_file_coverage.py +147 -0
  77. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/source_file_view_generator.py +45 -50
  78. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/view_objects/document_screen_view_object.py +32 -14
  79. strictdoc-0.8.0/strictdoc/export/html/generators/view_objects/helpers.py +76 -0
  80. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/view_objects/project_tree_view_object.py +24 -0
  81. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/view_objects/search_screen_view_object.py +7 -7
  82. strictdoc-0.8.0/strictdoc/export/html/generators/view_objects/source_file_view_object.py +208 -0
  83. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/renderers/link_renderer.py +47 -25
  84. strictdoc-0.8.0/strictdoc/export/html/templates/_res/svg_ico16_section_collapse.jinja +23 -0
  85. strictdoc-0.8.0/strictdoc/export/html/templates/_res/svg_ico16_source_pointer_in.jinja +10 -0
  86. strictdoc-0.8.0/strictdoc/export/html/templates/_res/svg_ico16_source_pointer_out.jinja +11 -0
  87. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/anchor/index.jinja +1 -1
  88. strictdoc-0.8.0/strictdoc/export/html/templates/components/node/readonly.jinja +14 -0
  89. strictdoc-0.8.0/strictdoc/export/html/templates/components/node_field/files/index.jinja +27 -0
  90. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node_field/links/index.jinja +2 -2
  91. strictdoc-0.8.0/strictdoc/export/html/templates/components/requirement/index_extends_readonly.jinja +6 -0
  92. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/_shared/project_tree.jinja +13 -15
  93. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/_shared/project_tree_child_documents.jinja +1 -1
  94. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/document/frame_requirement_form.jinja +0 -1
  95. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/table/main.jinja +7 -16
  96. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/project_index/main.jinja +3 -0
  97. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/project_index/project_tree.jinja +6 -4
  98. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/project_index/project_tree_folder.jinja +2 -2
  99. strictdoc-0.8.0/strictdoc/export/html/templates/screens/source_file_coverage/file.jinja +68 -0
  100. strictdoc-0.8.0/strictdoc/export/html/templates/screens/source_file_coverage/folder.jinja +26 -0
  101. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/source_file_coverage/index.jinja +2 -2
  102. strictdoc-0.8.0/strictdoc/export/html/templates/screens/source_file_coverage/main.jinja +27 -0
  103. strictdoc-0.8.0/strictdoc/export/html/templates/screens/source_file_coverage/thead.jinja +29 -0
  104. strictdoc-0.8.0/strictdoc/export/html/templates/screens/source_file_coverage/value_bar.jinja +15 -0
  105. strictdoc-0.8.0/strictdoc/export/html/templates/screens/source_file_view/aside.jinja +51 -0
  106. strictdoc-0.8.0/strictdoc/export/html/templates/screens/source_file_view/file_stats.jinja +15 -0
  107. strictdoc-0.8.0/strictdoc/export/html/templates/screens/source_file_view/header__actions.jinja +3 -0
  108. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/source_file_view/index.jinja +2 -1
  109. strictdoc-0.8.0/strictdoc/export/html/templates/screens/source_file_view/main.jinja +98 -0
  110. strictdoc-0.8.0/strictdoc/export/html/templates/screens/source_file_view/node_title_for_banner_header.jinja +17 -0
  111. strictdoc-0.8.0/strictdoc/export/html/templates/screens/source_file_view/range_button.jinja +18 -0
  112. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/source_file_view/requirement.jinja +63 -29
  113. strictdoc-0.8.0/strictdoc/export/html/templates/screens/traceability_matrix/file.jinja +19 -0
  114. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html2pdf/pdf_print_driver.py +5 -1
  115. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/json/json_generator.py +0 -3
  116. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/rst/writer.py +11 -23
  117. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/spdx/spdx_generator.py +1 -1
  118. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/spdx/spdx_to_sdoc_converter.py +2 -3
  119. strictdoc-0.8.0/strictdoc/helpers/cast.py +108 -0
  120. strictdoc-0.8.0/strictdoc/helpers/file_stats.py +37 -0
  121. strictdoc-0.8.0/strictdoc/helpers/google_test.py +35 -0
  122. strictdoc-0.8.0/strictdoc/helpers/net.py +20 -0
  123. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/ordered_set.py +10 -2
  124. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/paths.py +10 -7
  125. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/string.py +8 -14
  126. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/server/app.py +4 -18
  127. strictdoc-0.8.0/strictdoc/server/reload_config.py +118 -0
  128. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/server/routers/main_router.py +11 -43
  129. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/server/server.py +32 -53
  130. strictdoc-0.6.1a2/strictdoc/backend/sdoc/document_reference.py +0 -15
  131. strictdoc-0.6.1a2/strictdoc/backend/sdoc/models/anchor.py +0 -46
  132. strictdoc-0.6.1a2/strictdoc/backend/sdoc/models/any_node.py +0 -12
  133. strictdoc-0.6.1a2/strictdoc/backend/sdoc/models/document_from_file.py +0 -72
  134. strictdoc-0.6.1a2/strictdoc/backend/sdoc/models/object.py +0 -19
  135. strictdoc-0.6.1a2/strictdoc/core/file_traceability_index.py +0 -542
  136. strictdoc-0.6.1a2/strictdoc/export/html/_static/source-code-coverage.js +0 -415
  137. strictdoc-0.6.1a2/strictdoc/export/html/_static/source.css +0 -197
  138. strictdoc-0.6.1a2/strictdoc/export/html/generators/source_file_coverage.py +0 -56
  139. strictdoc-0.6.1a2/strictdoc/export/html/generators/view_objects/source_file_view_object.py +0 -98
  140. strictdoc-0.6.1a2/strictdoc/export/html/templates/components/node_field/files/index.jinja +0 -34
  141. strictdoc-0.6.1a2/strictdoc/export/html/templates/screens/source_file_coverage/file.jinja +0 -55
  142. strictdoc-0.6.1a2/strictdoc/export/html/templates/screens/source_file_coverage/folder.jinja +0 -27
  143. strictdoc-0.6.1a2/strictdoc/export/html/templates/screens/source_file_coverage/main.jinja +0 -25
  144. strictdoc-0.6.1a2/strictdoc/export/html/templates/screens/source_file_view/aside.jinja +0 -39
  145. strictdoc-0.6.1a2/strictdoc/export/html/templates/screens/source_file_view/main.jinja +0 -37
  146. strictdoc-0.6.1a2/strictdoc/export/html/templates/screens/traceability_matrix/file.jinja +0 -27
  147. strictdoc-0.6.1a2/strictdoc/helpers/cast.py +0 -14
  148. strictdoc-0.6.1a2/strictdoc/server/main.py +0 -49
  149. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/LICENSE +0 -0
  150. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/NOTICE +0 -0
  151. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/README.md +0 -0
  152. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/__init__.py +0 -0
  153. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/excel/__init__.py +0 -0
  154. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/excel/excel_import.py +0 -0
  155. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/excel/export/__init__.py +0 -0
  156. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/excel/export/excel_generator.py +0 -0
  157. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/excel/import_/__init__.py +0 -0
  158. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/excel/import_/excel_sheet_proxy.py +0 -0
  159. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/reqif/__init__.py +0 -0
  160. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/reqif/p01_sdoc/__init__.py +0 -0
  161. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/reqif/reqif_export.py +0 -0
  162. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/reqif/reqif_import.py +0 -0
  163. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/reqif/sdoc_reqif_fields.py +0 -0
  164. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/__init__.py +0 -0
  165. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/constants.py +0 -0
  166. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/errors/__init__.py +0 -0
  167. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/errors/document_tree_error.py +0 -0
  168. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/free_text_reader.py +0 -0
  169. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/grammar/__init__.py +0 -0
  170. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/grammar/grammar_builder.py +0 -0
  171. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/grammar_reader.py +0 -0
  172. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/models/__init__.py +0 -0
  173. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/models/document_config.py +0 -0
  174. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/models/free_text.py +0 -0
  175. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/models/inline_link.py +0 -0
  176. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/pickle_cache.py +0 -0
  177. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/reader.py +0 -0
  178. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc/validations/__init__.py +0 -0
  179. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc_source_code/__init__.py +0 -0
  180. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc_source_code/caching_reader.py +0 -0
  181. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc_source_code/constants.py +0 -0
  182. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc_source_code/models/__init__.py +0 -0
  183. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc_source_code/models/function.py +0 -0
  184. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc_source_code/models/requirement_marker.py +0 -0
  185. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/backend/sdoc_source_code/tree_sitter_helpers.py +0 -0
  186. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/cli/__init__.py +0 -0
  187. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/cli/argument_int_range.py +0 -0
  188. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/cli/main.py +0 -0
  189. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/commands/__init__.py +0 -0
  190. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/commands/about_command.py +0 -0
  191. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/commands/diff_command.py +0 -0
  192. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/commands/dump_grammar_command.py +0 -0
  193. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/commands/manage_autouid_command.py +0 -0
  194. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/commands/version_command.py +0 -0
  195. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/__init__.py +0 -0
  196. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/actions/__init__.py +0 -0
  197. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/actions/import_action.py +0 -0
  198. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/asset_manager.py +0 -0
  199. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/document_meta.py +0 -0
  200. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/document_tree_iterator.py +0 -0
  201. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/environment.py +0 -0
  202. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/file_dependency_manager.py +0 -0
  203. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/finders/__init__.py +0 -0
  204. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/finders/source_files_finder.py +0 -0
  205. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/graph/abstract_bucket.py +0 -0
  206. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/graph/many_to_many_set.py +0 -0
  207. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/graph/one_to_one_dictionary.py +0 -0
  208. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/graph_database.py +0 -0
  209. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/query_engine/grammar.py +0 -0
  210. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/query_engine/query_reader.py +0 -0
  211. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/source_tree.py +0 -0
  212. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/transforms/constants.py +0 -0
  213. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/transforms/update_document_config.py +0 -0
  214. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/transforms/update_grammar.py +0 -0
  215. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/transforms/update_grammar_element.py +0 -0
  216. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/transforms/update_included_document.py +0 -0
  217. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/transforms/validation_error.py +0 -0
  218. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/core/tree_cycle_detector.py +0 -0
  219. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/__init__.py +0 -0
  220. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/doxygen/doxygen_generator.py +0 -0
  221. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/autogen.css +0 -0
  222. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/collapsible_list.js +0 -0
  223. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/collapsible_toc.js +0 -0
  224. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/collapsible_tree.js +0 -0
  225. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/controllers/anchor_controller.js +0 -0
  226. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/controllers/autocompletable_field_controller.js +0 -0
  227. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/controllers/copy_to_clipboard_controller.js +0 -0
  228. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/controllers/deletable_field_controller.js +0 -0
  229. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/controllers/draggable_list_controller.js +0 -0
  230. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/controllers/dropdown_menu_controller.js +0 -0
  231. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/controllers/editable_field_controller.js +0 -0
  232. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/controllers/modal_controller.js +0 -0
  233. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/controllers/movable_field_controller.js +0 -0
  234. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/controllers/scroll_into_view_controller.js +0 -0
  235. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/controllers/tabs_controller.js +0 -0
  236. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/diff.css +0 -0
  237. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/diff.js +0 -0
  238. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/favicon.ico +0 -0
  239. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/fonts/NotoSans-Italic-VariableFont_wdth,wght.ttf +0 -0
  240. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/fonts/NotoSans-VariableFont_wdth,wght.ttf +0 -0
  241. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/fonts/NotoSansMono-VariableFont_wdth,wght.ttf +0 -0
  242. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/pan_with_space.js +0 -0
  243. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/project_tree.css +0 -0
  244. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/requirement.css +0 -0
  245. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/requirement__temporary.css +0 -0
  246. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/requirements-coverage.js +0 -0
  247. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/resizable_bar.js +0 -0
  248. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/stimulus.min.js +0 -0
  249. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/table_vew.css +0 -0
  250. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/toc_highlighting.js +0 -0
  251. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/traceability_matrix.css +0 -0
  252. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/tree(not_in_use).css +0 -0
  253. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/turbo.min.js +0 -0
  254. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/viewtype_menu.js +0 -0
  255. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static/zoomable.js +0 -0
  256. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/LICENSE-MATHJAX +0 -0
  257. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/tex.js +0 -0
  258. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
  259. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
  260. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
  261. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
  262. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
  263. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
  264. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
  265. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
  266. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
  267. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
  268. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
  269. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
  270. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
  271. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
  272. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
  273. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
  274. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
  275. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
  276. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
  277. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
  278. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
  279. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
  280. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
  281. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mathjax/tex-mml-chtml.js +0 -0
  282. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/mermaid/mermaid.min.js +0 -0
  283. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/nestor/bundle.umd.js +0 -0
  284. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/_static_extra/rapidoc/rapidoc-min.js +0 -0
  285. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/document_type.py +0 -0
  286. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/form_objects/document_config_form_object.py +0 -0
  287. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/form_objects/grammar_form_object.py +0 -0
  288. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/form_objects/included_document_form_object.py +0 -0
  289. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/form_objects/rows/row_with_grammar_element_form_object.py +0 -0
  290. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/form_objects/section_form_object.py +0 -0
  291. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/__init__.py +0 -0
  292. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/document.py +0 -0
  293. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/document_deep_trace.py +0 -0
  294. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/document_pdf.py +0 -0
  295. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/document_table.py +0 -0
  296. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/document_trace.py +0 -0
  297. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/document_tree.py +0 -0
  298. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/traceability_matrix.py +0 -0
  299. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/view_objects/diff_screen_results_view_object.py +0 -0
  300. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/view_objects/diff_screen_view_object.py +0 -0
  301. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/view_objects/nestor_view_object.py +0 -0
  302. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/view_objects/project_statistics_view_object.py +0 -0
  303. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/view_objects/project_tree_stats.py +0 -0
  304. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/generators/view_objects/traceability_matrix_view_object.py +0 -0
  305. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/html_generator.py +0 -0
  306. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/html_templates.py +0 -0
  307. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/renderers/__init__.py +0 -0
  308. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/renderers/html_fragment_writer.py +0 -0
  309. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/renderers/markup_renderer.py +0 -0
  310. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/renderers/text_to_html_writer.py +0 -0
  311. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg__separator.jinja.html +0 -0
  312. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_add.jinja.html +0 -0
  313. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_add_above.jinja +0 -0
  314. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_add_below.jinja +0 -0
  315. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_add_child.jinja +0 -0
  316. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_anchor.jinja +0 -0
  317. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_back.jinja.html +0 -0
  318. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_book.jinja.html +0 -0
  319. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_close.jinja +0 -0
  320. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_code.jinja.html +0 -0
  321. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_copy.jinja +0 -0
  322. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_delete.jinja.html +0 -0
  323. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_diff.jinja +0 -0
  324. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_document.jinja.html +0 -0
  325. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_done.jinja +0 -0
  326. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_edit.jinja.html +0 -0
  327. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_expand.jinja.html +0 -0
  328. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_file.jinja +0 -0
  329. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_folder.jinja +0 -0
  330. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_folder_collapse.jinja +0 -0
  331. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_folder_sm.jinja +0 -0
  332. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_fragment.jinja +0 -0
  333. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_fragment_draft.jinja +0 -0
  334. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_gear.jinja.html +0 -0
  335. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_go_to_doc.jinja +0 -0
  336. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_index.jinja.html +0 -0
  337. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_list.jinja.html +0 -0
  338. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_maximize.jinja +0 -0
  339. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_minimize.jinja +0 -0
  340. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_minusminus.jinja.html +0 -0
  341. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_move_down.jinja.html +0 -0
  342. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_move_up.jinja.html +0 -0
  343. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_plusplus.jinja.html +0 -0
  344. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_project.jinja.html +0 -0
  345. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_requirement.jinja.html +0 -0
  346. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_reset.jinja +0 -0
  347. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_search.jinja +0 -0
  348. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_source.jinja.html +0 -0
  349. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_stat.jinja +0 -0
  350. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_sync.jinja +0 -0
  351. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_toc.jinja.html +0 -0
  352. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_res/svg_ico16_tree.jinja +0 -0
  353. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_shared/nav.jinja.html +0 -0
  354. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_shared/requirement_tree_left.jinja.html +0 -0
  355. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_shared/requirement_tree_right.jinja.html +0 -0
  356. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/_shared/tags.jinja.html +0 -0
  357. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/_shared/stream_refresh_document.jinja.html +0 -0
  358. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/_shared/stream_updated_toc.jinja.html +0 -0
  359. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/add_requirement_comment/stream_add_requirement_comment.jinja.html +0 -0
  360. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/add_requirement_relation/stream_add_requirement_relation.jinja.html +0 -0
  361. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/create_requirement/stream_cancel_new_requirement.jinja.html +0 -0
  362. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/create_requirement/stream_created_requirement.jinja.html +0 -0
  363. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/create_requirement/stream_new_requirement.jinja.html +0 -0
  364. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/create_section/stream_cancel_new_section.jinja.html +0 -0
  365. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/create_section/stream_created_section.jinja.html +0 -0
  366. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/create_section/stream_new_section.jinja.html +0 -0
  367. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_confirm_delete_requirement.jinja +0 -0
  368. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_delete_requirement.jinja.html +0 -0
  369. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/delete_section/stream_confirm_delete_section.jinja +0 -0
  370. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/delete_section/stream_delete_section.jinja.html +0 -0
  371. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_cancel_edit_document_config.jinja.html +0 -0
  372. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_edit_document_config.jinja.html +0 -0
  373. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_save_document_config.jinja.html +0 -0
  374. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_edit_requirement.jinja.html +0 -0
  375. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/edit_section/stream_edit_section.jinja.html +0 -0
  376. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/document/edit_section/stream_updated_section.jinja.html +0 -0
  377. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_requirement.jinja +0 -0
  378. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_section.jinja +0 -0
  379. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_form_import_reqif_document.jinja.html +0 -0
  380. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_refresh_with_imported_reqif_document.jinja.html +0 -0
  381. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/project_index/stream_create_document.jinja.html +0 -0
  382. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/actions/project_index/stream_new_document.jinja.html +0 -0
  383. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/autocomplete/uid/stream_autocomplete_uid.jinja.html +0 -0
  384. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/base.jinja.html +0 -0
  385. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/badge/index.jinja +0 -0
  386. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/button/cancel.jinja +0 -0
  387. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/button/confirm.jinja +0 -0
  388. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/button/delete.jinja +0 -0
  389. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/button/diff.jinja +0 -0
  390. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/button/search.jinja +0 -0
  391. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/button/submit.jinja +0 -0
  392. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/confirm/_usage_example.jinja +0 -0
  393. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/confirm/index.jinja +0 -0
  394. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/field/index.jinja +0 -0
  395. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/form/field/autocompletable/index.jinja +0 -0
  396. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/form/field/contenteditable/index.jinja +0 -0
  397. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/form/field/file/index.jinja +0 -0
  398. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/form/field/text/index.jinja +0 -0
  399. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/form/field_action_button/index.jinja +0 -0
  400. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/form/index.jinja +0 -0
  401. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/form/row/index.jinja +0 -0
  402. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/example.jinja.html +0 -0
  403. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/frame.jinja +0 -0
  404. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/stream.jinja +0 -0
  405. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/form/row/row_with_comment.jinja +0 -0
  406. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/form/row/row_with_relation.jinja +0 -0
  407. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/form/row/row_with_text_field.jinja +0 -0
  408. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/form/search.jinja +0 -0
  409. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/grammar_form/index.jinja +0 -0
  410. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/grammar_form/row_with_grammar_element/index.jinja +0 -0
  411. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/grammar_form/row_with_new_grammar_element/index.jinja +0 -0
  412. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/grammar_form_element/index.jinja +0 -0
  413. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/grammar_form_element/row_with_custom_field/index.jinja +0 -0
  414. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/grammar_form_element/row_with_relation/index.jinja +0 -0
  415. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/grammar_form_element/row_with_reserved_field/index.jinja +0 -0
  416. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/header/_usage_example.jinja +0 -0
  417. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/header/header_pagetype.jinja +0 -0
  418. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/header/index.jinja +0 -0
  419. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/included_document_form/index.jinja +0 -0
  420. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/modal/_usage_example.jinja +0 -0
  421. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/modal/form.jinja +0 -0
  422. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/modal/index.jinja +0 -0
  423. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node/card.jinja +0 -0
  424. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node/index.jinja +0 -0
  425. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node/node_controls/card.jinja +0 -0
  426. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node/node_controls/index.jinja +0 -0
  427. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node/root.jinja +0 -0
  428. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node_field/README.txt +0 -0
  429. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node_field/comments/index.jinja +0 -0
  430. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node_field/document_meta/index.jinja +0 -0
  431. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node_field/document_title/index.jinja +0 -0
  432. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node_field/meta/index.jinja +0 -0
  433. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node_field/multiline/index.jinja +0 -0
  434. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node_field/rationale/index.jinja +0 -0
  435. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node_field/section_h/index.jinja +0 -0
  436. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node_field/section_h/pdf.jinja +0 -0
  437. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node_field/section_title/index.jinja +0 -0
  438. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node_field/statement/index.jinja +0 -0
  439. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node_field/text/index.jinja +0 -0
  440. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node_field/title/index.jinja +0 -0
  441. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node_field/title/pdf.jinja +0 -0
  442. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node_field/uid/index.jinja +0 -0
  443. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/node_field/uid_standalone/index.jinja +0 -0
  444. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/requirement/card.jinja +0 -0
  445. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/requirement/card_extends_card.jinja +0 -0
  446. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/requirement/index.jinja +0 -0
  447. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/requirement/index_extends_node.jinja +0 -0
  448. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/requirement/pdf.jinja +0 -0
  449. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/requirement/tiny.jinja +0 -0
  450. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/requirement/tiny_extends_card.jinja +0 -0
  451. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/resizable_bar/index.jinja +0 -0
  452. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/section/card.jinja +0 -0
  453. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/section/card_extends_card.jinja +0 -0
  454. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/section/index.jinja +0 -0
  455. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/section/index_extends_node.jinja +0 -0
  456. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/section/pdf.jinja +0 -0
  457. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/section/tiny.jinja +0 -0
  458. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/section/tiny_extends_card.jinja +0 -0
  459. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/table_key_value/index.jinja +0 -0
  460. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/text_node/card.jinja +0 -0
  461. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/text_node/card_extends_card.jinja +0 -0
  462. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/text_node/index.jinja +0 -0
  463. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/text_node/index_extends_node.jinja +0 -0
  464. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/text_node/pdf.jinja +0 -0
  465. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/text_node/tiny.jinja +0 -0
  466. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/components/text_node/tiny_extends_card.jinja +0 -0
  467. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/rst/anchor.jinja +0 -0
  468. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/_shared/frame_header_document_title.jinja +0 -0
  469. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_requirement.jinja +0 -0
  470. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_section.jinja +0 -0
  471. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/_shared/frame_toc.jinja +0 -0
  472. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_project_tree.jinja +0 -0
  473. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_toc.jinja +0 -0
  474. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/_shared/toc.jinja +0 -0
  475. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/_shared/viewtype_menu.jinja +0 -0
  476. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/document/actions.jinja +0 -0
  477. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/document/frame_document_config.jinja.html +0 -0
  478. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/document/frame_document_config_edit.jinja.html +0 -0
  479. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +0 -0
  480. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/document/frame_section_form.jinja +0 -0
  481. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/document/index.jinja +0 -0
  482. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/document/main.jinja +0 -0
  483. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/pdf/index.jinja +0 -0
  484. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/pdf/main.jinja +0 -0
  485. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/pdf/template/footer.jinja +0 -0
  486. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/pdf/template/frontpage.jinja +0 -0
  487. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/pdf/template/header.jinja +0 -0
  488. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/pdf/toc.jinja +0 -0
  489. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/table/index.jinja +0 -0
  490. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/traceability/index.jinja +0 -0
  491. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/traceability/main.jinja +0 -0
  492. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/traceability_deep/index.jinja +0 -0
  493. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/document/traceability_deep/main.jinja +0 -0
  494. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/git/changelog_content.jinja +0 -0
  495. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/git/diff_content.jinja +0 -0
  496. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/git/diff_controls.jinja +0 -0
  497. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/git/fields/document_fields.jinja +0 -0
  498. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/git/fields/requirement_fields.jinja +0 -0
  499. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/git/fields/section_fields.jinja +0 -0
  500. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/git/form.jinja +0 -0
  501. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/git/frame_changelog_result.jinja +0 -0
  502. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/git/frame_diff_result.jinja +0 -0
  503. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/git/index.jinja +0 -0
  504. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/git/legend.jinja +0 -0
  505. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/git/main.jinja +0 -0
  506. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/git/nav_tabs.jinja +0 -0
  507. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/git/node/requirement.jinja +0 -0
  508. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/git/node/section.jinja +0 -0
  509. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/git/skeleton.jinja +0 -0
  510. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/git/sync/button.jinja +0 -0
  511. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/nestor/index.jinja +0 -0
  512. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/project_index/actions.jinja +0 -0
  513. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/project_index/frame_form_import_reqif.jinja.html +0 -0
  514. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/project_index/frame_form_new_document.jinja.html +0 -0
  515. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/project_index/frame_project_tree.jinja.html +0 -0
  516. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/project_index/index.jinja +0 -0
  517. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/project_index/project_tree_file.jinja +0 -0
  518. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/project_statistics/index.jinja +0 -0
  519. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/project_statistics/main.jinja +0 -0
  520. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/search/index.jinja +0 -0
  521. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/search/legend.jinja +0 -0
  522. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/search/main.jinja +0 -0
  523. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/source_file_view/header__source_file_name.jinja +0 -0
  524. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/traceability_matrix/index.jinja +0 -0
  525. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/traceability_matrix/main.jinja +0 -0
  526. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/traceability_matrix/project_tree_flat_anchor_list.jinja +0 -0
  527. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/traceability_matrix/requirement.jinja.html +0 -0
  528. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/screens/traceability_matrix/resizable_bar_with_project_tree.jinja +0 -0
  529. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/website/document/index.jinja +0 -0
  530. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/templates/websocket.jinja.html +0 -0
  531. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/tools/__init__.py +0 -0
  532. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html/tools/html_embedded.py +0 -0
  533. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/html2pdf/html2pdf_generator.py +0 -0
  534. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/rst/__init__.py +0 -0
  535. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/rst/directives/raw_html_role.py +0 -0
  536. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/rst/directives/wildcard_enhanced_image.py +0 -0
  537. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/rst/document_rst_generator.py +0 -0
  538. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/rst/rst_templates.py +0 -0
  539. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/rst/rst_to_html_fragment_writer.py +0 -0
  540. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/rst/templates/requirement.jinja.rst +0 -0
  541. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/export/spdx/spdx_sdoc_container.py +0 -0
  542. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/git/change.py +0 -0
  543. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/git/change_generator.py +0 -0
  544. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/git/git_client.py +0 -0
  545. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/git/project_diff_analyzer.py +0 -0
  546. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/__init__.py +0 -0
  547. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/auto_described.py +0 -0
  548. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/diff.py +0 -0
  549. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/exception.py +0 -0
  550. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/file_modification_time.py +0 -0
  551. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/file_system.py +0 -0
  552. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/form_data.py +0 -0
  553. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/git_client.py +0 -0
  554. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/math.py +0 -0
  555. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/md5.py +0 -0
  556. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/mid.py +0 -0
  557. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/parallelizer.py +0 -0
  558. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/path_filter.py +0 -0
  559. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/pickle.py +0 -0
  560. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/rst.py +0 -0
  561. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/sha256.py +0 -0
  562. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/shard.py +0 -0
  563. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/sorting.py +0 -0
  564. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/textx.py +0 -0
  565. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/helpers/timing.py +0 -0
  566. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/server/__init__.py +0 -0
  567. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/server/config.py +0 -0
  568. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/server/error_object.py +0 -0
  569. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/server/helpers/turbo.py +0 -0
  570. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/strictdoc/server/routers/other_router.py +0 -0
  571. {strictdoc-0.6.1a2 → strictdoc-0.8.0}/tests/integration/scripting_examples/questionnaires/02_user_provided_example/LICENSE +0 -0
@@ -51,3 +51,6 @@ __*.sgra
51
51
 
52
52
  ### webdriver_manager: cache with downloaded Chrome Driver binaries ###
53
53
  strictdoc/export/html2pdf/.wdm
54
+
55
+ ### Test reports
56
+ reports/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: strictdoc
3
- Version: 0.6.1a2
3
+ Version: 0.8.0
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/
@@ -22,7 +22,7 @@ Requires-Python: >=3.8
22
22
  Requires-Dist: beautifulsoup4==4.*,>=4.12.0
23
23
  Requires-Dist: docutils==0.*,>=0.16
24
24
  Requires-Dist: fastapi>=0.83.0
25
- Requires-Dist: html2print>=0.0.12
25
+ Requires-Dist: html2print>=0.0.15
26
26
  Requires-Dist: html5lib>=1.1
27
27
  Requires-Dist: jinja2>=2.11.2
28
28
  Requires-Dist: openpyxl>=3.1.0
@@ -88,7 +88,7 @@ dependencies = [
88
88
  "WebSockets",
89
89
 
90
90
  # HTML2PDF dependencies
91
- "html2print >= 0.0.12",
91
+ "html2print >= 0.0.15",
92
92
  ]
93
93
  # @sdoc[/SDOC-SRS-89]
94
94
 
@@ -1,6 +1,6 @@
1
1
  from strictdoc.core.environment import SDocRuntimeEnvironment
2
2
 
3
- __version__ = "0.6.1a2"
3
+ __version__ = "0.8.0"
4
4
 
5
5
 
6
6
  environment = SDocRuntimeEnvironment(__file__)
@@ -126,7 +126,6 @@ class ExcelToSDocConverter:
126
126
  config=document_config,
127
127
  view=None,
128
128
  grammar=None,
129
- free_texts=[],
130
129
  section_contents=[],
131
130
  )
132
131
 
@@ -175,6 +175,7 @@ class P01_ReqIFToSDocConverter:
175
175
  P01_ReqIFToSDocConverter.create_section_from_spec_object(
176
176
  spec_object=spec_object,
177
177
  context=context,
178
+ parent_section=current_section_,
178
179
  level=current_hierarchy_.level,
179
180
  reqif_bundle=reqif_bundle,
180
181
  )
@@ -332,7 +333,7 @@ class P01_ReqIFToSDocConverter:
332
333
  else "<No title>"
333
334
  )
334
335
  document = SDocDocument(
335
- None, document_title, document_config, None, None, [], []
336
+ None, document_title, document_config, None, None, []
336
337
  )
337
338
  if context.enable_mid:
338
339
  document.reserved_mid = specification.identifier
@@ -347,6 +348,7 @@ class P01_ReqIFToSDocConverter:
347
348
  *,
348
349
  spec_object: ReqIFSpecObject,
349
350
  context: P01_ReqIFToSDocBuildContext,
351
+ parent_section: Union[SDocSection, SDocDocument],
350
352
  level: int,
351
353
  reqif_bundle: ReqIFBundle,
352
354
  ) -> SDocSection:
@@ -381,13 +383,12 @@ class P01_ReqIFToSDocConverter:
381
383
  section_mid = spec_object.identifier if context.enable_mid else None
382
384
 
383
385
  section = SDocSection(
384
- parent=None,
386
+ parent=parent_section,
385
387
  mid=section_mid,
386
388
  uid=None,
387
389
  custom_level=None,
388
390
  title=section_title,
389
391
  requirement_prefix=None,
390
- free_texts=[],
391
392
  section_contents=[],
392
393
  )
393
394
  section.ng_level = level
@@ -430,6 +430,10 @@ class P01_SDocToReqIFObjectConverter:
430
430
  context: P01_SDocToReqIFBuildContext,
431
431
  ) -> ReqIFSpecObject:
432
432
  assert isinstance(section, SDocSection)
433
+ parent_document: SDocDocument = assert_cast(
434
+ section.get_document(), SDocDocument
435
+ )
436
+
433
437
  attributes = []
434
438
  title_attribute = SpecObjectAttribute(
435
439
  xml_node=None,
@@ -443,7 +447,7 @@ class P01_SDocToReqIFObjectConverter:
443
447
  If MIDs is enabled and this section has an MID, use it for
444
448
  SPEC-OBJECT IDENTIFIER.
445
449
  """
446
- enable_mid = context.enable_mid and section.document.config.enable_mid
450
+ enable_mid = context.enable_mid and parent_document.config.enable_mid
447
451
  section_identifier: str
448
452
  if enable_mid and section.reserved_mid is not None:
449
453
  section_identifier = section.reserved_mid
@@ -451,7 +455,7 @@ class P01_SDocToReqIFObjectConverter:
451
455
  section_identifier = generate_unique_identifier("SECTION")
452
456
 
453
457
  spec_object_type: ReqIFSpecObjectType = (
454
- context.map_grammar_node_tags_to_spec_object_type[section.document][
458
+ context.map_grammar_node_tags_to_spec_object_type[parent_document][
455
459
  "SECTION"
456
460
  ]
457
461
  )
@@ -475,9 +479,9 @@ class P01_SDocToReqIFObjectConverter:
475
479
  data_types: List,
476
480
  data_types_lookup: Dict[str, str],
477
481
  ) -> ReqIFSpecObject:
478
- enable_mid = (
479
- context.enable_mid and requirement.document.config.enable_mid
480
- )
482
+ node_document = assert_cast(requirement.get_document(), SDocDocument)
483
+
484
+ enable_mid = context.enable_mid and node_document.config.enable_mid
481
485
 
482
486
  requirement_identifier: str
483
487
  if enable_mid and requirement.reserved_mid is not None:
@@ -541,7 +545,7 @@ class P01_SDocToReqIFObjectConverter:
541
545
 
542
546
  field_value: str = field.get_text_value().rstrip()
543
547
 
544
- attribute_type: str
548
+ attribute_type: SpecObjectAttributeType
545
549
  if context.multiline_is_xhtml:
546
550
  attribute_type = (
547
551
  SpecObjectAttributeType.XHTML
@@ -572,9 +576,9 @@ class P01_SDocToReqIFObjectConverter:
572
576
  ] = requirement.relations
573
577
 
574
578
  spec_object_type: ReqIFSpecObjectType = (
575
- context.map_grammar_node_tags_to_spec_object_type[
576
- requirement.document
577
- ][requirement.node_type]
579
+ context.map_grammar_node_tags_to_spec_object_type[node_document][
580
+ requirement.node_type
581
+ ]
578
582
  )
579
583
  spec_object = ReqIFSpecObject.create(
580
584
  identifier=requirement_identifier,
@@ -718,7 +722,7 @@ class P01_SDocToReqIFObjectConverter:
718
722
  chapter_name_attribute = SpecAttributeDefinition.create(
719
723
  attribute_type=SpecObjectAttributeType.STRING,
720
724
  identifier="ReqIF.ChapterName",
721
- datatype_definition=(StrictDocReqIFTypes.SINGLE_LINE_STRING.value),
725
+ datatype_definition=StrictDocReqIFTypes.SINGLE_LINE_STRING.value,
722
726
  long_name="ReqIF.ChapterName",
723
727
  )
724
728
  attribute_definitions.append(chapter_name_attribute)
@@ -0,0 +1,14 @@
1
+ from typing import Optional
2
+
3
+ from strictdoc.backend.sdoc.models.model import SDocDocumentIF
4
+
5
+
6
+ class DocumentReference:
7
+ def __init__(self) -> None:
8
+ self._document: Optional[SDocDocumentIF] = None
9
+
10
+ def get_document(self) -> Optional[SDocDocumentIF]:
11
+ return self._document
12
+
13
+ def set_document(self, document: SDocDocumentIF) -> None:
14
+ self._document = document
@@ -1,5 +1,5 @@
1
1
  # mypy: disable-error-code="attr-defined,no-untyped-call,no-untyped-def,union-attr"
2
- from typing import Optional
2
+ from typing import Optional, Union
3
3
 
4
4
  from textx import TextXSyntaxError
5
5
 
@@ -19,6 +19,15 @@ from strictdoc.backend.sdoc.models.node import (
19
19
  SDocNodeField,
20
20
  )
21
21
  from strictdoc.backend.sdoc.models.reference import Reference
22
+ from strictdoc.backend.sdoc_source_code.models.function_range_marker import (
23
+ ForwardFunctionRangeMarker,
24
+ FunctionRangeMarker,
25
+ )
26
+ from strictdoc.backend.sdoc_source_code.models.range_marker import (
27
+ ForwardRangeMarker,
28
+ LineMarker,
29
+ RangeMarker,
30
+ )
22
31
 
23
32
 
24
33
  def get_textx_syntax_error_message(exception: TextXSyntaxError):
@@ -257,6 +266,28 @@ class StrictDocSemanticError(Exception):
257
266
  filename=path_to_sdoc_file,
258
267
  )
259
268
 
269
+ @staticmethod
270
+ def invalid_marker_role(
271
+ node: SDocNode,
272
+ marker: Union[
273
+ ForwardFunctionRangeMarker,
274
+ FunctionRangeMarker,
275
+ LineMarker,
276
+ RangeMarker,
277
+ ForwardRangeMarker,
278
+ ],
279
+ path_to_src_file: str,
280
+ ):
281
+ role_and_type = marker.role if marker.role is not None else "Any"
282
+ return StrictDocSemanticError(
283
+ title=(f"File marker role is not registered: {role_and_type}."),
284
+ hint=f"Problematic requirement: {node.reserved_uid}.",
285
+ example=None,
286
+ line=marker.ng_source_line_begin,
287
+ col=marker.ng_source_column_begin,
288
+ filename=path_to_src_file,
289
+ )
290
+
260
291
  @staticmethod
261
292
  def grammar_missing_reserved_statement(
262
293
  grammar_element: GrammarElement,
@@ -4,7 +4,6 @@ NEGATIVE_MULTILINE_STRING_START = "(?!>>>\n)"
4
4
  NEGATIVE_MULTILINE_STRING_END = "(?!^<<<)"
5
5
  NEGATIVE_RELATIONS = "(?!^RELATIONS)"
6
6
  NEGATIVE_UID = "(?!^UID)"
7
- NEGATIVE_FREETEXT_END = "(?!^\\[\\/FREETEXT\\]\n)"
8
7
  NEGATIVE_INLINE_LINK_START = rf"(?!\[LINK: {REGEX_UID})"
9
8
  NEGATIVE_ANCHOR_START = rf"(?!^\[ANCHOR: {REGEX_UID})"
10
9
 
@@ -18,7 +17,7 @@ SingleLineTextPart[noskipws]:
18
17
  ;
19
18
 
20
19
  NormalString[noskipws]:
21
- (/(?ms){NEGATIVE_MULTILINE_STRING_END}{NEGATIVE_FREETEXT_END}{NEGATIVE_INLINE_LINK_START}{NEGATIVE_ANCHOR_START}./)+
20
+ (/(?ms){NEGATIVE_MULTILINE_STRING_END}{NEGATIVE_INLINE_LINK_START}{NEGATIVE_ANCHOR_START}./)+
22
21
  ;
23
22
 
24
23
  InlineLink[noskipws]:
@@ -63,7 +62,6 @@ SDocDocument[noskipws]:
63
62
  (config = DocumentConfig)?
64
63
  (view = DocumentView)?
65
64
  ('\n' grammar = DocumentGrammar)?
66
- free_texts *= SpaceThenFreeText
67
65
  section_contents *= SectionOrRequirement
68
66
  ;
69
67
 
@@ -146,7 +144,6 @@ SDocSection[noskipws]:
146
144
  ('LEVEL: ' custom_level = SingleLineString '\n')?
147
145
  'TITLE: ' title = SingleLineString '\n'
148
146
  ('REQ_PREFIX: ' requirement_prefix = SingleLineString '\n')?
149
- free_texts *= SpaceThenFreeText
150
147
  section_contents *= SectionOrRequirement
151
148
  '\n'
152
149
  '[/SECTION]'
@@ -166,12 +163,8 @@ SpaceThenRequirement[noskipws]:
166
163
  '\n' (SDocNode | SDocCompositeNode)
167
164
  ;
168
165
 
169
- SpaceThenFreeText[noskipws]:
170
- '\n' (FreeText)
171
- ;
172
-
173
166
  ReservedKeyword[noskipws]:
174
- 'DOCUMENT' | 'GRAMMAR' | 'SECTION' | 'DOCUMENT_FROM_FILE' | 'FREETEXT'
167
+ 'DOCUMENT' | 'GRAMMAR' | 'SECTION' | 'DOCUMENT_FROM_FILE'
175
168
  ;
176
169
 
177
170
  SDocNode[noskipws]:
@@ -228,9 +221,4 @@ SDocCompositeNode[noskipws]:
228
221
  RequirementStatus[noskipws]:
229
222
  'Draft' | 'Active' | 'Deleted';
230
223
 
231
- FreeText[noskipws]:
232
- /\[FREETEXT\]\n/
233
- parts*=TextPart
234
- /\[\/FREETEXT\]\n/
235
- ;
236
224
  """
@@ -39,6 +39,7 @@ GrammarElementRelationChild[noskipws]:
39
39
 
40
40
  GrammarElementRelationFile[noskipws]:
41
41
  ' - TYPE: ' relation_type='File' '\n'
42
+ (' ROLE: ' relation_role=/.+/ '\n')?
42
43
  ;
43
44
 
44
45
  GrammarElementField[noskipws]:
@@ -40,6 +40,7 @@ ChildReqReference[noskipws]:
40
40
  FileReference[noskipws]:
41
41
  // FileReference is an early, experimental feature. Do not use yet.
42
42
  '- TYPE: File' '\n'
43
+ (' ROLE: ' role = /.+$/ '\n')?
43
44
  g_file_entry = FileEntry
44
45
  ;
45
46
 
@@ -0,0 +1,65 @@
1
+ from typing import Optional
2
+
3
+ from strictdoc.backend.sdoc.models.model import (
4
+ SDocDocumentIF,
5
+ SDocNodeFieldIF,
6
+ SDocNodeIF,
7
+ )
8
+ from strictdoc.helpers.auto_described import auto_described
9
+ from strictdoc.helpers.cast import assert_cast
10
+ from strictdoc.helpers.mid import MID
11
+
12
+
13
+ @auto_described
14
+ class Anchor:
15
+ def __init__(
16
+ self, parent: SDocNodeFieldIF, value: str, title: Optional[str]
17
+ ) -> None:
18
+ # In the grammar, the title is optional but textX passes it as an empty
19
+ # string. Putting an assert to monitor the regressions/changes if the
20
+ # grammar gets changed.
21
+ assert title is not None
22
+ # FIXME: Cannot enable this assert because the parent can also be
23
+ # FreeTextContainer. Refactor the types.
24
+ # assert isinstance(parent, SDocNodeFieldIF), parent # noqa: ERA001
25
+
26
+ self.parent: SDocNodeFieldIF = parent
27
+ self.value: str = value
28
+
29
+ has_title = len(title) > 0
30
+ self.title: str = title if has_title else value
31
+ self.has_title = has_title
32
+
33
+ # FIXME: Remove either mid or reserved_mid.
34
+ self.mid: MID = MID.create()
35
+ self.reserved_mid: MID = self.mid
36
+
37
+ def get_display_title(
38
+ self,
39
+ include_toc_number: bool = True, # noqa: ARG002
40
+ ) -> str:
41
+ return self.title
42
+
43
+ def get_document(self) -> SDocDocumentIF:
44
+ if isinstance(self.parent.parent, SDocDocumentIF):
45
+ return self.parent.parent
46
+ document: SDocDocumentIF = assert_cast(
47
+ self.parent_node().get_document(), SDocDocumentIF
48
+ )
49
+ return document
50
+
51
+ def get_parent_or_including_document(self) -> SDocDocumentIF:
52
+ return self.parent_node().get_parent_or_including_document()
53
+
54
+ # FIXME: Remove this. Use get_parent_or_including_document() instead.
55
+ @property
56
+ def parent_or_including_document(self) -> SDocDocumentIF:
57
+ return self.get_parent_or_including_document()
58
+
59
+ def get_including_document(self) -> Optional[SDocDocumentIF]:
60
+ return self.parent_node().get_including_document()
61
+
62
+ def parent_node(self) -> SDocNodeIF:
63
+ # Anchor -> SDocField -> SDocNode
64
+ parent_node: SDocNodeIF = assert_cast(self.parent.parent, SDocNodeIF)
65
+ return parent_node
@@ -10,7 +10,6 @@ from strictdoc.backend.sdoc.models.document_view import (
10
10
  DocumentView,
11
11
  ViewElement,
12
12
  )
13
- from strictdoc.backend.sdoc.models.free_text import FreeText
14
13
  from strictdoc.backend.sdoc.models.inline_link import InlineLink
15
14
  from strictdoc.backend.sdoc.models.node import (
16
15
  SDocCompositeNode,
@@ -48,7 +47,6 @@ SECTION_MODELS = [
48
47
  ParentReqReference,
49
48
  ChildReqReference,
50
49
  FileReference,
51
- FreeText,
52
50
  InlineLink,
53
51
  Anchor,
54
52
  FileEntry,
@@ -2,13 +2,19 @@
2
2
  @relation(SDOC-SRS-109, scope=file)
3
3
  """
4
4
 
5
- # mypy: disable-error-code="union-attr,type-arg"
6
5
  from typing import Generator, List, Optional
7
6
 
7
+ from strictdoc.backend.sdoc.document_reference import DocumentReference
8
8
  from strictdoc.backend.sdoc.models.document_config import DocumentConfig
9
9
  from strictdoc.backend.sdoc.models.document_grammar import DocumentGrammar
10
10
  from strictdoc.backend.sdoc.models.document_view import DocumentView
11
- from strictdoc.backend.sdoc.models.free_text import FreeText
11
+ from strictdoc.backend.sdoc.models.model import (
12
+ SDocDocumentContentIF,
13
+ SDocDocumentFromFileIF,
14
+ SDocDocumentIF,
15
+ SDocNodeIF,
16
+ SDocSectionIF,
17
+ )
12
18
  from strictdoc.core.document_meta import DocumentMeta
13
19
  from strictdoc.helpers.auto_described import auto_described
14
20
  from strictdoc.helpers.mid import MID
@@ -21,7 +27,7 @@ class SDocDocumentContext:
21
27
 
22
28
 
23
29
  @auto_described
24
- class SDocDocument:
30
+ class SDocDocument(SDocDocumentIF):
25
31
  def __init__(
26
32
  self,
27
33
  mid: Optional[str],
@@ -29,12 +35,9 @@ class SDocDocument:
29
35
  config: Optional[DocumentConfig],
30
36
  view: Optional[DocumentView],
31
37
  grammar: Optional[DocumentGrammar],
32
- free_texts: List[FreeText],
33
- section_contents: List,
38
+ section_contents: List[SDocDocumentContentIF],
34
39
  is_bundle_document: bool = False,
35
40
  ) -> None:
36
- assert isinstance(free_texts, list)
37
-
38
41
  self.title: str = title
39
42
  self.reserved_title: str = title
40
43
  self.config: DocumentConfig = (
@@ -46,12 +49,11 @@ class SDocDocument:
46
49
  view if view is not None else DocumentView.create_default(self)
47
50
  )
48
51
  self.grammar: Optional[DocumentGrammar] = grammar
49
- self.section_contents: List = section_contents
52
+ self.section_contents: List[SDocDocumentContentIF] = section_contents
50
53
 
51
54
  self.is_bundle_document: bool = is_bundle_document
52
55
 
53
- # FIXME: Plain list of all fragments found in the document.
54
- self.fragments_from_files: List = []
56
+ self.fragments_from_files: List[SDocDocumentFromFileIF] = []
55
57
 
56
58
  self.ng_level: int = 0
57
59
  self.ng_has_requirements = False
@@ -60,11 +62,13 @@ class SDocDocument:
60
62
 
61
63
  self.reserved_mid: MID = MID(mid) if mid is not None else MID.create()
62
64
  self.mid_permanent: bool = mid is not None
63
- self.included_documents: List[SDocDocument] = []
65
+ self.included_documents: List[SDocDocumentIF] = []
64
66
  self.context: SDocDocumentContext = SDocDocumentContext()
65
67
 
66
- self.ng_including_document_reference: Optional = None # type: ignore[valid-type]
67
- self.ng_including_document_from_file: Optional = None # type: ignore[valid-type]
68
+ self.ng_including_document_reference: Optional[DocumentReference] = None
69
+ self.ng_including_document_from_file: Optional[
70
+ SDocDocumentFromFileIF
71
+ ] = None
68
72
 
69
73
  @property
70
74
  def uid(self) -> Optional[str]:
@@ -104,12 +108,14 @@ class SDocDocument:
104
108
  return f"Document({', '.join(debug_components)})"
105
109
 
106
110
  def document_is_included(self) -> bool:
111
+ if self.ng_including_document_reference is None:
112
+ return False
107
113
  return self.ng_including_document_reference.get_document() is not None
108
114
 
109
- def get_including_document(self) -> Optional["SDocDocument"]:
110
- # FIXME: Fix no-any-return when the circular references between
111
- # SDocDocument and DocumentReference are fixed.
112
- return self.ng_including_document_reference.get_document() # type: ignore[no-any-return]
115
+ def get_including_document(self) -> Optional["SDocDocumentIF"]:
116
+ if self.ng_including_document_reference is None:
117
+ return None
118
+ return self.ng_including_document_reference.get_document()
113
119
 
114
120
  def iterate_included_documents_depth_first(
115
121
  self,
@@ -131,37 +137,34 @@ class SDocDocument:
131
137
 
132
138
  def has_any_toc_nodes(self) -> bool:
133
139
  for node_ in self.section_contents:
134
- if node_.__class__.__name__ == "DocumentFromFile":
135
- return True
136
- if node_.is_section:
137
- if node_.ng_resolved_custom_level != "None":
138
- return True
139
- # Skip nodes without a TOC level.
140
+ # Skip nodes without a TOC level.
141
+ if (
142
+ isinstance(node_, SDocSectionIF)
143
+ and node_.ng_resolved_custom_level == "None"
144
+ ):
140
145
  continue
141
146
  return True
142
147
  return False
143
148
 
144
149
  def has_any_requirements(self) -> bool:
145
- from strictdoc.backend.sdoc.models.document_from_file import (
146
- DocumentFromFile,
147
- )
148
-
149
- task_list = list(self.section_contents)
150
+ task_list: List[SDocDocumentContentIF] = list(self.section_contents)
150
151
  while len(task_list) > 0:
151
152
  section_or_requirement = task_list.pop(0)
152
- if isinstance(section_or_requirement, DocumentFromFile):
153
+ if isinstance(section_or_requirement, SDocDocumentFromFileIF):
153
154
  if section_or_requirement.has_any_requirements():
154
155
  return True
155
156
  continue
156
- if section_or_requirement.is_requirement:
157
+ if isinstance(section_or_requirement, SDocNodeIF):
157
158
  if section_or_requirement.node_type == "TEXT":
158
159
  continue
159
160
  return True
160
- assert section_or_requirement.is_section, section_or_requirement
161
161
  task_list.extend(section_or_requirement.section_contents)
162
162
  return False
163
163
 
164
- def get_display_title(self) -> str:
164
+ def get_display_title(
165
+ self,
166
+ include_toc_number: bool = True, # noqa: ARG002
167
+ ) -> str:
165
168
  return self.title
166
169
 
167
170
  @property
@@ -176,12 +179,16 @@ class SDocDocument:
176
179
  return self.config.get_requirement_prefix()
177
180
 
178
181
  def enumerate_meta_field_titles(self) -> Generator[str, None, None]:
182
+ assert self.grammar is not None
183
+ assert self.grammar.elements is not None
179
184
  # FIXME: currently only enumerating a single element ([0])
180
185
  yield from self.grammar.elements[0].enumerate_meta_field_titles()
181
186
 
182
187
  def enumerate_custom_content_field_titles(
183
188
  self,
184
189
  ) -> Generator[str, None, None]:
190
+ assert self.grammar is not None
191
+ assert self.grammar.elements is not None
185
192
  # FIXME: currently only enumerating a single element ([0])
186
193
  yield from self.grammar.elements[
187
194
  0
@@ -0,0 +1,87 @@
1
+ """
2
+ @relation(SDOC-SRS-109, scope=file)
3
+ """
4
+
5
+ from typing import List, Optional, Union
6
+
7
+ from strictdoc.backend.sdoc.document_reference import DocumentReference
8
+ from strictdoc.backend.sdoc.models.document import SDocDocument
9
+ from strictdoc.backend.sdoc.models.model import (
10
+ SDocDocumentFromFileIF,
11
+ SDocDocumentIF,
12
+ SDocElementIF,
13
+ SDocNodeIF,
14
+ SDocSectionIF,
15
+ )
16
+ from strictdoc.helpers.auto_described import auto_described
17
+
18
+
19
+ @auto_described
20
+ class DocumentFromFile(SDocDocumentFromFileIF):
21
+ def __init__(
22
+ self,
23
+ parent: Union[SDocDocumentIF, SDocSectionIF],
24
+ file: str,
25
+ ) -> None:
26
+ self.parent: Union[SDocDocumentIF, SDocSectionIF] = parent
27
+ self.file: str = file
28
+
29
+ self.ng_has_requirements: bool = False
30
+ self.ng_document_reference: Optional[DocumentReference] = None
31
+ self.ng_included_document_reference: Optional[DocumentReference] = None
32
+ self.ng_resolved_custom_level: Optional[str] = None
33
+ self.ng_whitelisted: bool = True
34
+ self.resolved_full_path_to_document_file: Optional[str] = None
35
+ self.resolved_document: Optional[SDocDocumentIF] = None
36
+
37
+ def has_any_requirements(self) -> bool:
38
+ task_list: List[SDocElementIF] = list(self.section_contents)
39
+ while len(task_list) > 0:
40
+ element = task_list.pop(0)
41
+ if isinstance(element, SDocNodeIF):
42
+ if element.is_normative_node():
43
+ return True
44
+ continue
45
+
46
+ if isinstance(element, SDocDocumentFromFileIF):
47
+ if element.has_any_requirements():
48
+ return True
49
+
50
+ task_list.extend(element.section_contents)
51
+ return False
52
+
53
+ @property
54
+ def section_contents(self) -> List[SDocDocumentIF]:
55
+ assert self.resolved_document is not None
56
+ return [self.resolved_document]
57
+
58
+ def configure_with_resolved_document(
59
+ self, resolved_document: SDocDocument
60
+ ) -> None:
61
+ assert self.ng_included_document_reference is None
62
+ assert self.ng_document_reference is not None
63
+
64
+ assert resolved_document is not None
65
+ self.resolved_document = resolved_document
66
+
67
+ including_document_or_section = self.parent
68
+
69
+ if isinstance(including_document_or_section, SDocDocumentIF):
70
+ including_document = including_document_or_section
71
+ elif isinstance(including_document_or_section, SDocSectionIF):
72
+ including_document_: Optional[SDocDocumentIF] = (
73
+ including_document_or_section.get_document()
74
+ )
75
+ assert isinstance(including_document_, SDocDocumentIF)
76
+ including_document = including_document_
77
+ else:
78
+ raise AssertionError(including_document_or_section)
79
+
80
+ resolved_document.ng_including_document_from_file = self
81
+
82
+ assert resolved_document.ng_including_document_reference is not None
83
+ resolved_document.ng_including_document_reference.set_document(
84
+ including_document
85
+ )
86
+
87
+ including_document.included_documents.append(resolved_document)