strictdoc 0.9.0a1__tar.gz → 0.9.2__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 (579) hide show
  1. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/PKG-INFO +1 -1
  2. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/__init__.py +1 -1
  3. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/excel/export/excel_generator.py +17 -18
  4. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/excel/import_/excel_sheet_proxy.py +18 -23
  5. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/excel/import_/excel_to_sdoc_converter.py +8 -3
  6. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/reqif/p01_sdoc/reqif_to_sdoc_converter.py +72 -154
  7. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py +51 -160
  8. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/errors/document_tree_error.py +11 -7
  9. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/grammar_reader.py +1 -1
  10. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/models/anchor.py +1 -1
  11. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/models/document.py +6 -6
  12. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/models/document_config.py +1 -1
  13. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/models/document_from_file.py +4 -3
  14. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/models/document_grammar.py +2 -2
  15. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/models/document_view.py +1 -1
  16. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/models/model.py +35 -35
  17. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/models/node.py +5 -3
  18. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/models/section.py +2 -2
  19. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/models/type_system.py +6 -5
  20. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/reader.py +2 -3
  21. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/validations/sdoc_validator.py +3 -2
  22. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/caching_reader.py +2 -1
  23. strictdoc-0.9.2/strictdoc/backend/sdoc_source_code/comment_parser/marker_lexer.py +87 -0
  24. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/marker_parser.py +4 -1
  25. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/models/function.py +1 -3
  26. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/models/source_file_info.py +14 -12
  27. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/processors/general_language_marker_processors.py +1 -1
  28. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/reader.py +2 -2
  29. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/reader_c.py +14 -4
  30. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/reader_python.py +4 -3
  31. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/reader_robot.py +1 -1
  32. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/cli/cli_arg_parser.py +3 -9
  33. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/cli/command_parser_builder.py +4 -4
  34. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/cli/main.py +1 -1
  35. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/document_finder.py +1 -1
  36. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/document_iterator.py +1 -17
  37. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/document_meta.py +37 -35
  38. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/document_tree.py +1 -1
  39. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/document_tree_iterator.py +1 -1
  40. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/environment.py +15 -9
  41. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/file_traceability_index.py +11 -13
  42. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/file_tree.py +1 -1
  43. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/graph/abstract_bucket.py +12 -12
  44. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/graph/many_to_many_set.py +3 -3
  45. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/graph/one_to_one_dictionary.py +3 -4
  46. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/graph_database.py +1 -1
  47. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/project_config.py +60 -13
  48. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/query_engine/query_object.py +2 -2
  49. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/query_engine/query_reader.py +4 -2
  50. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/source_tree.py +0 -3
  51. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/traceability_index.py +27 -19
  52. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/traceability_index_builder.py +4 -7
  53. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/transforms/constants.py +1 -2
  54. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/transforms/delete_requirement.py +0 -1
  55. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/transforms/delete_section.py +3 -4
  56. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/transforms/section.py +5 -5
  57. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/transforms/update_document_config.py +4 -4
  58. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/transforms/update_requirement.py +6 -5
  59. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/tree_cycle_detector.py +25 -12
  60. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/doxygen/doxygen_generator.py +0 -1
  61. strictdoc-0.9.2/strictdoc/export/html/document_type.py +48 -0
  62. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/form_objects/grammar_element_form_object.py +4 -3
  63. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/form_objects/grammar_form_object.py +1 -1
  64. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/form_objects/included_document_form_object.py +3 -2
  65. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/form_objects/requirement_form_object.py +100 -86
  66. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/document.py +1 -1
  67. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/document_deep_trace.py +1 -1
  68. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/document_pdf.py +1 -1
  69. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/document_table.py +1 -1
  70. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/document_trace.py +1 -1
  71. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/project_statistics.py +3 -5
  72. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/view_objects/document_screen_view_object.py +10 -10
  73. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/view_objects/helpers.py +4 -0
  74. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/view_objects/nestor_view_object.py +3 -2
  75. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/view_objects/project_tree_stats.py +3 -3
  76. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/view_objects/search_screen_view_object.py +3 -3
  77. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/view_objects/source_file_view_object.py +4 -4
  78. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/html_generator.py +15 -16
  79. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/html_templates.py +3 -67
  80. strictdoc-0.9.2/strictdoc/export/html/jinja/assert_extension.py +52 -0
  81. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/renderers/link_renderer.py +7 -3
  82. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/renderers/markup_renderer.py +2 -2
  83. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_shared/requirement_tree_left.jinja.html +1 -1
  84. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_shared/requirement_tree_right.jinja.html +1 -1
  85. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node/root.jinja +1 -1
  86. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/_shared/viewtype_menu.jinja +5 -5
  87. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/git/diff_content.jinja +1 -1
  88. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/traceability_matrix/main.jinja +1 -1
  89. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/json/json_generator.py +1 -1
  90. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/rst/directives/wildcard_enhanced_image.py +1 -1
  91. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/rst/rst_to_html_fragment_writer.py +4 -2
  92. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/rst/writer.py +1 -1
  93. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/spdx/spdx_generator.py +10 -1
  94. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/spdx/spdx_to_sdoc_converter.py +7 -0
  95. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/git/project_diff_analyzer.py +4 -10
  96. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/auto_described.py +1 -1
  97. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/coverage.py +1 -1
  98. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/deprecation_engine.py +10 -1
  99. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/file_modification_time.py +1 -1
  100. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/file_system.py +6 -5
  101. strictdoc-0.9.2/strictdoc/helpers/git_client.py +73 -0
  102. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/google_test.py +2 -0
  103. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/mid.py +1 -1
  104. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/ordered_set.py +1 -1
  105. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/parallelizer.py +85 -22
  106. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/paths.py +7 -2
  107. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/sorting.py +4 -1
  108. strictdoc-0.9.2/strictdoc/server/error_object.py +18 -0
  109. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/server/reload_config.py +4 -0
  110. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/server/routers/main_router.py +177 -119
  111. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/server/routers/other_router.py +2 -2
  112. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/server/server.py +2 -2
  113. strictdoc-0.9.0a1/strictdoc/backend/sdoc_source_code/comment_parser/marker_lexer.py +0 -59
  114. strictdoc-0.9.0a1/strictdoc/core/graph/validations.py +0 -44
  115. strictdoc-0.9.0a1/strictdoc/export/html/document_type.py +0 -71
  116. strictdoc-0.9.0a1/strictdoc/helpers/git_client.py +0 -102
  117. strictdoc-0.9.0a1/strictdoc/server/error_object.py +0 -16
  118. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/.gitignore +0 -0
  119. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/LICENSE +0 -0
  120. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/NOTICE +0 -0
  121. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/README.md +0 -0
  122. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/pyproject.toml +0 -0
  123. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/__init__.py +0 -0
  124. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/excel/__init__.py +0 -0
  125. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/excel/excel_import.py +0 -0
  126. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/excel/export/__init__.py +0 -0
  127. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/excel/import_/__init__.py +0 -0
  128. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/reqif/__init__.py +0 -0
  129. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/reqif/p01_sdoc/__init__.py +0 -0
  130. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/reqif/reqif_export.py +0 -0
  131. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/reqif/reqif_import.py +0 -0
  132. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/reqif/sdoc_reqif_fields.py +0 -0
  133. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/__init__.py +0 -0
  134. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/constants.py +0 -0
  135. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/document_reference.py +0 -0
  136. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/error_handling.py +0 -0
  137. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/errors/__init__.py +0 -0
  138. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/free_text_reader.py +0 -0
  139. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/grammar/__init__.py +0 -0
  140. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/grammar/grammar.py +0 -0
  141. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/grammar/grammar_builder.py +0 -0
  142. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/grammar/grammar_grammar.py +0 -0
  143. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/grammar/type_system.py +0 -0
  144. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/models/__init__.py +0 -0
  145. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/models/constants.py +0 -0
  146. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/models/free_text.py +0 -0
  147. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/models/inline_link.py +0 -0
  148. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/models/object_factory.py +0 -0
  149. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/models/reference.py +0 -0
  150. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/pickle_cache.py +0 -0
  151. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/processor.py +0 -0
  152. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/validations/__init__.py +0 -0
  153. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc/writer.py +0 -0
  154. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/__init__.py +0 -0
  155. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/constants.py +0 -0
  156. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/coverage_reports/gcov.py +0 -0
  157. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/grammar.py +0 -0
  158. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/helpers/comment_preprocessor.py +0 -0
  159. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/models/__init__.py +0 -0
  160. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/models/function_range_marker.py +0 -0
  161. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/models/range_marker.py +0 -0
  162. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/models/requirement_marker.py +0 -0
  163. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/models/source_node.py +0 -0
  164. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/parse_context.py +0 -0
  165. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/test_reports/junit_xml_reader.py +0 -0
  166. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/test_reports/robot_xml_reader.py +0 -0
  167. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/backend/sdoc_source_code/tree_sitter_helpers.py +0 -0
  168. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/cli/__init__.py +0 -0
  169. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/cli/argument_int_range.py +0 -0
  170. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/commands/__init__.py +0 -0
  171. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/commands/about_command.py +0 -0
  172. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/commands/diff_command.py +0 -0
  173. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/commands/dump_grammar_command.py +0 -0
  174. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/commands/manage_autouid_command.py +0 -0
  175. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/commands/version_command.py +0 -0
  176. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/__init__.py +0 -0
  177. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/actions/__init__.py +0 -0
  178. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/actions/export_action.py +0 -0
  179. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/actions/import_action.py +0 -0
  180. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/analyzers/document_stats.py +0 -0
  181. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/analyzers/document_uid_analyzer.py +0 -0
  182. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/asset_manager.py +0 -0
  183. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/constants.py +0 -0
  184. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/file_dependency_manager.py +0 -0
  185. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/finders/__init__.py +0 -0
  186. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/finders/source_files_finder.py +0 -0
  187. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/query_engine/grammar.py +0 -0
  188. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/transforms/update_grammar.py +0 -0
  189. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/transforms/update_grammar_element.py +0 -0
  190. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/transforms/update_included_document.py +0 -0
  191. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/core/transforms/validation_error.py +0 -0
  192. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/__init__.py +0 -0
  193. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/autogen.css +0 -0
  194. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/base.css +0 -0
  195. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/collapsible_list.js +0 -0
  196. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/collapsible_toc.js +0 -0
  197. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/collapsible_tree.js +0 -0
  198. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/content.css +0 -0
  199. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/controllers/anchor_controller.js +0 -0
  200. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/controllers/autocompletable_field_controller.js +0 -0
  201. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/controllers/copy_stable_link_button_controller.js +0 -0
  202. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/controllers/copy_to_clipboard_controller.js +0 -0
  203. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/controllers/deletable_field_controller.js +0 -0
  204. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/controllers/draggable_list_controller.js +0 -0
  205. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/controllers/dropdown_menu_controller.js +0 -0
  206. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/controllers/editable_field_controller.js +0 -0
  207. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/controllers/modal_controller.js +0 -0
  208. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/controllers/movable_field_controller.js +0 -0
  209. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/controllers/scroll_into_view_controller.js +0 -0
  210. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/controllers/tabs_controller.js +0 -0
  211. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/diff.css +0 -0
  212. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/diff.js +0 -0
  213. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/element.css +0 -0
  214. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/favicon.ico +0 -0
  215. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/fonts/NotoSans-Italic-VariableFont_wdth,wght.ttf +0 -0
  216. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/fonts/NotoSans-VariableFont_wdth,wght.ttf +0 -0
  217. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/fonts/NotoSansMono-VariableFont_wdth,wght.ttf +0 -0
  218. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/form.css +0 -0
  219. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/html2pdf4doc.css +0 -0
  220. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/layout.css +0 -0
  221. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/node.css +0 -0
  222. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/node_content.css +0 -0
  223. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/pan_with_space.js +0 -0
  224. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/project_coverage.css +0 -0
  225. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/project_coverage.js +0 -0
  226. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/project_tree.css +0 -0
  227. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/project_tree.js +0 -0
  228. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/requirement-tree.css +0 -0
  229. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/requirement__temporary.css +0 -0
  230. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/requirements-coverage.js +0 -0
  231. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/resizable_bar.js +0 -0
  232. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/source-code-coverage.js +0 -0
  233. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/source.css +0 -0
  234. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/stable_uri_forwarder.js +0 -0
  235. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/stimulus_umd.min.js +0 -0
  236. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/table_vew.css +0 -0
  237. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/toc_highlighting.js +0 -0
  238. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/traceability_matrix.css +0 -0
  239. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/tree(not_in_use).css +0 -0
  240. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/turbo.min.js +0 -0
  241. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/viewtype_menu.js +0 -0
  242. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static/zoomable.js +0 -0
  243. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/LICENSE-MATHJAX +0 -0
  244. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/tex.js +0 -0
  245. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
  246. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
  247. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
  248. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
  249. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
  250. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
  251. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
  252. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
  253. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
  254. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
  255. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
  256. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
  257. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
  258. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
  259. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
  260. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
  261. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
  262. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
  263. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
  264. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
  265. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
  266. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
  267. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
  268. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mathjax/tex-mml-chtml.js +0 -0
  269. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/mermaid/mermaid.min.js +0 -0
  270. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/nestor/bundle.umd.js +0 -0
  271. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/_static_extra/rapidoc/rapidoc-min.js +0 -0
  272. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/form_objects/document_config_form_object.py +0 -0
  273. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/form_objects/form_object.py +0 -0
  274. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/form_objects/rows/row_with_grammar_element_form_object.py +0 -0
  275. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/form_objects/section_form_object.py +0 -0
  276. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/__init__.py +0 -0
  277. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/document_tree.py +0 -0
  278. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/project_map.py +0 -0
  279. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/source_file_coverage.py +0 -0
  280. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/source_file_view_generator.py +0 -0
  281. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/traceability_matrix.py +0 -0
  282. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/view_objects/diff_screen_results_view_object.py +0 -0
  283. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/view_objects/diff_screen_view_object.py +0 -0
  284. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/view_objects/project_statistics_view_object.py +0 -0
  285. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/view_objects/project_tree_view_object.py +0 -0
  286. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/generators/view_objects/traceability_matrix_view_object.py +0 -0
  287. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/renderers/__init__.py +0 -0
  288. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/renderers/html_fragment_writer.py +0 -0
  289. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/renderers/text_to_html_writer.py +0 -0
  290. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg__separator.jinja.html +0 -0
  291. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_add.jinja.html +0 -0
  292. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_add_above.jinja +0 -0
  293. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_add_below.jinja +0 -0
  294. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_add_child.jinja +0 -0
  295. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_anchor.jinja +0 -0
  296. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_back.jinja.html +0 -0
  297. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_book.jinja.html +0 -0
  298. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_close.jinja +0 -0
  299. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_code.jinja.html +0 -0
  300. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_copy.jinja +0 -0
  301. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_delete.jinja.html +0 -0
  302. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_diff.jinja +0 -0
  303. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_document.jinja.html +0 -0
  304. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_done.jinja +0 -0
  305. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_edit.jinja.html +0 -0
  306. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_expand.jinja.html +0 -0
  307. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_file.jinja +0 -0
  308. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_folder.jinja +0 -0
  309. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_folder_collapse.jinja +0 -0
  310. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_folder_sm.jinja +0 -0
  311. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_fragment.jinja +0 -0
  312. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_fragment_draft.jinja +0 -0
  313. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_gear.jinja.html +0 -0
  314. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_go_to_doc.jinja +0 -0
  315. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_index.jinja.html +0 -0
  316. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_link.jinja +0 -0
  317. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_list.jinja.html +0 -0
  318. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_maximize.jinja +0 -0
  319. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_minimize.jinja +0 -0
  320. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_minusminus.jinja.html +0 -0
  321. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_move_down.jinja.html +0 -0
  322. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_move_up.jinja.html +0 -0
  323. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_plusplus.jinja.html +0 -0
  324. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_project.jinja.html +0 -0
  325. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_requirement.jinja.html +0 -0
  326. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_reset.jinja +0 -0
  327. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_search.jinja +0 -0
  328. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_section_collapse.jinja +0 -0
  329. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_source.jinja.html +0 -0
  330. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_source_pointer_in.jinja +0 -0
  331. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_source_pointer_out.jinja +0 -0
  332. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_stat.jinja +0 -0
  333. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_sync.jinja +0 -0
  334. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_toc.jinja.html +0 -0
  335. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_res/svg_ico16_tree.jinja +0 -0
  336. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_shared/nav.jinja.html +0 -0
  337. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/_shared/tags.jinja.html +0 -0
  338. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/_shared/stream_refresh_document.jinja.html +0 -0
  339. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/_shared/stream_updated_toc.jinja.html +0 -0
  340. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/add_document_metadata/stream_add_document_metadata.jinja.html +0 -0
  341. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/add_requirement_comment/stream_add_requirement_comment.jinja.html +0 -0
  342. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/add_requirement_relation/stream_add_requirement_relation.jinja.html +0 -0
  343. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/create_requirement/stream_cancel_new_requirement.jinja.html +0 -0
  344. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/create_requirement/stream_created_requirement.jinja.html +0 -0
  345. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/create_requirement/stream_new_requirement.jinja.html +0 -0
  346. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/create_section/stream_cancel_new_section.jinja.html +0 -0
  347. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/create_section/stream_created_section.jinja.html +0 -0
  348. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/create_section/stream_new_section.jinja.html +0 -0
  349. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_confirm_delete_requirement.jinja +0 -0
  350. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_delete_requirement.jinja.html +0 -0
  351. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/delete_section/stream_confirm_delete_section.jinja +0 -0
  352. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/delete_section/stream_delete_section.jinja.html +0 -0
  353. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_cancel_edit_document_config.jinja.html +0 -0
  354. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_edit_document_config.jinja.html +0 -0
  355. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_save_document_config.jinja.html +0 -0
  356. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_edit_requirement.jinja.html +0 -0
  357. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/edit_section/stream_edit_section.jinja.html +0 -0
  358. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/document/edit_section/stream_updated_section.jinja.html +0 -0
  359. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_node.jinja +0 -0
  360. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_section.jinja +0 -0
  361. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_form_import_reqif_document.jinja.html +0 -0
  362. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_refresh_with_imported_reqif_document.jinja.html +0 -0
  363. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/project_index/stream_create_document.jinja.html +0 -0
  364. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/actions/project_index/stream_new_document.jinja.html +0 -0
  365. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/autocomplete/field/stream_autocomplete_field.jinja.html +0 -0
  366. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/autocomplete/uid/stream_autocomplete_uid.jinja.html +0 -0
  367. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/base.jinja.html +0 -0
  368. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/anchor/index.jinja +0 -0
  369. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/badge/index.jinja +0 -0
  370. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/button/cancel.jinja +0 -0
  371. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/button/confirm.jinja +0 -0
  372. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/button/delete.jinja +0 -0
  373. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/button/diff.jinja +0 -0
  374. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/button/search.jinja +0 -0
  375. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/button/submit.jinja +0 -0
  376. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/confirm/_usage_example.jinja +0 -0
  377. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/confirm/index.jinja +0 -0
  378. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/field/index.jinja +0 -0
  379. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/form/field/autocompletable/index.jinja +0 -0
  380. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/form/field/contenteditable/index.jinja +0 -0
  381. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/form/field/file/index.jinja +0 -0
  382. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/form/field/text/index.jinja +0 -0
  383. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/form/field_action_button/index.jinja +0 -0
  384. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/form/index.jinja +0 -0
  385. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/form/row/index.jinja +0 -0
  386. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/example.jinja.html +0 -0
  387. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/frame.jinja +0 -0
  388. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/stream.jinja +0 -0
  389. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/form/row/row_with_comment.jinja +0 -0
  390. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/form/row/row_with_metadata.jinja +0 -0
  391. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/form/row/row_with_relation.jinja +0 -0
  392. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/form/row/row_with_text_field.jinja +0 -0
  393. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/form/search.jinja +0 -0
  394. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/grammar_form/index.jinja +0 -0
  395. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/grammar_form/row_with_grammar_element/index.jinja +0 -0
  396. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/grammar_form/row_with_new_grammar_element/index.jinja +0 -0
  397. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/grammar_form_element/index.jinja +0 -0
  398. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/grammar_form_element/row_with_custom_field/index.jinja +0 -0
  399. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/grammar_form_element/row_with_relation/index.jinja +0 -0
  400. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/grammar_form_element/row_with_reserved_field/index.jinja +0 -0
  401. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/header/_usage_example.jinja +0 -0
  402. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/header/header_pagetype.jinja +0 -0
  403. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/header/index.jinja +0 -0
  404. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/included_document_form/index.jinja +0 -0
  405. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/issue/banner.jinja +0 -0
  406. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/issue/index.jinja +0 -0
  407. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/modal/_usage_example.jinja +0 -0
  408. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/modal/form.jinja +0 -0
  409. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/modal/index.jinja +0 -0
  410. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node/card.jinja +0 -0
  411. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node/copy_stable_link_button.jinja +0 -0
  412. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node/index.jinja +0 -0
  413. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node/node_controls/card.jinja +0 -0
  414. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node/node_controls/index.jinja +0 -0
  415. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node/readonly.jinja +0 -0
  416. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_content/card.jinja +0 -0
  417. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_content/card_extends_card.jinja +0 -0
  418. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_content/index.jinja +0 -0
  419. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_content/index_extends_node.jinja +0 -0
  420. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_content/index_extends_readonly.jinja +0 -0
  421. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_content/tiny.jinja +0 -0
  422. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_content/tiny_extends_card.jinja +0 -0
  423. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_field/README.txt +0 -0
  424. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_field/comments/index.jinja +0 -0
  425. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_field/document_meta/index.jinja +0 -0
  426. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_field/document_title/index.jinja +0 -0
  427. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_field/files/index.jinja +0 -0
  428. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_field/links/index.jinja +0 -0
  429. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_field/meta/index.jinja +0 -0
  430. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_field/multiline/index.jinja +0 -0
  431. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_field/rationale/index.jinja +0 -0
  432. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_field/section_h/index.jinja +0 -0
  433. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_field/section_h/pdf.jinja +0 -0
  434. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_field/section_title/index.jinja +0 -0
  435. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_field/statement/index.jinja +0 -0
  436. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_field/text/index.jinja +0 -0
  437. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_field/title/index.jinja +0 -0
  438. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_field/uid/index.jinja +0 -0
  439. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/node_field/uid_standalone/index.jinja +0 -0
  440. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/resizable_bar/index.jinja +0 -0
  441. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/section/card.jinja +0 -0
  442. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/section/card_extends_card.jinja +0 -0
  443. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/section/index.jinja +0 -0
  444. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/section/index_extends_node.jinja +0 -0
  445. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/section/pdf.jinja +0 -0
  446. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/section/tiny.jinja +0 -0
  447. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/section/tiny_extends_card.jinja +0 -0
  448. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/table_key_value/index.jinja +0 -0
  449. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/text_node/card.jinja +0 -0
  450. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/text_node/card_extends_card.jinja +0 -0
  451. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/text_node/index.jinja +0 -0
  452. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/text_node/index_extends_node.jinja +0 -0
  453. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/text_node/pdf.jinja +0 -0
  454. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/text_node/tiny.jinja +0 -0
  455. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/components/text_node/tiny_extends_card.jinja +0 -0
  456. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/rst/anchor.jinja +0 -0
  457. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/_shared/frame_header_document_title.jinja +0 -0
  458. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_node.jinja +0 -0
  459. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_section.jinja +0 -0
  460. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/_shared/frame_toc.jinja +0 -0
  461. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/_shared/project_tree.jinja +0 -0
  462. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/_shared/project_tree_child_documents.jinja +0 -0
  463. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_project_tree.jinja +0 -0
  464. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_toc.jinja +0 -0
  465. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/_shared/toc.jinja +0 -0
  466. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/document/actions.jinja +0 -0
  467. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/document/frame_document_config.jinja.html +0 -0
  468. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/document/frame_document_config_edit.jinja.html +0 -0
  469. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +0 -0
  470. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/document/frame_document_issues.jinja +0 -0
  471. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/document/frame_requirement_form.jinja +0 -0
  472. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/document/frame_section_form.jinja +0 -0
  473. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/document/index.jinja +0 -0
  474. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/document/main.jinja +0 -0
  475. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/pdf/index.jinja +0 -0
  476. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/pdf/main.jinja +0 -0
  477. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/pdf/template/footer.jinja +0 -0
  478. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/pdf/template/frontpage.jinja +0 -0
  479. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/pdf/template/header.jinja +0 -0
  480. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/pdf/toc.jinja +0 -0
  481. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/table/index.jinja +0 -0
  482. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/table/main.jinja +0 -0
  483. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/traceability/index.jinja +0 -0
  484. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/traceability/main.jinja +0 -0
  485. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/traceability_deep/index.jinja +0 -0
  486. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/document/traceability_deep/main.jinja +0 -0
  487. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/git/changelog_content.jinja +0 -0
  488. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/git/diff_controls.jinja +0 -0
  489. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/git/fields/document_fields.jinja +0 -0
  490. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/git/fields/requirement_fields.jinja +0 -0
  491. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/git/fields/section_fields.jinja +0 -0
  492. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/git/form.jinja +0 -0
  493. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/git/frame_changelog_result.jinja +0 -0
  494. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/git/frame_diff_result.jinja +0 -0
  495. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/git/index.jinja +0 -0
  496. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/git/legend.jinja +0 -0
  497. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/git/main.jinja +0 -0
  498. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/git/nav_tabs.jinja +0 -0
  499. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/git/node/requirement.jinja +0 -0
  500. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/git/node/section.jinja +0 -0
  501. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/git/skeleton.jinja +0 -0
  502. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/git/sync/button.jinja +0 -0
  503. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/nestor/index.jinja +0 -0
  504. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/project_index/actions.jinja +0 -0
  505. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/project_index/frame_form_import_reqif.jinja.html +0 -0
  506. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/project_index/frame_form_new_document.jinja.html +0 -0
  507. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/project_index/frame_project_tree.jinja.html +0 -0
  508. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/project_index/index.jinja +0 -0
  509. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/project_index/main.jinja +0 -0
  510. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/project_index/project_map.jinja.js +0 -0
  511. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/project_index/project_map_file.jinja +0 -0
  512. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/project_index/project_map_folder.jinja +0 -0
  513. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/project_index/project_map_node.jinja +0 -0
  514. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/project_index/project_map_section.jinja +0 -0
  515. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/project_index/project_tree.jinja +0 -0
  516. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/project_index/project_tree_file.jinja +0 -0
  517. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/project_index/project_tree_folder.jinja +0 -0
  518. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/project_statistics/index.jinja +0 -0
  519. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/project_statistics/main.jinja +0 -0
  520. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/search/index.jinja +0 -0
  521. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/search/legend.jinja +0 -0
  522. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/search/main.jinja +0 -0
  523. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/source_file_coverage/file.jinja +0 -0
  524. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/source_file_coverage/folder.jinja +0 -0
  525. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/source_file_coverage/index.jinja +0 -0
  526. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/source_file_coverage/main.jinja +0 -0
  527. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/source_file_coverage/thead.jinja +0 -0
  528. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/source_file_coverage/value_bar.jinja +0 -0
  529. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/source_file_view/aside.jinja +0 -0
  530. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/source_file_view/file_stats.jinja +0 -0
  531. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/source_file_view/header__actions.jinja +0 -0
  532. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/source_file_view/header__source_file_name.jinja +0 -0
  533. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/source_file_view/index.jinja +0 -0
  534. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/source_file_view/main.jinja +0 -0
  535. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/source_file_view/node_title_for_banner_header.jinja +0 -0
  536. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/source_file_view/range_button.jinja +0 -0
  537. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/source_file_view/requirement.jinja +0 -0
  538. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/traceability_matrix/file.jinja +0 -0
  539. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/traceability_matrix/index.jinja +0 -0
  540. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/traceability_matrix/project_tree_flat_anchor_list.jinja +0 -0
  541. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/traceability_matrix/requirement.jinja.html +0 -0
  542. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/screens/traceability_matrix/resizable_bar_with_project_tree.jinja +0 -0
  543. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/website/document/index.jinja +0 -0
  544. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/templates/websocket.jinja.html +0 -0
  545. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/tools/__init__.py +0 -0
  546. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html/tools/html_embedded.py +0 -0
  547. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html2pdf/html2pdf_generator.py +0 -0
  548. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/html2pdf/pdf_print_driver.py +0 -0
  549. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/rst/__init__.py +0 -0
  550. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/rst/directives/raw_html_role.py +0 -0
  551. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/rst/document_rst_generator.py +0 -0
  552. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/rst/rst_templates.py +0 -0
  553. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/rst/templates/requirement.jinja.rst +0 -0
  554. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/export/spdx/spdx_sdoc_container.py +0 -0
  555. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/git/change.py +0 -0
  556. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/git/change_generator.py +0 -0
  557. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/git/git_client.py +0 -0
  558. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/__init__.py +0 -0
  559. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/cast.py +0 -0
  560. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/diff.py +0 -0
  561. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/exception.py +0 -0
  562. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/file_stats.py +0 -0
  563. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/form_data.py +0 -0
  564. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/math.py +0 -0
  565. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/md5.py +0 -0
  566. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/net.py +0 -0
  567. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/path_filter.py +0 -0
  568. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/pickle.py +0 -0
  569. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/rst.py +0 -0
  570. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/sha256.py +0 -0
  571. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/shard.py +0 -0
  572. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/string.py +0 -0
  573. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/textx.py +0 -0
  574. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/helpers/timing.py +0 -0
  575. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/server/__init__.py +0 -0
  576. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/server/app.py +0 -0
  577. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/server/config.py +0 -0
  578. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/strictdoc/server/helpers/turbo.py +0 -0
  579. {strictdoc-0.9.0a1 → strictdoc-0.9.2}/tests/integration/scripting_examples/questionnaires/02_user_provided_example/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: strictdoc
