strictdoc 0.5.0__tar.gz → 0.6.1a1__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 (537) hide show
  1. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/PKG-INFO +4 -5
  2. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/pyproject.toml +3 -5
  3. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/__init__.py +1 -1
  4. strictdoc-0.6.1a1/strictdoc/backend/excel/import_/excel_sheet_proxy.py +83 -0
  5. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/excel/import_/excel_to_sdoc_converter.py +12 -12
  6. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/reqif/reqif_import.py +2 -2
  7. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/error_handling.py +3 -3
  8. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/models/node.py +15 -12
  9. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/models/object_factory.py +3 -3
  10. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/models/section.py +9 -3
  11. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/processor.py +3 -3
  12. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/writer.py +8 -3
  13. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc_source_code/reader.py +3 -3
  14. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/cli/cli_arg_parser.py +1 -1
  15. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/actions/export_action.py +3 -3
  16. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/asset_manager.py +3 -3
  17. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/document_finder.py +3 -3
  18. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/document_meta.py +12 -12
  19. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/environment.py +0 -11
  20. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/file_traceability_index.py +60 -54
  21. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/graph/one_to_one_dictionary.py +3 -3
  22. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/project_config.py +3 -3
  23. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/query_engine/query_object.py +1 -1
  24. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/traceability_index_builder.py +3 -3
  25. strictdoc-0.6.1a1/strictdoc/export/html/_static/controllers/autocompletable_field_controller.js +297 -0
  26. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/form.css +41 -5
  27. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/form_objects/form_object.py +9 -9
  28. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/form_objects/rows/row_with_grammar_element_form_object.py +3 -3
  29. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/project_statistics.py +6 -10
  30. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/source_file_view_generator.py +6 -6
  31. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/view_objects/project_tree_stats.py +1 -1
  32. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/html_generator.py +10 -0
  33. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/renderers/link_renderer.py +1 -5
  34. strictdoc-0.6.1a1/strictdoc/export/html/templates/autocomplete/uid/stream_autocomplete_uid.jinja.html +2 -0
  35. strictdoc-0.6.1a1/strictdoc/export/html/templates/components/form/field/autocompletable/index.jinja +69 -0
  36. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/form/row/row_with_relation.jinja +2 -1
  37. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/document/frame_requirement_form.jinja +1 -0
  38. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/document/index.jinja +1 -0
  39. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/pdf/index.jinja +1 -1
  40. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/project_statistics/main.jinja +1 -1
  41. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/tools/html_embedded.py +9 -2
  42. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html2pdf/html2pdf_generator.py +1 -7
  43. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html2pdf/pdf_print_driver.py +12 -11
  44. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/spdx/spdx_generator.py +3 -3
  45. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/spdx/spdx_to_sdoc_converter.py +6 -6
  46. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/parallelizer.py +11 -5
  47. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/server/routers/main_router.py +77 -31
  48. strictdoc-0.5.0/strictdoc/export/html/_static/html2pdf/bundle.js +0 -2
  49. strictdoc-0.5.0/strictdoc/export/html2pdf/html2pdf.py +0 -258
  50. strictdoc-0.5.0/strictdoc/server/__init__.py +0 -0
  51. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/.gitignore +0 -0
  52. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/LICENSE +0 -0
  53. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/NOTICE +0 -0
  54. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/README.md +0 -0
  55. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/__init__.py +0 -0
  56. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/excel/__init__.py +0 -0
  57. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/excel/excel_import.py +0 -0
  58. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/excel/export/__init__.py +0 -0
  59. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/excel/export/excel_generator.py +0 -0
  60. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/excel/import_/__init__.py +0 -0
  61. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/reqif/__init__.py +0 -0
  62. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/reqif/p01_sdoc/__init__.py +0 -0
  63. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/reqif/p01_sdoc/reqif_to_sdoc_converter.py +0 -0
  64. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py +0 -0
  65. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/reqif/reqif_export.py +0 -0
  66. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/reqif/sdoc_reqif_fields.py +0 -0
  67. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/__init__.py +0 -0
  68. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/constants.py +0 -0
  69. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/document_reference.py +0 -0
  70. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/errors/__init__.py +0 -0
  71. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/errors/document_tree_error.py +0 -0
  72. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/free_text_reader.py +0 -0
  73. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/grammar/__init__.py +0 -0
  74. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/grammar/grammar.py +0 -0
  75. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/grammar/grammar_builder.py +0 -0
  76. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/grammar/grammar_grammar.py +0 -0
  77. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/grammar/type_system.py +0 -0
  78. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/grammar_reader.py +0 -0
  79. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/models/__init__.py +0 -0
  80. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/models/anchor.py +0 -0
  81. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/models/any_node.py +0 -0
  82. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/models/constants.py +0 -0
  83. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/models/document.py +0 -0
  84. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/models/document_config.py +0 -0
  85. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/models/document_from_file.py +0 -0
  86. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/models/document_grammar.py +0 -0
  87. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/models/document_view.py +0 -0
  88. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/models/free_text.py +0 -0
  89. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/models/inline_link.py +0 -0
  90. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/models/object.py +0 -0
  91. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/models/reference.py +0 -0
  92. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/models/type_system.py +0 -0
  93. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/pickle_cache.py +0 -0
  94. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/reader.py +0 -0
  95. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/validations/__init__.py +0 -0
  96. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc/validations/sdoc_validator.py +0 -0
  97. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc_source_code/__init__.py +0 -0
  98. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc_source_code/caching_reader.py +0 -0
  99. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc_source_code/constants.py +0 -0
  100. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc_source_code/grammar.py +0 -0
  101. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc_source_code/marker_parser.py +0 -0
  102. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc_source_code/models/__init__.py +0 -0
  103. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc_source_code/models/function.py +0 -0
  104. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc_source_code/models/function_range_marker.py +0 -0
  105. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc_source_code/models/range_marker.py +0 -0
  106. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc_source_code/models/requirement_marker.py +0 -0
  107. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc_source_code/models/source_file_info.py +0 -0
  108. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc_source_code/parse_context.py +0 -0
  109. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc_source_code/processors/general_language_marker_processors.py +0 -0
  110. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc_source_code/reader_c.py +0 -0
  111. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc_source_code/reader_python.py +0 -0
  112. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/backend/sdoc_source_code/tree_sitter_helpers.py +0 -0
  113. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/cli/__init__.py +0 -0
  114. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/cli/argument_int_range.py +0 -0
  115. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/cli/command_parser_builder.py +0 -0
  116. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/cli/main.py +0 -0
  117. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/commands/__init__.py +0 -0
  118. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/commands/about_command.py +0 -0
  119. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/commands/diff_command.py +0 -0
  120. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/commands/dump_grammar_command.py +0 -0
  121. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/commands/manage_autouid_command.py +0 -0
  122. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/commands/version_command.py +0 -0
  123. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/__init__.py +0 -0
  124. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/actions/__init__.py +0 -0
  125. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/actions/import_action.py +0 -0
  126. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/analyzers/document_stats.py +0 -0
  127. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/analyzers/document_uid_analyzer.py +0 -0
  128. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/document_iterator.py +0 -0
  129. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/document_tree.py +0 -0
  130. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/document_tree_iterator.py +0 -0
  131. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/file_dependency_manager.py +0 -0
  132. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/file_tree.py +0 -0
  133. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/finders/__init__.py +0 -0
  134. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/finders/source_files_finder.py +0 -0
  135. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/graph/abstract_bucket.py +0 -0
  136. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/graph/many_to_many_set.py +0 -0
  137. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/graph/validations.py +0 -0
  138. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/graph_database.py +0 -0
  139. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/query_engine/grammar.py +0 -0
  140. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/query_engine/query_reader.py +0 -0
  141. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/source_tree.py +0 -0
  142. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/traceability_index.py +0 -0
  143. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/transforms/constants.py +0 -0
  144. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/transforms/create_requirement.py +0 -0
  145. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/transforms/delete_requirement.py +0 -0
  146. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/transforms/delete_section.py +0 -0
  147. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/transforms/section.py +0 -0
  148. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/transforms/update_document_config.py +0 -0
  149. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/transforms/update_grammar.py +0 -0
  150. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/transforms/update_grammar_element.py +0 -0
  151. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/transforms/update_included_document.py +0 -0
  152. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/transforms/update_requirement.py +0 -0
  153. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/transforms/validation_error.py +0 -0
  154. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/core/tree_cycle_detector.py +0 -0
  155. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/__init__.py +0 -0
  156. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/doxygen/doxygen_generator.py +0 -0
  157. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/autogen.css +0 -0
  158. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/base.css +0 -0
  159. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/collapsible_list.js +0 -0
  160. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/collapsible_toc.js +0 -0
  161. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/collapsible_tree.js +0 -0
  162. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/content.css +0 -0
  163. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/controllers/anchor_controller.js +0 -0
  164. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/controllers/copy_to_clipboard_controller.js +0 -0
  165. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/controllers/deletable_field_controller.js +0 -0
  166. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/controllers/draggable_list_controller.js +0 -0
  167. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/controllers/dropdown_menu_controller.js +0 -0
  168. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/controllers/editable_field_controller.js +0 -0
  169. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/controllers/modal_controller.js +0 -0
  170. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/controllers/movable_field_controller.js +0 -0
  171. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/controllers/scroll_into_view_controller.js +0 -0
  172. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/controllers/tabs_controller.js +0 -0
  173. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/diff.css +0 -0
  174. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/diff.js +0 -0
  175. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/element.css +0 -0
  176. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/favicon.ico +0 -0
  177. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/fonts/NotoSans-Italic-VariableFont_wdth,wght.ttf +0 -0
  178. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/fonts/NotoSans-VariableFont_wdth,wght.ttf +0 -0
  179. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/fonts/NotoSansMono-VariableFont_wdth,wght.ttf +0 -0
  180. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/layout.css +0 -0
  181. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/node.css +0 -0
  182. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/pan_with_space.js +0 -0
  183. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/project_tree.css +0 -0
  184. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/project_tree.js +0 -0
  185. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/requirement-tree.css +0 -0
  186. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/requirement.css +0 -0
  187. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/requirement__temporary.css +0 -0
  188. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/requirements-coverage.js +0 -0
  189. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/resizable_bar.js +0 -0
  190. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/source-code-coverage.js +0 -0
  191. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/source.css +0 -0
  192. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/stimulus.min.js +0 -0
  193. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/table_vew.css +0 -0
  194. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/toc_highlighting.js +0 -0
  195. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/traceability_matrix.css +0 -0
  196. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/tree(not_in_use).css +0 -0
  197. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/turbo.min.js +0 -0
  198. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/viewtype_menu.js +0 -0
  199. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static/zoomable.js +0 -0
  200. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/LICENSE-MATHJAX +0 -0
  201. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/tex.js +0 -0
  202. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
  203. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
  204. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
  205. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
  206. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
  207. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
  208. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
  209. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
  210. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
  211. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
  212. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
  213. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
  214. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
  215. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
  216. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
  217. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
  218. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
  219. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
  220. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
  221. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
  222. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
  223. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
  224. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
  225. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mathjax/tex-mml-chtml.js +0 -0
  226. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/mermaid/mermaid.min.js +0 -0
  227. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/nestor/bundle.umd.js +0 -0
  228. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/_static_extra/rapidoc/rapidoc-min.js +0 -0
  229. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/document_type.py +0 -0
  230. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/form_objects/document_config_form_object.py +0 -0
  231. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/form_objects/grammar_element_form_object.py +0 -0
  232. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/form_objects/grammar_form_object.py +0 -0
  233. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/form_objects/included_document_form_object.py +0 -0
  234. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/form_objects/requirement_form_object.py +0 -0
  235. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/form_objects/section_form_object.py +0 -0
  236. {strictdoc-0.5.0/strictdoc/export/html → strictdoc-0.6.1a1/strictdoc/export/html/generators}/__init__.py +0 -0
  237. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/document.py +0 -0
  238. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/document_deep_trace.py +0 -0
  239. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/document_pdf.py +0 -0
  240. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/document_table.py +0 -0
  241. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/document_trace.py +0 -0
  242. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/document_tree.py +0 -0
  243. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/source_file_coverage.py +0 -0
  244. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/traceability_matrix.py +0 -0
  245. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/view_objects/diff_screen_results_view_object.py +0 -0
  246. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/view_objects/diff_screen_view_object.py +0 -0
  247. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/view_objects/document_screen_view_object.py +0 -0
  248. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/view_objects/nestor_view_object.py +0 -0
  249. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/view_objects/project_statistics_view_object.py +0 -0
  250. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/view_objects/project_tree_view_object.py +0 -0
  251. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/view_objects/search_screen_view_object.py +0 -0
  252. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/view_objects/source_file_view_object.py +0 -0
  253. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/generators/view_objects/traceability_matrix_view_object.py +0 -0
  254. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/html_templates.py +0 -0
  255. {strictdoc-0.5.0/strictdoc/export/html/generators → strictdoc-0.6.1a1/strictdoc/export/html/renderers}/__init__.py +0 -0
  256. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/renderers/html_fragment_writer.py +0 -0
  257. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/renderers/markup_renderer.py +0 -0
  258. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/renderers/text_to_html_writer.py +0 -0
  259. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg__separator.jinja.html +0 -0
  260. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_add.jinja.html +0 -0
  261. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_add_above.jinja +0 -0
  262. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_add_below.jinja +0 -0
  263. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_add_child.jinja +0 -0
  264. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_anchor.jinja +0 -0
  265. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_back.jinja.html +0 -0
  266. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_book.jinja.html +0 -0
  267. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_close.jinja +0 -0
  268. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_code.jinja.html +0 -0
  269. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_copy.jinja +0 -0
  270. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_delete.jinja.html +0 -0
  271. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_diff.jinja +0 -0
  272. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_document.jinja.html +0 -0
  273. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_done.jinja +0 -0
  274. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_edit.jinja.html +0 -0
  275. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_expand.jinja.html +0 -0
  276. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_file.jinja +0 -0
  277. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_folder.jinja +0 -0
  278. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_folder_collapse.jinja +0 -0
  279. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_folder_sm.jinja +0 -0
  280. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_fragment.jinja +0 -0
  281. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_fragment_draft.jinja +0 -0
  282. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_gear.jinja.html +0 -0
  283. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_go_to_doc.jinja +0 -0
  284. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_index.jinja.html +0 -0
  285. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_list.jinja.html +0 -0
  286. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_maximize.jinja +0 -0
  287. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_minimize.jinja +0 -0
  288. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_minusminus.jinja.html +0 -0
  289. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_move_down.jinja.html +0 -0
  290. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_move_up.jinja.html +0 -0
  291. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_plusplus.jinja.html +0 -0
  292. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_project.jinja.html +0 -0
  293. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_requirement.jinja.html +0 -0
  294. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_reset.jinja +0 -0
  295. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_search.jinja +0 -0
  296. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_source.jinja.html +0 -0
  297. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_stat.jinja +0 -0
  298. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_sync.jinja +0 -0
  299. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_toc.jinja.html +0 -0
  300. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_res/svg_ico16_tree.jinja +0 -0
  301. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_shared/nav.jinja.html +0 -0
  302. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_shared/requirement_tree_left.jinja.html +0 -0
  303. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_shared/requirement_tree_right.jinja.html +0 -0
  304. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/_shared/tags.jinja.html +0 -0
  305. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/_shared/stream_refresh_document.jinja.html +0 -0
  306. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/_shared/stream_updated_toc.jinja.html +0 -0
  307. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/add_requirement_comment/stream_add_requirement_comment.jinja.html +0 -0
  308. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/add_requirement_relation/stream_add_requirement_relation.jinja.html +0 -0
  309. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_cancel_new_requirement.jinja.html +0 -0
  310. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_created_requirement.jinja.html +0 -0
  311. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_new_requirement.jinja.html +0 -0
  312. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/create_section/stream_cancel_new_section.jinja.html +0 -0
  313. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/create_section/stream_created_section.jinja.html +0 -0
  314. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/create_section/stream_new_section.jinja.html +0 -0
  315. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_confirm_delete_requirement.jinja +0 -0
  316. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_delete_requirement.jinja.html +0 -0
  317. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/delete_section/stream_confirm_delete_section.jinja +0 -0
  318. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/delete_section/stream_delete_section.jinja.html +0 -0
  319. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_cancel_edit_document_config.jinja.html +0 -0
  320. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_edit_document_config.jinja.html +0 -0
  321. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_save_document_config.jinja.html +0 -0
  322. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_edit_requirement.jinja.html +0 -0
  323. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/edit_section/stream_edit_section.jinja.html +0 -0
  324. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/document/edit_section/stream_updated_section.jinja.html +0 -0
  325. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_requirement.jinja +0 -0
  326. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_section.jinja +0 -0
  327. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_form_import_reqif_document.jinja.html +0 -0
  328. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_refresh_with_imported_reqif_document.jinja.html +0 -0
  329. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/project_index/stream_create_document.jinja.html +0 -0
  330. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/actions/project_index/stream_new_document.jinja.html +0 -0
  331. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/base.jinja.html +0 -0
  332. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/anchor/index.jinja +0 -0
  333. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/badge/index.jinja +0 -0
  334. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/button/cancel.jinja +0 -0
  335. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/button/confirm.jinja +0 -0
  336. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/button/delete.jinja +0 -0
  337. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/button/diff.jinja +0 -0
  338. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/button/search.jinja +0 -0
  339. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/button/submit.jinja +0 -0
  340. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/confirm/_usage_example.jinja +0 -0
  341. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/confirm/index.jinja +0 -0
  342. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/field/index.jinja +0 -0
  343. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/form/field/contenteditable/index.jinja +0 -0
  344. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/form/field/file/index.jinja +0 -0
  345. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/form/field/text/index.jinja +0 -0
  346. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/form/field_action_button/index.jinja +0 -0
  347. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/form/index.jinja +0 -0
  348. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/form/row/index.jinja +0 -0
  349. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/example.jinja.html +0 -0
  350. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/frame.jinja +0 -0
  351. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/stream.jinja +0 -0
  352. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/form/row/row_with_comment.jinja +0 -0
  353. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/form/row/row_with_text_field.jinja +0 -0
  354. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/form/search.jinja +0 -0
  355. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/grammar_form/index.jinja +0 -0
  356. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/grammar_form/row_with_grammar_element/index.jinja +0 -0
  357. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/grammar_form/row_with_new_grammar_element/index.jinja +0 -0
  358. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/grammar_form_element/index.jinja +0 -0
  359. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_custom_field/index.jinja +0 -0
  360. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_relation/index.jinja +0 -0
  361. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_reserved_field/index.jinja +0 -0
  362. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/header/_usage_example.jinja +0 -0
  363. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/header/header_pagetype.jinja +0 -0
  364. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/header/index.jinja +0 -0
  365. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/included_document_form/index.jinja +0 -0
  366. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/modal/_usage_example.jinja +0 -0
  367. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/modal/form.jinja +0 -0
  368. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/modal/index.jinja +0 -0
  369. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node/card.jinja +0 -0
  370. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node/index.jinja +0 -0
  371. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node/node_controls/card.jinja +0 -0
  372. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node/node_controls/index.jinja +0 -0
  373. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node/root.jinja +0 -0
  374. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node_field/README.txt +0 -0
  375. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node_field/comments/index.jinja +0 -0
  376. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node_field/document_meta/index.jinja +0 -0
  377. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node_field/document_title/index.jinja +0 -0
  378. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node_field/files/index.jinja +0 -0
  379. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node_field/links/index.jinja +0 -0
  380. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node_field/meta/index.jinja +0 -0
  381. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node_field/multiline/index.jinja +0 -0
  382. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node_field/rationale/index.jinja +0 -0
  383. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node_field/section_h/index.jinja +0 -0
  384. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node_field/section_h/pdf.jinja +0 -0
  385. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node_field/section_title/index.jinja +0 -0
  386. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node_field/statement/index.jinja +0 -0
  387. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node_field/text/index.jinja +0 -0
  388. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node_field/title/index.jinja +0 -0
  389. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node_field/title/pdf.jinja +0 -0
  390. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node_field/uid/index.jinja +0 -0
  391. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/node_field/uid_standalone/index.jinja +0 -0
  392. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/requirement/card.jinja +0 -0
  393. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/requirement/card_extends_card.jinja +0 -0
  394. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/requirement/index.jinja +0 -0
  395. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/requirement/index_extends_node.jinja +0 -0
  396. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/requirement/pdf.jinja +0 -0
  397. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/requirement/tiny.jinja +0 -0
  398. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/requirement/tiny_extends_card.jinja +0 -0
  399. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/resizable_bar/index.jinja +0 -0
  400. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/section/card.jinja +0 -0
  401. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/section/card_extends_card.jinja +0 -0
  402. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/section/index.jinja +0 -0
  403. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/section/index_extends_node.jinja +0 -0
  404. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/section/pdf.jinja +0 -0
  405. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/section/tiny.jinja +0 -0
  406. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/section/tiny_extends_card.jinja +0 -0
  407. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/table_key_value/index.jinja +0 -0
  408. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/text_node/card.jinja +0 -0
  409. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/text_node/card_extends_card.jinja +0 -0
  410. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/text_node/index.jinja +0 -0
  411. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/text_node/index_extends_node.jinja +0 -0
  412. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/text_node/pdf.jinja +0 -0
  413. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/text_node/tiny.jinja +0 -0
  414. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/components/text_node/tiny_extends_card.jinja +0 -0
  415. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/rst/anchor.jinja +0 -0
  416. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/_shared/frame_header_document_title.jinja +0 -0
  417. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_requirement.jinja +0 -0
  418. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_section.jinja +0 -0
  419. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/_shared/frame_toc.jinja +0 -0
  420. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/_shared/project_tree.jinja +0 -0
  421. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/_shared/project_tree_child_documents.jinja +0 -0
  422. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_project_tree.jinja +0 -0
  423. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_toc.jinja +0 -0
  424. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/_shared/toc.jinja +0 -0
  425. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/_shared/viewtype_menu.jinja +0 -0
  426. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/document/actions.jinja +0 -0
  427. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/document/frame_document_config.jinja.html +0 -0
  428. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/document/frame_document_config_edit.jinja.html +0 -0
  429. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +0 -0
  430. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/document/frame_section_form.jinja +0 -0
  431. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/document/main.jinja +0 -0
  432. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/pdf/main.jinja +0 -0
  433. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/pdf/template/footer.jinja +0 -0
  434. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/pdf/template/frontpage.jinja +0 -0
  435. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/pdf/template/header.jinja +0 -0
  436. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/pdf/toc.jinja +0 -0
  437. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/table/index.jinja +0 -0
  438. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/table/main.jinja +0 -0
  439. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/traceability/index.jinja +0 -0
  440. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/traceability/main.jinja +0 -0
  441. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/traceability_deep/index.jinja +0 -0
  442. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/document/traceability_deep/main.jinja +0 -0
  443. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/git/changelog_content.jinja +0 -0
  444. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/git/diff_content.jinja +0 -0
  445. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/git/diff_controls.jinja +0 -0
  446. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/git/fields/document_fields.jinja +0 -0
  447. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/git/fields/requirement_fields.jinja +0 -0
  448. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/git/fields/section_fields.jinja +0 -0
  449. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/git/form.jinja +0 -0
  450. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/git/frame_changelog_result.jinja +0 -0
  451. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/git/frame_diff_result.jinja +0 -0
  452. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/git/index.jinja +0 -0
  453. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/git/legend.jinja +0 -0
  454. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/git/main.jinja +0 -0
  455. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/git/nav_tabs.jinja +0 -0
  456. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/git/node/requirement.jinja +0 -0
  457. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/git/node/section.jinja +0 -0
  458. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/git/skeleton.jinja +0 -0
  459. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/git/sync/button.jinja +0 -0
  460. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/nestor/index.jinja +0 -0
  461. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/project_index/actions.jinja +0 -0
  462. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/project_index/frame_form_import_reqif.jinja.html +0 -0
  463. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/project_index/frame_form_new_document.jinja.html +0 -0
  464. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/project_index/frame_project_tree.jinja.html +0 -0
  465. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/project_index/index.jinja +0 -0
  466. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/project_index/main.jinja +0 -0
  467. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/project_index/project_tree.jinja +0 -0
  468. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/project_index/project_tree_file.jinja +0 -0
  469. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/project_index/project_tree_folder.jinja +0 -0
  470. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/project_statistics/index.jinja +0 -0
  471. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/search/index.jinja +0 -0
  472. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/search/legend.jinja +0 -0
  473. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/search/main.jinja +0 -0
  474. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/source_file_coverage/file.jinja +0 -0
  475. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/source_file_coverage/folder.jinja +0 -0
  476. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/source_file_coverage/index.jinja +0 -0
  477. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/source_file_coverage/main.jinja +0 -0
  478. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/source_file_view/aside.jinja +0 -0
  479. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/source_file_view/header__source_file_name.jinja +0 -0
  480. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/source_file_view/index.jinja +0 -0
  481. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/source_file_view/main.jinja +0 -0
  482. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/source_file_view/requirement.jinja +0 -0
  483. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/traceability_matrix/file.jinja +0 -0
  484. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/traceability_matrix/index.jinja +0 -0
  485. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/traceability_matrix/main.jinja +0 -0
  486. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/traceability_matrix/project_tree_flat_anchor_list.jinja +0 -0
  487. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/traceability_matrix/requirement.jinja.html +0 -0
  488. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/screens/traceability_matrix/resizable_bar_with_project_tree.jinja +0 -0
  489. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/website/document/index.jinja +0 -0
  490. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/html/templates/websocket.jinja.html +0 -0
  491. {strictdoc-0.5.0/strictdoc/export/html/renderers → strictdoc-0.6.1a1/strictdoc/export/html/tools}/__init__.py +0 -0
  492. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/json/json_generator.py +0 -0
  493. {strictdoc-0.5.0/strictdoc/export/html/tools → strictdoc-0.6.1a1/strictdoc/export/rst}/__init__.py +0 -0
  494. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/rst/directives/raw_html_role.py +0 -0
  495. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/rst/directives/wildcard_enhanced_image.py +0 -0
  496. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/rst/document_rst_generator.py +0 -0
  497. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/rst/rst_templates.py +0 -0
  498. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/rst/rst_to_html_fragment_writer.py +0 -0
  499. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/rst/templates/requirement.jinja.rst +0 -0
  500. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/rst/writer.py +0 -0
  501. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/export/spdx/spdx_sdoc_container.py +0 -0
  502. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/git/change.py +0 -0
  503. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/git/change_generator.py +0 -0
  504. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/git/git_client.py +0 -0
  505. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/git/project_diff_analyzer.py +0 -0
  506. {strictdoc-0.5.0/strictdoc/export/rst → strictdoc-0.6.1a1/strictdoc/helpers}/__init__.py +0 -0
  507. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/auto_described.py +0 -0
  508. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/cast.py +0 -0
  509. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/diff.py +0 -0
  510. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/exception.py +0 -0
  511. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/file_modification_time.py +0 -0
  512. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/file_system.py +0 -0
  513. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/form_data.py +0 -0
  514. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/git_client.py +0 -0
  515. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/math.py +0 -0
  516. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/md5.py +0 -0
  517. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/mid.py +0 -0
  518. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/ordered_set.py +0 -0
  519. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/path_filter.py +0 -0
  520. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/paths.py +0 -0
  521. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/pickle.py +0 -0
  522. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/rst.py +0 -0
  523. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/sha256.py +0 -0
  524. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/shard.py +0 -0
  525. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/sorting.py +0 -0
  526. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/string.py +0 -0
  527. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/textx.py +0 -0
  528. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/helpers/timing.py +0 -0
  529. {strictdoc-0.5.0/strictdoc/helpers → strictdoc-0.6.1a1/strictdoc/server}/__init__.py +0 -0
  530. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/server/app.py +0 -0
  531. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/server/config.py +0 -0
  532. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/server/error_object.py +0 -0
  533. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/server/helpers/turbo.py +0 -0
  534. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/server/main.py +0 -0
  535. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/server/routers/other_router.py +0 -0
  536. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/strictdoc/server/server.py +0 -0
  537. {strictdoc-0.5.0 → strictdoc-0.6.1a1}/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.5.0
3
+ Version: 0.6.1a1
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,22 +22,21 @@ 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
26
  Requires-Dist: html5lib>=1.1
26
27
  Requires-Dist: jinja2>=2.11.2
28
+ Requires-Dist: openpyxl>=3.1.0
27
29
  Requires-Dist: pygments==2.*,>=2.10.0
28
30
  Requires-Dist: python-datauri==2.*,>=2.1.1
29
31
  Requires-Dist: python-multipart
30
32
  Requires-Dist: reqif==0.*,>=0.0.39
31
- Requires-Dist: requests
32
- Requires-Dist: selenium
33
33
  Requires-Dist: spdx-tools
34
- Requires-Dist: textx==3.*,>=3.0.0
34
+ Requires-Dist: textx==4.*,>=4.0.0
35
35
  Requires-Dist: toml
36
36
  Requires-Dist: tree-sitter
37
37
  Requires-Dist: tree-sitter-cpp
38
38
  Requires-Dist: tree-sitter-python
39
39
  Requires-Dist: uvicorn[standard]>=0.14.0
40
- Requires-Dist: webdriver-manager
41
40
  Requires-Dist: websockets
42
41
  Requires-Dist: xlrd==2.*,>=2.0.1
43
42
  Requires-Dist: xlsxwriter==1.*,>=1.3.7
@@ -48,7 +48,7 @@ classifiers = [
48
48
 
49
49
  # @sdoc[SDOC-SRS-89]
50
50
  dependencies = [
51
- "textx >= 3.0.0, == 3.*",
51
+ "textx >= 4.0.0, == 4.*",
52
52
  "jinja2 >= 2.11.2",
53
53
  # Reading project config from strictdoc.toml file.
54
54
  "toml",
@@ -72,6 +72,7 @@ dependencies = [
72
72
  # Excel
73
73
  "XlsxWriter >= 1.3.7, == 1.*",
74
74
  "xlrd >= 2.0.1, == 2.*",
75
+ "openpyxl >= 3.1.0",
75
76
 
76
77
  # ReqIF
77
78
  "reqif >= 0.0.39, == 0.*",
@@ -87,10 +88,7 @@ dependencies = [
87
88
  "WebSockets",
88
89
 
89
90
  # HTML2PDF dependencies
90
- "selenium",
91
- "webdriver-manager",
92
- # requests is used by StrictDoc's custom HTML2PDF_HTTPClient.
93
- "requests",
91
+ "html2print >= 0.0.12",
94
92
  ]
95
93
  # @sdoc[/SDOC-SRS-89]
96
94
 
@@ -1,6 +1,6 @@
1
1
  from strictdoc.core.environment import SDocRuntimeEnvironment
2
2
 
3
- __version__ = "0.5.0"
3
+ __version__ = "0.6.1a1"
4
4
 
5
5
 
6
6
  environment = SDocRuntimeEnvironment(__file__)
@@ -0,0 +1,83 @@
1
+ from enum import Enum
2
+ from typing import List
3
+
4
+ import openpyxl
5
+ import xlrd
6
+
7
+ from strictdoc.helpers.auto_described import auto_described
8
+
9
+
10
+ class ExcelLibType(Enum):
11
+ XLRD = 1
12
+ OPENPYXL = 2
13
+
14
+
15
+ @auto_described
16
+ class ExcelSheetProxy:
17
+ """This proxy class allows to open either xls(xlrd) or xlsx(openpyxl) with the same interface"""
18
+
19
+ def __init__(self, file: str):
20
+ self.file = file
21
+ if file.endswith(".xlsx"):
22
+ self.workbook = openpyxl.load_workbook(file)
23
+ self.sheet = self.workbook.active
24
+ if self.sheet is None:
25
+ raise RuntimeError(
26
+ "Couldn't open the first sheet of the workbook"
27
+ )
28
+ self.lib = ExcelLibType.OPENPYXL
29
+ elif file.endswith(".xls"):
30
+ self.workbook = xlrd.open_workbook(file, on_demand=True)
31
+ self.sheet = self.workbook.sheet_by_index(0)
32
+ self.lib = ExcelLibType.XLRD
33
+ else:
34
+ raise ValueError("Unsupported file format")
35
+
36
+ @property
37
+ def name(self) -> str:
38
+ """returns the name of the first sheet"""
39
+ if self.lib == ExcelLibType.OPENPYXL:
40
+ return str(self.sheet.title)
41
+ elif self.lib == ExcelLibType.XLRD:
42
+ return str(self.sheet.name)
43
+ return ""
44
+
45
+ @property
46
+ def ncols(self) -> int:
47
+ """the number of columns"""
48
+ ncols: int = 0
49
+ if self.lib == ExcelLibType.OPENPYXL:
50
+ ncols = self.sheet.max_column
51
+ elif self.lib == ExcelLibType.XLRD:
52
+ ncols = self.sheet.ncols
53
+ return ncols
54
+
55
+ @property
56
+ def nrows(self) -> int:
57
+ """the number of rows"""
58
+ nrows: int = 0
59
+ if self.lib == ExcelLibType.OPENPYXL:
60
+ nrows = self.sheet.max_row
61
+ elif self.lib == ExcelLibType.XLRD:
62
+ nrows = self.sheet.nrows
63
+ return nrows
64
+
65
+ def get_cell_value(self, row: int, col: int) -> str:
66
+ """returns the value at row/col as string"""
67
+ cell_value: str = ""
68
+ if self.lib == ExcelLibType.OPENPYXL:
69
+ cell_value = (
70
+ self.sheet.cell(row=row + 1, column=col + 1).value or ""
71
+ )
72
+ elif self.lib == ExcelLibType.XLRD:
73
+ cell_value = self.sheet.cell_value(row, col)
74
+ return cell_value
75
+
76
+ def row_values(self, row: int) -> List[str]:
77
+ """returns a full row as list"""
78
+ row_values: List[str] = []
79
+ if self.lib == ExcelLibType.OPENPYXL:
80
+ row_values = [(cell.value or "") for cell in self.sheet[row + 1]]
81
+ elif self.lib == ExcelLibType.XLRD:
82
+ row_values = self.sheet.row_values(row)
83
+ return row_values
@@ -1,9 +1,8 @@
1
1
  # mypy: disable-error-code="no-untyped-call,no-untyped-def"
2
2
  import os
3
- from typing import List, NamedTuple, Optional, Tuple
4
-
5
- import xlrd
3
+ from typing import List, NamedTuple, Optional, Tuple, Union
6
4
 
5
+ from strictdoc.backend.excel.import_.excel_sheet_proxy import ExcelSheetProxy
7
6
  from strictdoc.backend.sdoc.models.document import SDocDocument
8
7
  from strictdoc.backend.sdoc.models.document_config import DocumentConfig
9
8
  from strictdoc.backend.sdoc.models.document_grammar import (
@@ -42,24 +41,25 @@ def safe_name(dangerous_name):
42
41
  class ExcelToSDocConverter:
43
42
  @staticmethod
44
43
  # optional argument title is present for external scripts to assign a title
45
- def convert(excel_file, title=None) -> SDocDocument:
46
- excel_workbook = xlrd.open_workbook(filename=excel_file, on_demand=True)
47
- xlrd_sheet: xlrd.sheet.Sheet = excel_workbook.sheet_by_index(0)
44
+ def convert(
45
+ excel_file: str, title: Union[str, None] = None
46
+ ) -> SDocDocument:
47
+ sheet = ExcelSheetProxy(excel_file)
48
48
 
49
49
  excel_file_name = os.path.basename(excel_file)
50
50
  if title is None:
51
- title = excel_file_name + " sheet " + xlrd_sheet.name
51
+ title = excel_file_name + " sheet " + sheet.name
52
52
 
53
- all_header_columns = list(range(xlrd_sheet.ncols))
53
+ all_header_columns = list(range(sheet.ncols))
54
54
 
55
55
  for i in range(16): # the first 16 rows should do ¯\_(ツ)_/¯
56
- if xlrd_sheet.row_values(0)[0].strip() != "":
56
+ if sheet.row_values(i)[0].strip() != "":
57
57
  header_row_idx = i
58
58
  break
59
59
  else:
60
60
  raise NotImplementedError
61
61
 
62
- header_row = xlrd_sheet.row_values(header_row_idx)
62
+ header_row = sheet.row_values(header_row_idx)
63
63
  safe_header_row = [safe_name(x) for x in header_row]
64
64
 
65
65
  statement_column = None
@@ -105,8 +105,8 @@ class ExcelToSDocConverter:
105
105
  document = ExcelToSDocConverter.create_document(
106
106
  title, extra_header_pairs
107
107
  )
108
- for i in range(header_row_idx + 1, xlrd_sheet.nrows):
109
- row_values = xlrd_sheet.row_values(i)
108
+ for i in range(header_row_idx + 1, sheet.nrows):
109
+ row_values = sheet.row_values(i)
110
110
  requirement = ExcelToSDocConverter.create_requirement(
111
111
  row_values, document, columns
112
112
  )
@@ -21,9 +21,9 @@ class ReqIFImport:
21
21
  ) -> List[SDocDocument]:
22
22
  converter = ReqIFImport.select_reqif_profile(import_config)
23
23
 
24
- assert os.path.isfile(
24
+ assert os.path.isfile(import_config.input_path), (
25
25
  import_config.input_path
26
- ), import_config.input_path
26
+ )
27
27
 
28
28
  if import_config.input_path.endswith(".reqifz"):
29
29
  reqifz_bundle: ReqIFZBundle = ReqIFZParser.parse(
@@ -128,9 +128,9 @@ class StrictDocSemanticError(Exception):
128
128
  problematic_field: SDocNodeField,
129
129
  path_to_sdoc_file: str,
130
130
  ):
131
- assert isinstance(
132
- problematic_field, SDocNodeField
133
- ), f"{problematic_field}"
131
+ assert isinstance(problematic_field, SDocNodeField), (
132
+ f"{problematic_field}"
133
+ )
134
134
  requirement_dump = node.dump_fields_as_parsed()
135
135
  grammar_dump = document_grammar.dump_fields(node.node_type)
136
136
  return StrictDocSemanticError(
@@ -60,9 +60,9 @@ class SDocNodeField:
60
60
  multiline: bool,
61
61
  ) -> "SDocNodeField":
62
62
  assert isinstance(field_name, str) and len(field_name) > 0, field_name
63
- assert (
64
- isinstance(field_value, str) and len(field_value) > 0
65
- ), field_value
63
+ assert isinstance(field_value, str) and len(field_value) > 0, (
64
+ field_value
65
+ )
66
66
 
67
67
  return SDocNodeField(
68
68
  parent=parent,
@@ -223,9 +223,9 @@ class SDocNode(SDocObject):
223
223
  field: SDocNodeField = self.ordered_fields_lookup[
224
224
  RequirementFieldName.TAGS
225
225
  ][0]
226
- assert (
227
- not field.is_multiline()
228
- ), f"Field {RequirementFieldName.TAGS} must be a single-line field."
226
+ assert not field.is_multiline(), (
227
+ f"Field {RequirementFieldName.TAGS} must be a single-line field."
228
+ )
229
229
  tags = field.get_text_value().split(", ")
230
230
  return tags
231
231
 
@@ -262,6 +262,9 @@ class SDocNode(SDocObject):
262
262
  def is_requirement(self) -> bool:
263
263
  return True
264
264
 
265
+ def is_normative_node(self) -> bool:
266
+ return not self.is_text_node()
267
+
265
268
  def is_text_node(self) -> bool:
266
269
  return self.node_type == "TEXT"
267
270
 
@@ -286,9 +289,9 @@ class SDocNode(SDocObject):
286
289
  document: Optional[SDocDocument] = (
287
290
  self.ng_document_reference.get_document()
288
291
  )
289
- assert (
290
- document is not None
291
- ), "A valid requirement must always have a reference to the document."
292
+ assert document is not None, (
293
+ "A valid requirement must always have a reference to the document."
294
+ )
292
295
  return document
293
296
 
294
297
  def get_document(self) -> Optional[SDocDocument]:
@@ -325,9 +328,9 @@ class SDocNode(SDocObject):
325
328
  document: Optional[SDocDocument] = (
326
329
  self.ng_document_reference.get_document()
327
330
  )
328
- assert (
329
- document is not None
330
- ), "A valid requirement must always have a reference to the document."
331
+ assert document is not None, (
332
+ "A valid requirement must always have a reference to the document."
333
+ )
331
334
  return document
332
335
 
333
336
  def document_is_included(self) -> bool:
@@ -74,9 +74,9 @@ class SDocObjectFactory:
74
74
  )
75
75
  )
76
76
  if statement_multiline is not None:
77
- assert isinstance(
78
- statement_multiline, str
79
- ), f"{statement_multiline}"
77
+ assert isinstance(statement_multiline, str), (
78
+ f"{statement_multiline}"
79
+ )
80
80
  fields.append(
81
81
  SDocNodeField.create_from_string(
82
82
  parent=None,
@@ -110,9 +110,9 @@ class SDocSection(SDocObject):
110
110
  document: Optional[SDocDocument] = (
111
111
  self.ng_document_reference.get_document()
112
112
  )
113
- assert (
114
- document is not None
115
- ), "A valid requirement must always have a reference to the document."
113
+ assert document is not None, (
114
+ "A valid requirement must always have a reference to the document."
115
+ )
116
116
  return document
117
117
 
118
118
  def document_is_included(self):
@@ -130,6 +130,12 @@ class SDocSection(SDocObject):
130
130
  def is_section(self):
131
131
  return True
132
132
 
133
+ def has_any_text_nodes(self):
134
+ return any(
135
+ not node_.is_section and node_.node_type == "TEXT"
136
+ for node_ in self.section_contents
137
+ )
138
+
133
139
  @property
134
140
  def is_root(self) -> bool:
135
141
  return self.document.config.root is True
@@ -168,9 +168,9 @@ class SDocParsingProcessor:
168
168
  )
169
169
 
170
170
  def process_document_from_file(self, document_from_file: DocumentFromFile):
171
- assert isinstance(
172
- document_from_file, DocumentFromFile
173
- ), document_from_file
171
+ assert isinstance(document_from_file, DocumentFromFile), (
172
+ document_from_file
173
+ )
174
174
 
175
175
  # Windows paths are backslashes, so using abspath in addition.
176
176
  resolved_path_to_fragment_file = os.path.abspath(
@@ -109,6 +109,11 @@ class SDWriter:
109
109
  output += f"VERSION: {version}"
110
110
  output += "\n"
111
111
 
112
+ date = document_config.date
113
+ if date is not None:
114
+ output += f"DATE: {date}"
115
+ output += "\n"
116
+
112
117
  classification = document_config.classification
113
118
  if classification is not None:
114
119
  output += f"CLASSIFICATION: {classification}"
@@ -256,9 +261,9 @@ class SDWriter:
256
261
  document_iterator: DocumentCachingIterator,
257
262
  convert_free_text_to_text: bool = False,
258
263
  ):
259
- assert isinstance(
260
- document_iterator, DocumentCachingIterator
261
- ), document_iterator
264
+ assert isinstance(document_iterator, DocumentCachingIterator), (
265
+ document_iterator
266
+ )
262
267
 
263
268
  if isinstance(root_node, SDocDocument):
264
269
  output = ""
@@ -32,9 +32,9 @@ class ParseContext:
32
32
 
33
33
 
34
34
  def req_processor(req: Req):
35
- assert isinstance(
36
- req, Req
37
- ), f"Expected req to be Req, got: {req}, {type(req)}"
35
+ assert isinstance(req, Req), (
36
+ f"Expected req to be Req, got: {req}, {type(req)}"
37
+ )
38
38
  location = get_location(req)
39
39
  assert location
40
40
  req.ng_source_line = location["line"]
@@ -60,7 +60,7 @@ class ManageAutoUIDCommandConfig:
60
60
 
61
61
 
62
62
  class ImportExcelCommandConfig:
63
- def __init__(self, input_path, output_path, parser):
63
+ def __init__(self, input_path: str, output_path: str, parser):
64
64
  self.input_path = input_path
65
65
  self.output_path = output_path
66
66
  self.parser = parser
@@ -51,9 +51,9 @@ class ExportAction:
51
51
 
52
52
  @timing_decorator("Export SDoc")
53
53
  def export(self) -> None:
54
- assert (
55
- self.traceability_index is not None
56
- ), "The index must be built at this point."
54
+ assert self.traceability_index is not None, (
55
+ "The index must be built at this point."
56
+ )
57
57
  if (
58
58
  "html" in self.project_config.export_formats
59
59
  or "html-standalone" in self.project_config.export_formats
@@ -11,9 +11,9 @@ class AssetDir:
11
11
  relative_path: SDocRelativePath
12
12
 
13
13
  def __post_init__(self):
14
- assert isinstance(
15
- self.relative_path, SDocRelativePath
16
- ), self.relative_path
14
+ assert isinstance(self.relative_path, SDocRelativePath), (
15
+ self.relative_path
16
+ )
17
17
 
18
18
 
19
19
  class AssetManager:
@@ -115,9 +115,9 @@ class DocumentFinder:
115
115
 
116
116
  doc_file: File
117
117
  for doc_file, file_tree_mount_folder, document in found_documents:
118
- assert isinstance(
119
- file_tree_mount_folder, str
120
- ), file_tree_mount_folder
118
+ assert isinstance(file_tree_mount_folder, str), (
119
+ file_tree_mount_folder
120
+ )
121
121
 
122
122
  if isinstance(document, DocumentGrammar):
123
123
  map_grammars_by_filenames[doc_file.file_name] = document
@@ -38,18 +38,18 @@ class DocumentMeta:
38
38
  output_document_dir_rel_path = "doc_project"
39
39
  )
40
40
  """
41
- assert isinstance(
42
- input_doc_rel_path, SDocRelativePath
43
- ), input_doc_rel_path
44
- assert isinstance(
45
- input_doc_dir_rel_path, SDocRelativePath
46
- ), input_doc_dir_rel_path
47
- assert isinstance(
48
- input_doc_assets_dir_rel_path, SDocRelativePath
49
- ), input_doc_assets_dir_rel_path
50
- assert isinstance(
51
- output_document_dir_rel_path, SDocRelativePath
52
- ), output_document_dir_rel_path
41
+ assert isinstance(input_doc_rel_path, SDocRelativePath), (
42
+ input_doc_rel_path
43
+ )
44
+ assert isinstance(input_doc_dir_rel_path, SDocRelativePath), (
45
+ input_doc_dir_rel_path
46
+ )
47
+ assert isinstance(input_doc_assets_dir_rel_path, SDocRelativePath), (
48
+ input_doc_assets_dir_rel_path
49
+ )
50
+ assert isinstance(output_document_dir_rel_path, SDocRelativePath), (
51
+ output_document_dir_rel_path
52
+ )
53
53
 
54
54
  self.level: int = level
55
55
  self.file_tree_mount_folder = file_tree_mount_folder
@@ -103,14 +103,3 @@ class SDocRuntimeEnvironment:
103
103
  return os.path.join(
104
104
  self.path_to_strictdoc, "strictdoc", "export", "html"
105
105
  )
106
-
107
- def get_path_to_html2pdf(self):
108
- if self.is_binary_dist:
109
- return os.path.join(self.path_to_strictdoc, "html2pdf.py")
110
- return os.path.join(
111
- self.path_to_strictdoc,
112
- "strictdoc",
113
- "export",
114
- "html2pdf",
115
- "html2pdf.py",
116
- )
@@ -50,7 +50,7 @@ class FileTraceabilityIndex:
50
50
 
51
51
  # This is only public non-static functions from languages like C.
52
52
  self.map_all_function_names_to_definition_functions: Dict[
53
- str, Function
53
+ str, List[Function]
54
54
  ] = {}
55
55
 
56
56
  # "file.py" -> (
@@ -241,70 +241,77 @@ class FileTraceabilityIndex:
241
241
  and function_.name
242
242
  in self.map_all_function_names_to_definition_functions
243
243
  ):
244
- definition_function: Optional[Function]
244
+ definition_functions: List[Function] = []
245
245
  if not function_.is_public():
246
246
  definition_function = traceability_info_.ng_map_names_to_definition_functions.get(
247
- function_.name
247
+ function_.name, None
248
248
  )
249
+ if definition_function is not None:
250
+ definition_functions.append(definition_function)
249
251
  else:
250
- definition_function = (
252
+ mapped_definition_functions = (
251
253
  self.map_all_function_names_to_definition_functions[
252
254
  function_.name
253
255
  ]
254
256
  )
255
- if definition_function is None:
257
+ definition_functions.extend(mapped_definition_functions)
258
+ if len(definition_functions) == 0:
256
259
  continue
257
- definition_function_trace_info: SourceFileTraceabilityInfo = definition_function.parent
258
260
 
259
- for marker_ in function_.markers:
260
- function_marker = ForwardFunctionRangeMarker(
261
- parent=None,
262
- reqs_objs=marker_.reqs_objs,
263
- scope="function",
264
- )
265
- function_marker.ng_source_line_begin = (
266
- definition_function.line_begin
267
- )
268
- function_marker.ng_source_column_begin = 1
269
- function_marker.ng_range_line_begin = (
270
- definition_function.line_begin
271
- )
272
- function_marker.ng_range_line_end = (
273
- definition_function.line_end
274
- )
275
- function_marker.ng_marker_line = (
276
- definition_function.line_begin
277
- )
278
- function_marker.ng_marker_column = 1
279
- function_marker.set_description(
280
- f"function {function_.display_name}"
281
- )
261
+ for definition_function_ in definition_functions:
262
+ definition_function_trace_info: SourceFileTraceabilityInfo = definition_function_.parent
282
263
 
283
- for req_uid_ in marker_.reqs:
284
- markers = definition_function_trace_info.ng_map_reqs_to_markers.setdefault(
285
- req_uid_, []
264
+ for marker_ in function_.markers:
265
+ function_marker = ForwardFunctionRangeMarker(
266
+ parent=None,
267
+ reqs_objs=marker_.reqs_objs,
268
+ scope="function",
286
269
  )
287
- markers.append(function_marker)
288
-
289
- path_to_info = reversed_trace_info[
290
- definition_function_trace_info
291
- ]
292
- self.map_reqs_uids_to_paths.setdefault(
293
- req_uid_, OrderedSet()
270
+ function_marker.ng_source_line_begin = (
271
+ definition_function_.line_begin
294
272
  )
295
- self.map_reqs_uids_to_paths[req_uid_].add(
296
- path_to_info
273
+ function_marker.ng_source_column_begin = 1
274
+ function_marker.ng_range_line_begin = (
275
+ definition_function_.line_begin
297
276
  )
298
-
299
- node = traceability_index.get_node_by_uid(req_uid_)
300
- self.map_paths_to_reqs.setdefault(
301
- path_to_info, OrderedSet()
277
+ function_marker.ng_range_line_end = (
278
+ definition_function_.line_end
279
+ )
280
+ function_marker.ng_marker_line = (
281
+ definition_function_.line_begin
282
+ )
283
+ function_marker.ng_marker_column = 1
284
+ function_marker.set_description(
285
+ f"function {function_.display_name}"
302
286
  )
303
- self.map_paths_to_reqs[path_to_info].add(node)
304
287
 
305
- definition_function_trace_info.markers.append(
306
- function_marker
307
- )
288
+ for req_uid_ in marker_.reqs:
289
+ markers = definition_function_trace_info.ng_map_reqs_to_markers.setdefault(
290
+ req_uid_, []
291
+ )
292
+ markers.append(function_marker)
293
+
294
+ path_to_info = reversed_trace_info[
295
+ definition_function_trace_info
296
+ ]
297
+ self.map_reqs_uids_to_paths.setdefault(
298
+ req_uid_, OrderedSet()
299
+ )
300
+ self.map_reqs_uids_to_paths[req_uid_].add(
301
+ path_to_info
302
+ )
303
+
304
+ node = traceability_index.get_node_by_uid(
305
+ req_uid_
306
+ )
307
+ self.map_paths_to_reqs.setdefault(
308
+ path_to_info, OrderedSet()
309
+ )
310
+ self.map_paths_to_reqs[path_to_info].add(node)
311
+
312
+ definition_function_trace_info.markers.append(
313
+ function_marker
314
+ )
308
315
 
309
316
  for (
310
317
  traceability_info_
@@ -440,14 +447,13 @@ class FileTraceabilityIndex:
440
447
  marker_type: RangeMarkerType
441
448
 
442
449
  if FunctionAttribute.DEFINITION in function_.attributes:
443
- assert (
444
- function_.name
445
- not in self.map_all_function_names_to_definition_functions
446
- ), function_.name
447
450
  if function_.is_public():
451
+ self.map_all_function_names_to_definition_functions.setdefault(
452
+ function_.name, []
453
+ )
448
454
  self.map_all_function_names_to_definition_functions[
449
455
  function_.name
450
- ] = function_
456
+ ].append(function_)
451
457
 
452
458
  if (
453
459
  source_file.in_doctree_source_file_rel_path_posix