3
- Version: 0.9.0a1
3
+ Version: 0.9.2
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.9.0a1"
3
+ __version__ = "0.9.2"
4
4
 
5
5
 
6
6
  environment = SDocRuntimeEnvironment(__file__)
@@ -74,9 +74,12 @@ class ExcelGenerator:
74
74
  }
75
75
  )
76
76
 
77
- row = 1 # Header-Row
77
+ # Header row.
78
+ row = 1
79
+
78
80
  fields = project_config.excel_export_fields
79
- # TODO: Check if all fields are defined by the DocumentGrammar
81
+
82
+ # FIXME: Check if all fields are defined by the DocumentGrammar.
80
83
  columns = ExcelGenerator._init_columns_width(fields)
81
84
 
82
85
  document_iterator = traceability_index.get_document_iterator(
@@ -85,9 +88,7 @@ class ExcelGenerator:
85
88
  all_nodes = list(
86
89
  map(
87
90
  lambda node_with_context_: node_with_context_[0],
88
- document_iterator.all_content(
89
- print_fragments=False, print_fragments_from_files=False
90
- ),
91
+ document_iterator.all_content(print_fragments=False),
91
92
  )
92
93
  )
93
94
  req_uid_rows = ExcelGenerator._lookup_refs(all_nodes)
@@ -95,17 +96,15 @@ class ExcelGenerator:
95
96
  if len(req_uid_rows):
96
97
  for node, _ in traceability_index.get_document_iterator(
97
98
  document
98
- ).all_content(
99
- print_fragments=False, print_fragments_from_files=False
100
- ):
99
+ ).all_content(print_fragments=False):
101
100
  if not node.is_requirement() or not node.reserved_uid:
102
- # only export the requirements with uid
101
+ # Only export the requirements with UID.
103
102
  continue
104
103
 
105
104
  for idx, field in enumerate(fields, start=0):
106
105
  field_uc = field.upper()
107
106
 
108
- # Special treatment for ParentReqReference and Comments
107
+ # Special treatment for ParentReqReference and Comments.
109
108
  if field_uc in (
110
109
  "RELATIONS:PARENT",
111
110
  "PARENT",
@@ -115,7 +114,7 @@ class ExcelGenerator:
115
114
  ReferenceType.PARENT
116
115
  )
117
116
  if len(parent_refs) > 0:
118
- # TODO Allow multiple parent refs
117
+ # FIXME: Allow multiple parent refs.
119
118
  ref = parent_refs[0]
120
119
  columns[field][MAX_WIDTH_KEY] = max(
121
120
  len(ref.ref_uid),
@@ -136,7 +135,7 @@ class ExcelGenerator:
136
135
  worksheet.write(row, idx, ref.ref_uid)
137
136
  elif field_uc in ("COMMENT", "COMMENTS"):
138
137
  # Using a transition marker to separate multiple
139
- # comments
138
+ # comments.
140
139
  comment_fields = node.get_comment_fields()
141
140
  if len(comment_fields) > 0:
142
141
  comment_row_value: str = ""
@@ -159,7 +158,7 @@ class ExcelGenerator:
159
158
  if len(node.relations) > 0:
160
159
  relations_components = []
161
160
  # Using a transition marker to separate
162
- # multiple references
161
+ # multiple references.
163
162
  for ref in node.relations:
164
163
  if isinstance(ref, ParentReqReference):
165
164
  relations_components.append(
@@ -208,8 +207,8 @@ class ExcelGenerator:
208
207
 
209
208
  row += 1
210
209
 
211
- # add a table around all this data, allowing filtering and
212
- # ordering in Excel
210
+ # Add a table around all this data, allowing filtering and
211
+ # ordering in Excel.
213
212
  worksheet.add_table(
214
213
  0,
215
214
  0,
@@ -218,12 +217,12 @@ class ExcelGenerator:
218
217
  {"columns": ExcelGenerator._init_headers(fields)},
219
218
  )
220
219
 
221
- # enforce columns width
220
+ # Enforce columns width.
222
221
  ExcelGenerator._set_columns_width(
223
222
  workbook, worksheet, columns, fields
224
223
  )
225
224
  else:
226
- # no requirement with UID
225
+ # No requirement with UID.
227
226
  print( # noqa: T201
228
227
  "No requirement with UID, nothing to export into excel"
229
228
  )
@@ -239,7 +238,7 @@ class ExcelGenerator:
239
238
  for content_node in document_contents:
240
239
  if isinstance(content_node, SDocNode):
241
240
  if content_node.reserved_uid:
242
- # only export the requirements with uid, allowing tracking
241
+ # Only export the requirements with uid, allowing tracking.
243
242
  row += 1
244
243
  refs[content_node.reserved_uid] = row
245
244
 
@@ -5,6 +5,7 @@ import openpyxl
5
5
  import xlrd
6
6
 
7
7
  from strictdoc.helpers.auto_described import auto_described
8
+ from strictdoc.helpers.cast import assert_cast
8
9
 
9
10
 
10
11
  class ExcelLibType(Enum):
@@ -15,7 +16,7 @@ class ExcelLibType(Enum):
15
16
  @auto_described
16
17
  class ExcelSheetProxy:
17
18
  """
18
- This proxy class allows to open either xls(xlrd) or xlsx(openpyxl) with the same interface.
19
+ An adapter class to open xls(xlrd) or xlsx(openpyxl) with the same interface.
19
20
  """
20
21
 
21
22
  def __init__(self, file: str):
@@ -23,7 +24,7 @@ class ExcelSheetProxy:
23
24
  if file.endswith(".xlsx"):
24
25
  self.workbook = openpyxl.load_workbook(file)
25
26
  self.sheet = self.workbook.active
26
- if self.sheet is None:
27
+ if self.sheet is None: # pragma: no cover
27
28
  raise RuntimeError(
28
29
  "Couldn't open the first sheet of the workbook"
29
30
  )
@@ -32,8 +33,8 @@ class ExcelSheetProxy:
32
33
  self.workbook = xlrd.open_workbook(file, on_demand=True)
33
34
  self.sheet = self.workbook.sheet_by_index(0)
34
35
  self.lib = ExcelLibType.XLRD
35
- else:
36
- raise ValueError("Unsupported file format")
36
+ else: # pragma: no cover
37
+ raise AssertionError("Unsupported file format")
37
38
 
38
39
  @property
39
40
  def name(self) -> str:
@@ -44,52 +45,46 @@ class ExcelSheetProxy:
44
45
  return str(self.sheet.title)
45
46
  elif self.lib == ExcelLibType.XLRD:
46
47
  return str(self.sheet.name)
47
- return ""
48
+ raise AssertionError
48
49
 
49
50
  @property
50
51
  def ncols(self) -> int:
51
52
  """
52
53
  The number of columns.
53
54
  """
54
- ncols: int = 0
55
55
  if self.lib == ExcelLibType.OPENPYXL:
56
- ncols = self.sheet.max_column
56
+ return assert_cast(self.sheet.max_column, int)
57
57
  elif self.lib == ExcelLibType.XLRD:
58
- ncols = self.sheet.ncols
59
- return ncols
58
+ return assert_cast(self.sheet.ncols, int)
59
+ raise AssertionError
60
60
 
61
61
  @property
62
62
  def nrows(self) -> int:
63
63
  """
64
64
  The number of rows.
65
65
  """
66
- nrows: int = 0
67
66
  if self.lib == ExcelLibType.OPENPYXL:
68
- nrows = self.sheet.max_row
67
+ return assert_cast(self.sheet.max_row, int)
69
68
  elif self.lib == ExcelLibType.XLRD:
70
- nrows = self.sheet.nrows
71
- return nrows
69
+ return assert_cast(self.sheet.nrows, int)
70
+ raise AssertionError
72
71
 
73
72
  def get_cell_value(self, row: int, col: int) -> str:
74
73
  """
75
74
  Returns the value at row/col as string.
76
75
  """
77
- cell_value: str = ""
78
76
  if self.lib == ExcelLibType.OPENPYXL:
79
- cell_value = (
80
- self.sheet.cell(row=row + 1, column=col + 1).value or ""
81
- )
77
+ return self.sheet.cell(row=row + 1, column=col + 1).value or ""
82
78
  elif self.lib == ExcelLibType.XLRD:
83
- cell_value = self.sheet.cell_value(row, col)
84
- return cell_value
79
+ return assert_cast(self.sheet.cell_value(row, col), str)
80
+ raise AssertionError
85
81
 
86
82
  def row_values(self, row: int) -> List[str]:
87
83
  """
88
84
  Returns a full row as list.
89
85
  """
90
- row_values: List[str] = []
91
86
  if self.lib == ExcelLibType.OPENPYXL:
92
- row_values = [(cell.value or "") for cell in self.sheet[row + 1]]
87
+ return [(cell.value or "") for cell in self.sheet[row + 1]]
93
88
  elif self.lib == ExcelLibType.XLRD:
94
- row_values = self.sheet.row_values(row)
95
- return row_values
89
+ return assert_cast(self.sheet.row_values(row), list)
90
+ raise AssertionError
@@ -40,10 +40,14 @@ def safe_name(dangerous_name):
40
40
 
41
41
  class ExcelToSDocConverter:
42
42
  @staticmethod
43
- # optional argument title is present for external scripts to assign a title
44
43
  def convert(
45
44
  excel_file: str, title: Union[str, None] = None
46
45
  ) -> SDocDocument:
46
+ """
47
+ Convert a provided Excel file to an SDoc document.
48
+
49
+ Optional argument title is present for external scripts to assign a title.
50
+ """
47
51
  sheet = ExcelSheetProxy(excel_file)
48
52
 
49
53
  excel_file_name = os.path.basename(excel_file)
@@ -52,12 +56,13 @@ class ExcelToSDocConverter:
52
56
 
53
57
  all_header_columns = list(range(sheet.ncols))
54
58
 
55
- for i in range(16): # the first 16 rows should do ¯\_(ツ)_
59
+ # The first 16 rows should do ¯\_(ツ)_/¯.
60
+ for i in range(16):
56
61
  if sheet.row_values(i)[0].strip() != "":
57
62
  header_row_idx = i
58
63
  break
59
64
  else:
60
- raise NotImplementedError # pragma: no cover
65
+ raise NotImplementedError
61
66
 
62
67
  header_row = sheet.row_values(header_row_idx)
63
68
  safe_header_row = [safe_name(x) for x in header_row]
@@ -22,12 +22,16 @@ from strictdoc.backend.sdoc.models.document_grammar import (
22
22
  DocumentGrammar,
23
23
  GrammarElement,
24
24
  )
25
+ from strictdoc.backend.sdoc.models.model import (
26
+ SDocDocumentIF,
27
+ SDocNodeIF,
28
+ SDocSectionIF,
29
+ )
25
30
  from strictdoc.backend.sdoc.models.node import SDocNode, SDocNodeField
26
31
  from strictdoc.backend.sdoc.models.reference import (
27
32
  ParentReqReference,
28
33
  Reference,
29
34
  )
30
- from strictdoc.backend.sdoc.models.section import SDocSection
31
35
  from strictdoc.backend.sdoc.models.type_system import (
32
36
  GrammarElementFieldMultipleChoice,
33
37
  GrammarElementFieldSingleChoice,
@@ -62,7 +66,7 @@ class P01_ReqIFToSDocConverter:
62
66
  def convert_reqif_bundle(
63
67
  reqif_bundle: ReqIFBundle,
64
68
  enable_mid: bool,
65
- import_markup: str,
69
+ import_markup: Optional[str],
66
70
  ) -> List[SDocDocument]:
67
71
  context = P01_ReqIFToSDocBuildContext(
68
72
  enable_mid=enable_mid, import_markup=import_markup
@@ -97,19 +101,6 @@ class P01_ReqIFToSDocConverter:
97
101
  documents.append(document)
98
102
  return documents
99
103
 
100
- @staticmethod
101
- def is_spec_object_requirement(_):
102
- return True
103
-
104
- @staticmethod
105
- def is_spec_object_section(
106
- spec_object: ReqIFSpecObject, reqif_bundle: ReqIFBundle
107
- ):
108
- spec_object_type = reqif_bundle.lookup.get_spec_type_by_ref(
109
- spec_object.spec_object_type
110
- )
111
- return spec_object_type.long_name == "SECTION"
112
-
113
104
  @staticmethod
114
105
  def convert_requirement_field_from_reqif(field_name: str) -> str:
115
106
  if field_name in ReqIFRequirementReservedField.SET:
@@ -123,10 +114,26 @@ class P01_ReqIFToSDocConverter:
123
114
  reqif_bundle: ReqIFBundle,
124
115
  context: P01_ReqIFToSDocBuildContext,
125
116
  ):
126
- document = P01_ReqIFToSDocConverter.create_document(
127
- specification=specification, context=context
117
+ # This lookup object is used to first collect the spec object type identifiers
118
+ # that are actually used by this document. This is needed to ensure that a
119
+ # StrictDoc document is not created with irrelevant grammar elements that
120
+ # actually belong to other Specifications in this ReqIF bundle.
121
+ # Using Dict as an ordered set.
122
+ spec_object_type_identifiers_used_by_this_document: OrderedSet[str] = (
123
+ OrderedSet()
128
124
  )
129
- document.section_contents = []
125
+ section_spec_types = set()
126
+ for hierarchy_ in reqif_bundle.iterate_specification_hierarchy(
127
+ specification,
128
+ ):
129
+ spec_object = reqif_bundle.get_spec_object_by_ref(
130
+ hierarchy_.spec_object
131
+ )
132
+ spec_object_type_identifiers_used_by_this_document.add(
133
+ spec_object.spec_object_type
134
+ )
135
+ if hierarchy_.children is not None:
136
+ section_spec_types.add(spec_object.spec_object_type)
130
137
 
131
138
  for (
132
139
  spec_object_type_
@@ -134,84 +141,61 @@ class P01_ReqIFToSDocConverter:
134
141
  if not isinstance(spec_object_type_, ReqIFSpecObjectType):
135
142
  continue
136
143
 
137
- # FIXME: [[NODE]]
138
- if spec_object_type_.long_name == "SECTION":
139
- continue
140
-
141
144
  grammar_element: GrammarElement = P01_ReqIFToSDocConverter.create_grammar_element_from_spec_object_type(
142
145
  spec_object_type=spec_object_type_,
143
146
  reqif_bundle=reqif_bundle,
147
+ is_composite=spec_object_type_.identifier in section_spec_types,
144
148
  )
145
149
  context.map_spec_object_type_identifier_to_grammar_node_tags[
146
150
  spec_object_type_.identifier
147
151
  ] = grammar_element
148
152
 
149
- # This lookup object is used to first collect the spec object type identifiers
150
- # that are actually used by this document. This is needed to ensure that a
151
- # StrictDoc document is not created with irrelevant grammar elements that
152
- # actually belong to other Specifications in this ReqIF bundle.
153
- # Using Dict as an ordered set.
154
- spec_object_type_identifiers_used_by_this_document: OrderedSet[str] = (
155
- OrderedSet()
153
+ document = P01_ReqIFToSDocConverter.create_document(
154
+ specification=specification, context=context
156
155
  )
156
+ document.section_contents = []
157
157
 
158
- def node_converter_lambda(
159
- current_hierarchy_,
160
- current_section_,
158
+ node_stack: List[Union[SDocDocumentIF, SDocNodeIF]] = [document]
159
+
160
+ for hierarchy_ in reqif_bundle.iterate_specification_hierarchy(
161
+ specification,
161
162
  ):
162
- spec_object = reqif_bundle.get_spec_object_by_ref(
163
- current_hierarchy_.spec_object
164
- )
165
- spec_object_type_identifiers_used_by_this_document.add(
166
- spec_object.spec_object_type
167
- )
163
+ while len(node_stack) > hierarchy_.level:
164
+ node_stack.pop()
168
165
 
169
- is_section = P01_ReqIFToSDocConverter.is_spec_object_section(
170
- spec_object,
171
- reqif_bundle=reqif_bundle,
172
- )
166
+ parent_node = node_stack[-1]
173
167
 
174
- converted_node: Union[SDocSection, SDocNode]
175
- if is_section:
176
- converted_node = (
177
- P01_ReqIFToSDocConverter.create_section_from_spec_object(
178
- spec_object=spec_object,
179
- context=context,
180
- parent_section=current_section_,
181
- level=current_hierarchy_.level,
182
- reqif_bundle=reqif_bundle,
183
- )
184
- )
185
- else:
186
- converted_node = P01_ReqIFToSDocConverter.create_requirement_from_spec_object(
168
+ spec_object = reqif_bundle.get_spec_object_by_ref(
169
+ hierarchy_.spec_object
170
+ )
171
+ converted_node: SDocNode = (
172
+ P01_ReqIFToSDocConverter.create_requirement_from_spec_object(
187
173
  spec_object=spec_object,
188
174
  context=context,
189
- parent_section=current_section_,
175
+ parent_section=parent_node,
190
176
  reqif_bundle=reqif_bundle,
191
- level=current_hierarchy_.level,
177
+ level=hierarchy_.level,
192
178
  )
193
- current_section_.section_contents.append(converted_node)
179
+ )
180
+ parent_node.section_contents.append(converted_node)
194
181
 
195
- return converted_node, is_section
196
-
197
- reqif_bundle.iterate_specification_hierarchy_for_conversion(
198
- specification,
199
- document,
200
- lambda s: s.ng_level,
201
- node_converter_lambda,
202
- )
182
+ if spec_object.spec_object_type in section_spec_types:
183
+ node_stack.append(converted_node)
203
184
 
204
185
  elements: List[GrammarElement] = []
205
186
  for (
206
- spec_object_type_identifier_
207
- ) in spec_object_type_identifiers_used_by_this_document:
208
- spec_object_type: ReqIFSpecObjectType = (
209
- reqif_bundle.lookup.get_spec_type_by_ref(
210
- spec_object_type_identifier_
211
- )
212
- )
213
- if spec_object_type.long_name == "SECTION":
187
+ spec_object_type_
188
+ ) in reqif_bundle.core_content.req_if_content.spec_types:
189
+ if not isinstance(spec_object_type_, ReqIFSpecObjectType):
214
190
  continue
191
+
192
+ spec_object_type_identifier_ = spec_object_type_.identifier
193
+ if (
194
+ spec_object_type_identifier_
195
+ not in spec_object_type_identifiers_used_by_this_document
196
+ ):
197
+ continue
198
+
215
199
  grammar_element = (
216
200
  context.map_spec_object_type_identifier_to_grammar_node_tags[
217
201
  spec_object_type_identifier_
@@ -229,7 +213,10 @@ class P01_ReqIFToSDocConverter:
229
213
  grammar = DocumentGrammar(parent=document, elements=elements)
230
214
  grammar.is_default = False
231
215
  else:
216
+ # This case is mainly a placeholder for simple edge cases such as
217
+ # an empty [DOCUMENT] where there are no grammar or nodes declared.
232
218
  grammar = DocumentGrammar.create_default(parent=document)
219
+
233
220
  document.grammar = grammar
234
221
 
235
222
  return document
@@ -239,6 +226,7 @@ class P01_ReqIFToSDocConverter:
239
226
  *,
240
227
  spec_object_type: ReqIFSpecObjectType,
241
228
  reqif_bundle: ReqIFBundle,
229
+ is_composite: bool,
242
230
  ):
243
231
  fields: List[
244
232
  Union[
@@ -247,6 +235,7 @@ class P01_ReqIFToSDocConverter:
247
235
  GrammarElementFieldSingleChoice,
248
236
  ]
249
237
  ] = []
238
+
250
239
  for attribute in spec_object_type.attribute_definitions:
251
240
  field_name = (
252
241
  P01_ReqIFToSDocConverter.convert_requirement_field_from_reqif(
@@ -316,9 +305,7 @@ class P01_ReqIFToSDocConverter:
316
305
  requirement_element = GrammarElement(
317
306
  parent=None,
318
307
  tag=create_safe_requirement_tag_string(spec_object_type.long_name),
319
- # FIXME: MERGE NODES
320
- # When the migration is done, make the nodes to be always recursive.
321
- property_is_composite="",
308
+ property_is_composite="True" if is_composite else "",
322
309
  property_prefix="",
323
310
  property_view_style="",
324
311
  fields=fields,
@@ -352,86 +339,13 @@ class P01_ReqIFToSDocConverter:
352
339
  document.grammar = DocumentGrammar.create_default(document)
353
340
  return document
354
341
 
355
- @staticmethod
356
- def create_section_from_spec_object(
357
- *,
358
- spec_object: ReqIFSpecObject,
359
- context: P01_ReqIFToSDocBuildContext,
360
- parent_section: Union[SDocSection, SDocDocument],
361
- level: int,
362
- reqif_bundle: ReqIFBundle,
363
- ) -> SDocSection:
364
- spec_object_type = reqif_bundle.lookup.get_spec_type_by_ref(
365
- spec_object.spec_object_type
366
- )
367
- attribute_map: Dict[str, SpecAttributeDefinition] = (
368
- spec_object_type.attribute_map
369
- )
370
- assert attribute_map is not None
371
- for attribute in spec_object.attributes:
372
- field_name_or_none: Optional[str] = attribute_map[
373
- attribute.definition_ref
374
- ].long_name
375
- if field_name_or_none is None:
376
- raise NotImplementedError # pragma: no cover
377
- field_name: str = field_name_or_none
378
- if field_name == ReqIFChapterField.CHAPTER_NAME:
379
- section_title = attribute.value
380
- break
381
- else:
382
- raise NotImplementedError( # pragma: no cover
383
- spec_object, attribute_map
384
- )
385
-
386
- # Sanitize the title. Titles can also come from XHTML attributes with
387
- # custom newlines such as:
388
- # <ATTRIBUTE-VALUE-XHTML>
389
- # <THE-VALUE>
390
- # Some value
391
- # </THE-VALUE>
392
- section_title = section_title.strip().replace("\n", " ")
393
-
394
- section_mid = spec_object.identifier if context.enable_mid else None
395
-
396
- section = SDocSection(
397
- parent=parent_section,
398
- mid=section_mid,
399
- uid=None,
400
- custom_level=None,
401
- title=section_title,
402
- requirement_prefix=None,
403
- section_contents=[],
404
- )
405
- section.ng_level = level
406
-
407
- if ReqIFChapterField.TEXT in spec_object.attribute_map:
408
- free_text = unescape(
409
- spec_object.attribute_map[ReqIFChapterField.TEXT].value
410
- )
411
- node_field = SDocNodeField.create_from_string(
412
- None,
413
- field_name="STATEMENT",
414
- field_value=free_text,
415
- multiline=True,
416
- )
417
- node: SDocNode = SDocNode(
418
- parent=section,
419
- node_type="TEXT",
420
- fields=[node_field],
421
- relations=[],
422
- )
423
- node_field.parent = node
424
- section.section_contents.append(node)
425
-
426
- return section
427
-
428
342
  @staticmethod
429
343
  def create_requirement_from_spec_object(
430
344
  spec_object: ReqIFSpecObject,
431
345
  context: P01_ReqIFToSDocBuildContext,
432
- parent_section: Union[SDocSection, SDocDocument],
346
+ parent_section: Union[SDocSectionIF, SDocDocumentIF, SDocNodeIF],
433
347
  reqif_bundle: ReqIFBundle,
434
- level,
348
+ level: int,
435
349
  ) -> SDocNode:
436
350
  fields = []
437
351
  spec_object_type = reqif_bundle.lookup.get_spec_type_by_ref(
@@ -447,7 +361,7 @@ class P01_ReqIFToSDocConverter:
447
361
  attribute.definition_ref
448
362
  ].long_name
449
363
  if long_name_or_none is None:
450
- raise NotImplementedError # pragma: no cover
364
+ raise NotImplementedError
451
365
  field_name: str = long_name_or_none
452
366
  if attribute.attribute_type == SpecObjectAttributeType.ENUMERATION:
453
367
  sdoc_field_name = P01_ReqIFToSDocConverter.convert_requirement_field_from_reqif(
@@ -479,7 +393,7 @@ class P01_ReqIFToSDocConverter:
479
393
 
480
394
  break
481
395
  else:
482
- raise NotImplementedError # pragma: no cover
396
+ raise NotImplementedError
483
397
 
484
398
  enum_values = ", ".join(enum_values_resolved)
485
399
  fields.append(
@@ -548,6 +462,10 @@ class P01_ReqIFToSDocConverter:
548
462
  node_type=grammar_element.tag,
549
463
  fields=fields,
550
464
  relations=[],
465
+ is_composite=grammar_element.property_is_composite is True,
466
+ node_type_close=grammar_element.tag
467
+ if grammar_element.property_is_composite
468
+ else None,
551
469
  )
552
470
  requirement.ng_level = level
553
471
  for field_ in fields: