strictdoc 0.0.60__tar.gz → 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. {strictdoc-0.0.60 → strictdoc-0.1.0}/PKG-INFO +4 -1
  2. {strictdoc-0.0.60 → strictdoc-0.1.0}/pyproject.toml +5 -0
  3. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/__init__.py +1 -1
  4. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/error_handling.py +9 -1
  5. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/grammar/type_system.py +2 -0
  6. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/models/type_system.py +10 -0
  7. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc_source_code/grammar.py +16 -1
  8. strictdoc-0.1.0/strictdoc/backend/sdoc_source_code/marker_parser.py +87 -0
  9. strictdoc-0.1.0/strictdoc/backend/sdoc_source_code/models/function.py +20 -0
  10. strictdoc-0.1.0/strictdoc/backend/sdoc_source_code/models/function_range_marker.py +52 -0
  11. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc_source_code/models/range_marker.py +45 -26
  12. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc_source_code/models/requirement_marker.py +5 -4
  13. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc_source_code/models/source_file_info.py +17 -14
  14. strictdoc-0.1.0/strictdoc/backend/sdoc_source_code/parse_context.py +12 -0
  15. strictdoc-0.1.0/strictdoc/backend/sdoc_source_code/processors/general_language_marker_processors.py +225 -0
  16. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc_source_code/reader.py +5 -41
  17. strictdoc-0.1.0/strictdoc/backend/sdoc_source_code/reader_c.py +173 -0
  18. strictdoc-0.1.0/strictdoc/backend/sdoc_source_code/reader_python.py +273 -0
  19. strictdoc-0.1.0/strictdoc/backend/sdoc_source_code/tree_sitter_helpers.py +18 -0
  20. strictdoc-0.1.0/strictdoc/core/file_traceability_index.py +384 -0
  21. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/project_config.py +6 -0
  22. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/traceability_index.py +11 -1
  23. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/traceability_index_builder.py +43 -7
  24. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/form_objects/requirement_form_object.py +2 -0
  25. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/source_file_view_generator.py +22 -1
  26. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/view_objects/source_file_view_object.py +6 -1
  27. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/renderers/link_renderer.py +13 -12
  28. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_shared/requirement_block/files_tree.jinja.html +2 -2
  29. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node_field/files/index.jinja +2 -2
  30. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/table/main.jinja +2 -2
  31. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/source_file_view/requirement.jinja +7 -7
  32. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/traceability_matrix/file.jinja +2 -2
  33. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html2pdf/html2pdf.py +1 -12
  34. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/spdx/spdx_generator.py +14 -17
  35. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/spdx/spdx_to_sdoc_converter.py +4 -0
  36. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/string.py +6 -7
  37. strictdoc-0.0.60/strictdoc/core/file_traceability_index.py +0 -229
  38. {strictdoc-0.0.60 → strictdoc-0.1.0}/.gitignore +0 -0
  39. {strictdoc-0.0.60 → strictdoc-0.1.0}/LICENSE +0 -0
  40. {strictdoc-0.0.60 → strictdoc-0.1.0}/NOTICE +0 -0
  41. {strictdoc-0.0.60 → strictdoc-0.1.0}/README.md +0 -0
  42. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/__init__.py +0 -0
  43. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/excel/__init__.py +0 -0
  44. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/excel/excel_import.py +0 -0
  45. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/excel/export/__init__.py +0 -0
  46. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/excel/export/excel_generator.py +0 -0
  47. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/excel/import_/__init__.py +0 -0
  48. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/excel/import_/excel_to_sdoc_converter.py +0 -0
  49. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/reqif/__init__.py +0 -0
  50. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/reqif/p01_sdoc/__init__.py +0 -0
  51. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/reqif/p01_sdoc/reqif_to_sdoc_converter.py +0 -0
  52. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py +0 -0
  53. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/reqif/reqif_export.py +0 -0
  54. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/reqif/reqif_import.py +0 -0
  55. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/reqif/sdoc_reqif_fields.py +0 -0
  56. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/__init__.py +0 -0
  57. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/constants.py +0 -0
  58. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/document_reference.py +0 -0
  59. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/errors/__init__.py +0 -0
  60. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/errors/document_tree_error.py +0 -0
  61. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/free_text_reader.py +0 -0
  62. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/grammar/__init__.py +0 -0
  63. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/grammar/grammar.py +0 -0
  64. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/grammar/grammar_builder.py +0 -0
  65. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/grammar/grammar_grammar.py +0 -0
  66. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/grammar_reader.py +0 -0
  67. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/models/__init__.py +0 -0
  68. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/models/anchor.py +0 -0
  69. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/models/any_node.py +0 -0
  70. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/models/constants.py +0 -0
  71. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/models/document.py +0 -0
  72. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/models/document_config.py +0 -0
  73. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/models/document_from_file.py +0 -0
  74. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/models/document_grammar.py +0 -0
  75. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/models/document_view.py +0 -0
  76. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/models/free_text.py +0 -0
  77. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/models/inline_link.py +0 -0
  78. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/models/node.py +0 -0
  79. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/models/object.py +0 -0
  80. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/models/object_factory.py +0 -0
  81. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/models/reference.py +0 -0
  82. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/models/section.py +0 -0
  83. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/pickle_cache.py +0 -0
  84. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/processor.py +0 -0
  85. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/reader.py +0 -0
  86. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/validations/__init__.py +0 -0
  87. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/validations/sdoc_validator.py +0 -0
  88. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc/writer.py +0 -0
  89. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc_source_code/__init__.py +0 -0
  90. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/backend/sdoc_source_code/models/__init__.py +0 -0
  91. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/cli/__init__.py +0 -0
  92. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/cli/argument_int_range.py +0 -0
  93. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/cli/cli_arg_parser.py +0 -0
  94. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/cli/command_parser_builder.py +0 -0
  95. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/cli/main.py +0 -0
  96. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/commands/__init__.py +0 -0
  97. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/commands/about_command.py +0 -0
  98. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/commands/diff_command.py +0 -0
  99. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/commands/dump_grammar_command.py +0 -0
  100. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/commands/manage_autouid_command.py +0 -0
  101. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/commands/version_command.py +0 -0
  102. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/__init__.py +0 -0
  103. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/actions/__init__.py +0 -0
  104. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/actions/export_action.py +0 -0
  105. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/actions/import_action.py +0 -0
  106. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/analyzers/document_stats.py +0 -0
  107. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/analyzers/document_uid_analyzer.py +0 -0
  108. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/asset_manager.py +0 -0
  109. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/document_finder.py +0 -0
  110. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/document_iterator.py +0 -0
  111. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/document_meta.py +0 -0
  112. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/document_tree.py +0 -0
  113. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/document_tree_iterator.py +0 -0
  114. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/environment.py +0 -0
  115. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/file_tree.py +0 -0
  116. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/finders/__init__.py +0 -0
  117. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/finders/source_files_finder.py +0 -0
  118. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/graph/abstract_bucket.py +0 -0
  119. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/graph/many_to_many_set.py +0 -0
  120. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/graph/one_to_one_dictionary.py +0 -0
  121. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/graph/validations.py +0 -0
  122. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/graph_database.py +0 -0
  123. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/query_engine/grammar.py +0 -0
  124. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/query_engine/query_object.py +0 -0
  125. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/query_engine/query_reader.py +0 -0
  126. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/source_tree.py +0 -0
  127. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/transforms/constants.py +0 -0
  128. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/transforms/create_requirement.py +0 -0
  129. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/transforms/delete_requirement.py +0 -0
  130. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/transforms/delete_section.py +0 -0
  131. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/transforms/section.py +0 -0
  132. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/transforms/update_document_config.py +0 -0
  133. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/transforms/update_grammar.py +0 -0
  134. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/transforms/update_grammar_element.py +0 -0
  135. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/transforms/update_included_document.py +0 -0
  136. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/transforms/update_requirement.py +0 -0
  137. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/transforms/validation_error.py +0 -0
  138. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/core/tree_cycle_detector.py +0 -0
  139. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/__init__.py +0 -0
  140. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/__init__.py +0 -0
  141. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/autogen.css +0 -0
  142. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/base.css +0 -0
  143. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/collapsible_list.js +0 -0
  144. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/collapsible_toc.js +0 -0
  145. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/collapsible_tree.js +0 -0
  146. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/content.css +0 -0
  147. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/controllers/anchor_controller.js +0 -0
  148. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/controllers/copy_to_clipboard_controller.js +0 -0
  149. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/controllers/deletable_field_controller.js +0 -0
  150. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/controllers/draggable_list_controller.js +0 -0
  151. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/controllers/dropdown_menu_controller.js +0 -0
  152. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/controllers/editable_field_controller.js +0 -0
  153. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/controllers/modal_controller.js +0 -0
  154. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/controllers/movable_field_controller.js +0 -0
  155. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/controllers/scroll_into_view_controller.js +0 -0
  156. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/controllers/tabs_controller.js +0 -0
  157. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/diff.css +0 -0
  158. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/diff.js +0 -0
  159. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/element.css +0 -0
  160. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/favicon.ico +0 -0
  161. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/fonts/NotoSans-Italic-VariableFont_wdth,wght.ttf +0 -0
  162. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/fonts/NotoSans-VariableFont_wdth,wght.ttf +0 -0
  163. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/fonts/NotoSansMono-VariableFont_wdth,wght.ttf +0 -0
  164. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/form.css +0 -0
  165. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/html2pdf/bundle.js +0 -0
  166. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/layout.css +0 -0
  167. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/node.css +0 -0
  168. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/pan_with_space.js +0 -0
  169. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/project_tree.css +0 -0
  170. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/project_tree.js +0 -0
  171. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/requirement-tree.css +0 -0
  172. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/requirement.css +0 -0
  173. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/requirement__temporary.css +0 -0
  174. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/requirements-coverage.js +0 -0
  175. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/resizable_bar.js +0 -0
  176. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/source-code-coverage.js +0 -0
  177. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/source.css +0 -0
  178. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/stimulus.min.js +0 -0
  179. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/table_vew.css +0 -0
  180. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/toc_highlighting.js +0 -0
  181. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/traceability_matrix.css +0 -0
  182. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/tree(not_in_use).css +0 -0
  183. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/turbo.min.js +0 -0
  184. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/viewtype_menu.js +0 -0
  185. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static/zoomable.js +0 -0
  186. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/LICENSE-MATHJAX +0 -0
  187. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/tex.js +0 -0
  188. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
  189. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
  190. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
  191. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
  192. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
  193. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
  194. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
  195. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
  196. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
  197. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
  198. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
  199. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
  200. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
  201. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
  202. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
  203. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
  204. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
  205. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
  206. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
  207. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
  208. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
  209. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
  210. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
  211. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mathjax/tex-mml-chtml.js +0 -0
  212. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/mermaid/mermaid.min.js +0 -0
  213. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/nestor/bundle.umd.js +0 -0
  214. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/_static_extra/rapidoc/rapidoc-min.js +0 -0
  215. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/document_type.py +0 -0
  216. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/form_objects/document_config_form_object.py +0 -0
  217. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/form_objects/form_object.py +0 -0
  218. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/form_objects/grammar_element_form_object.py +0 -0
  219. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/form_objects/grammar_form_object.py +0 -0
  220. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/form_objects/included_document_form_object.py +0 -0
  221. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/form_objects/rows/row_with_grammar_element_form_object.py +0 -0
  222. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/form_objects/section_form_object.py +0 -0
  223. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/__init__.py +0 -0
  224. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/document.py +0 -0
  225. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/document_deep_trace.py +0 -0
  226. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/document_pdf.py +0 -0
  227. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/document_table.py +0 -0
  228. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/document_trace.py +0 -0
  229. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/document_tree.py +0 -0
  230. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/project_statistics.py +0 -0
  231. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/source_file_coverage.py +0 -0
  232. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/traceability_matrix.py +0 -0
  233. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/view_objects/diff_screen_results_view_object.py +0 -0
  234. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/view_objects/diff_screen_view_object.py +0 -0
  235. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/view_objects/document_screen_view_object.py +0 -0
  236. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/view_objects/nestor_view_object.py +0 -0
  237. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/view_objects/project_statistics_view_object.py +0 -0
  238. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/view_objects/project_tree_stats.py +0 -0
  239. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/view_objects/project_tree_view_object.py +0 -0
  240. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/view_objects/search_screen_view_object.py +0 -0
  241. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/generators/view_objects/traceability_matrix_view_object.py +0 -0
  242. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/html_generator.py +0 -0
  243. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/html_templates.py +0 -0
  244. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/renderers/__init__.py +0 -0
  245. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/renderers/html_fragment_writer.py +0 -0
  246. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/renderers/markup_renderer.py +0 -0
  247. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/renderers/text_to_html_writer.py +0 -0
  248. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg__separator.jinja.html +0 -0
  249. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_add.jinja.html +0 -0
  250. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_add_above.jinja +0 -0
  251. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_add_below.jinja +0 -0
  252. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_add_child.jinja +0 -0
  253. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_anchor.jinja +0 -0
  254. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_back.jinja.html +0 -0
  255. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_book.jinja.html +0 -0
  256. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_close.jinja +0 -0
  257. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_code.jinja.html +0 -0
  258. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_copy.jinja +0 -0
  259. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_delete.jinja.html +0 -0
  260. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_diff.jinja +0 -0
  261. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_document.jinja.html +0 -0
  262. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_done.jinja +0 -0
  263. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_edit.jinja.html +0 -0
  264. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_expand.jinja.html +0 -0
  265. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_file.jinja +0 -0
  266. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_folder.jinja +0 -0
  267. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_folder_collapse.jinja +0 -0
  268. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_folder_sm.jinja +0 -0
  269. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_fragment.jinja +0 -0
  270. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_fragment_draft.jinja +0 -0
  271. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_gear.jinja.html +0 -0
  272. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_go_to_doc.jinja +0 -0
  273. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_index.jinja.html +0 -0
  274. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_list.jinja.html +0 -0
  275. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_maximize.jinja +0 -0
  276. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_minimize.jinja +0 -0
  277. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_minusminus.jinja.html +0 -0
  278. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_move_down.jinja.html +0 -0
  279. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_move_up.jinja.html +0 -0
  280. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_plusplus.jinja.html +0 -0
  281. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_project.jinja.html +0 -0
  282. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_requirement.jinja.html +0 -0
  283. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_reset.jinja +0 -0
  284. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_search.jinja +0 -0
  285. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_source.jinja.html +0 -0
  286. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_stat.jinja +0 -0
  287. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_sync.jinja +0 -0
  288. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_toc.jinja.html +0 -0
  289. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_res/svg_ico16_tree.jinja +0 -0
  290. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_shared/nav.jinja.html +0 -0
  291. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_shared/requirement_tree_left.jinja.html +0 -0
  292. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_shared/requirement_tree_right.jinja.html +0 -0
  293. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/_shared/tags.jinja.html +0 -0
  294. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/_shared/stream_refresh_document.jinja.html +0 -0
  295. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/_shared/stream_updated_toc.jinja.html +0 -0
  296. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/add_requirement_comment/stream_add_requirement_comment.jinja.html +0 -0
  297. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/add_requirement_relation/stream_add_requirement_relation.jinja.html +0 -0
  298. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/create_requirement/stream_cancel_new_requirement.jinja.html +0 -0
  299. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/create_requirement/stream_created_requirement.jinja.html +0 -0
  300. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/create_requirement/stream_new_requirement.jinja.html +0 -0
  301. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/create_section/stream_cancel_new_section.jinja.html +0 -0
  302. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/create_section/stream_created_section.jinja.html +0 -0
  303. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/create_section/stream_new_section.jinja.html +0 -0
  304. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_confirm_delete_requirement.jinja +0 -0
  305. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_delete_requirement.jinja.html +0 -0
  306. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/delete_section/stream_confirm_delete_section.jinja +0 -0
  307. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/delete_section/stream_delete_section.jinja.html +0 -0
  308. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_cancel_edit_document_config.jinja.html +0 -0
  309. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_edit_document_config.jinja.html +0 -0
  310. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_save_document_config.jinja.html +0 -0
  311. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_edit_requirement.jinja.html +0 -0
  312. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/edit_section/stream_edit_section.jinja.html +0 -0
  313. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/document/edit_section/stream_updated_section.jinja.html +0 -0
  314. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_requirement.jinja +0 -0
  315. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_section.jinja +0 -0
  316. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_form_import_reqif_document.jinja.html +0 -0
  317. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_refresh_with_imported_reqif_document.jinja.html +0 -0
  318. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/project_index/stream_create_document.jinja.html +0 -0
  319. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/actions/project_index/stream_new_document.jinja.html +0 -0
  320. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/base.jinja.html +0 -0
  321. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/anchor/index.jinja +0 -0
  322. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/badge/index.jinja +0 -0
  323. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/button/cancel.jinja +0 -0
  324. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/button/confirm.jinja +0 -0
  325. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/button/delete.jinja +0 -0
  326. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/button/diff.jinja +0 -0
  327. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/button/search.jinja +0 -0
  328. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/button/submit.jinja +0 -0
  329. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/confirm/_usage_example.jinja +0 -0
  330. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/confirm/index.jinja +0 -0
  331. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/field/index.jinja +0 -0
  332. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/form/field/contenteditable/index.jinja +0 -0
  333. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/form/field/file/index.jinja +0 -0
  334. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/form/field/text/index.jinja +0 -0
  335. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/form/field_action_button/index.jinja +0 -0
  336. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/form/index.jinja +0 -0
  337. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/form/row/index.jinja +0 -0
  338. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/example.jinja.html +0 -0
  339. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/frame.jinja +0 -0
  340. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/stream.jinja +0 -0
  341. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/form/row/row_with_comment.jinja +0 -0
  342. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/form/row/row_with_relation.jinja +0 -0
  343. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/form/row/row_with_text_field.jinja +0 -0
  344. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/form/search.jinja +0 -0
  345. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/grammar_form/index.jinja +0 -0
  346. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/grammar_form/row_with_grammar_element/index.jinja +0 -0
  347. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/grammar_form/row_with_new_grammar_element/index.jinja +0 -0
  348. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/grammar_form_element/index.jinja +0 -0
  349. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/grammar_form_element/row_with_custom_field/index.jinja +0 -0
  350. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/grammar_form_element/row_with_relation/index.jinja +0 -0
  351. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/grammar_form_element/row_with_reserved_field/index.jinja +0 -0
  352. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/header/_usage_example.jinja +0 -0
  353. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/header/header_pagetype.jinja +0 -0
  354. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/header/index.jinja +0 -0
  355. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/included_document_form/index.jinja +0 -0
  356. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/modal/_usage_example.jinja +0 -0
  357. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/modal/form.jinja +0 -0
  358. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/modal/index.jinja +0 -0
  359. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node/card.jinja +0 -0
  360. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node/index.jinja +0 -0
  361. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node/node_controls/card.jinja +0 -0
  362. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node/node_controls/index.jinja +0 -0
  363. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node/root.jinja +0 -0
  364. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node_field/README.txt +0 -0
  365. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node_field/comments/index.jinja +0 -0
  366. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node_field/document_meta/index.jinja +0 -0
  367. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node_field/document_title/index.jinja +0 -0
  368. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node_field/links/index.jinja +0 -0
  369. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node_field/meta/index.jinja +0 -0
  370. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node_field/multiline/index.jinja +0 -0
  371. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node_field/rationale/index.jinja +0 -0
  372. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node_field/section_h/index.jinja +0 -0
  373. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node_field/section_h/pdf.jinja +0 -0
  374. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node_field/section_title/index.jinja +0 -0
  375. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node_field/statement/index.jinja +0 -0
  376. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node_field/text/index.jinja +0 -0
  377. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node_field/title/index.jinja +0 -0
  378. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node_field/title/pdf.jinja +0 -0
  379. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node_field/uid/index.jinja +0 -0
  380. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/node_field/uid_standalone/index.jinja +0 -0
  381. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/requirement/card.jinja +0 -0
  382. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/requirement/card_extends_card.jinja +0 -0
  383. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/requirement/index.jinja +0 -0
  384. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/requirement/index_extends_node.jinja +0 -0
  385. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/requirement/pdf.jinja +0 -0
  386. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/requirement/tiny.jinja +0 -0
  387. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/requirement/tiny_extends_card.jinja +0 -0
  388. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/resizable_bar/index.jinja +0 -0
  389. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/section/card.jinja +0 -0
  390. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/section/card_extends_card.jinja +0 -0
  391. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/section/index.jinja +0 -0
  392. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/section/index_extends_node.jinja +0 -0
  393. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/section/pdf.jinja +0 -0
  394. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/section/tiny.jinja +0 -0
  395. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/section/tiny_extends_card.jinja +0 -0
  396. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/table_key_value/index.jinja +0 -0
  397. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/text_node/card.jinja +0 -0
  398. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/text_node/card_extends_card.jinja +0 -0
  399. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/text_node/index.jinja +0 -0
  400. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/text_node/index_extends_node.jinja +0 -0
  401. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/text_node/pdf.jinja +0 -0
  402. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/text_node/tiny.jinja +0 -0
  403. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/components/text_node/tiny_extends_card.jinja +0 -0
  404. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/rst/anchor.jinja +0 -0
  405. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/_shared/frame_header_document_title.jinja +0 -0
  406. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_requirement.jinja +0 -0
  407. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_section.jinja +0 -0
  408. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/_shared/frame_toc.jinja +0 -0
  409. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/_shared/project_tree.jinja +0 -0
  410. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/_shared/project_tree_child_documents.jinja +0 -0
  411. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_project_tree.jinja +0 -0
  412. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_toc.jinja +0 -0
  413. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/_shared/toc.jinja +0 -0
  414. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/_shared/viewtype_menu.jinja +0 -0
  415. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/document/actions.jinja +0 -0
  416. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/document/frame_document_config.jinja.html +0 -0
  417. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/document/frame_document_config_edit.jinja.html +0 -0
  418. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +0 -0
  419. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/document/frame_requirement_form.jinja +0 -0
  420. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/document/frame_section_form.jinja +0 -0
  421. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/document/index.jinja +0 -0
  422. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/document/main.jinja +0 -0
  423. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/pdf/index.jinja +0 -0
  424. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/pdf/main.jinja +0 -0
  425. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/pdf/template/footer.jinja +0 -0
  426. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/pdf/template/frontpage.jinja +0 -0
  427. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/pdf/template/header.jinja +0 -0
  428. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/pdf/toc.jinja +0 -0
  429. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/table/index.jinja +0 -0
  430. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/traceability/index.jinja +0 -0
  431. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/traceability/main.jinja +0 -0
  432. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/traceability_deep/index.jinja +0 -0
  433. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/document/traceability_deep/main.jinja +0 -0
  434. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/git/changelog_content.jinja +0 -0
  435. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/git/diff_content.jinja +0 -0
  436. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/git/diff_controls.jinja +0 -0
  437. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/git/fields/document_fields.jinja +0 -0
  438. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/git/fields/requirement_fields.jinja +0 -0
  439. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/git/fields/section_fields.jinja +0 -0
  440. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/git/form.jinja +0 -0
  441. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/git/frame_changelog_result.jinja +0 -0
  442. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/git/frame_diff_result.jinja +0 -0
  443. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/git/index.jinja +0 -0
  444. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/git/legend.jinja +0 -0
  445. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/git/main.jinja +0 -0
  446. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/git/nav_tabs.jinja +0 -0
  447. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/git/node/requirement.jinja +0 -0
  448. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/git/node/section.jinja +0 -0
  449. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/git/skeleton.jinja +0 -0
  450. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/git/sync/button.jinja +0 -0
  451. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/nestor/index.jinja +0 -0
  452. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/project_index/actions.jinja +0 -0
  453. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/project_index/frame_form_import_reqif.jinja.html +0 -0
  454. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/project_index/frame_form_new_document.jinja.html +0 -0
  455. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/project_index/frame_project_tree.jinja.html +0 -0
  456. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/project_index/index.jinja +0 -0
  457. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/project_index/main.jinja +0 -0
  458. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/project_index/project_tree.jinja +0 -0
  459. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/project_index/project_tree_file.jinja +0 -0
  460. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/project_index/project_tree_folder.jinja +0 -0
  461. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/project_statistics/index.jinja +0 -0
  462. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/project_statistics/main.jinja +0 -0
  463. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/search/index.jinja +0 -0
  464. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/search/legend.jinja +0 -0
  465. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/search/main.jinja +0 -0
  466. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/source_file_coverage/file.jinja +0 -0
  467. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/source_file_coverage/folder.jinja +0 -0
  468. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/source_file_coverage/index.jinja +0 -0
  469. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/source_file_coverage/main.jinja +0 -0
  470. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/source_file_view/aside.jinja +0 -0
  471. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/source_file_view/header__source_file_name.jinja +0 -0
  472. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/source_file_view/index.jinja +0 -0
  473. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/source_file_view/main.jinja +0 -0
  474. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/traceability_matrix/index.jinja +0 -0
  475. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/traceability_matrix/main.jinja +0 -0
  476. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/traceability_matrix/project_tree_flat_anchor_list.jinja +0 -0
  477. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/traceability_matrix/requirement.jinja.html +0 -0
  478. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/screens/traceability_matrix/resizable_bar_with_project_tree.jinja +0 -0
  479. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/website/document/index.jinja +0 -0
  480. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/templates/websocket.jinja.html +0 -0
  481. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/tools/__init__.py +0 -0
  482. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html/tools/html_embedded.py +0 -0
  483. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html2pdf/html2pdf_generator.py +0 -0
  484. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/html2pdf/pdf_print_driver.py +0 -0
  485. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/json/json_generator.py +0 -0
  486. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/rst/__init__.py +0 -0
  487. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/rst/directives/raw_html_role.py +0 -0
  488. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/rst/directives/wildcard_enhanced_image.py +0 -0
  489. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/rst/document_rst_generator.py +0 -0
  490. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/rst/rst_templates.py +0 -0
  491. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/rst/rst_to_html_fragment_writer.py +0 -0
  492. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/rst/templates/requirement.jinja.rst +0 -0
  493. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/rst/writer.py +0 -0
  494. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/export/spdx/spdx_sdoc_container.py +0 -0
  495. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/git/change.py +0 -0
  496. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/git/change_generator.py +0 -0
  497. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/git/git_client.py +0 -0
  498. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/git/project_diff_analyzer.py +0 -0
  499. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/__init__.py +0 -0
  500. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/auto_described.py +0 -0
  501. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/cast.py +0 -0
  502. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/diff.py +0 -0
  503. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/exception.py +0 -0
  504. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/file_modification_time.py +0 -0
  505. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/file_system.py +0 -0
  506. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/form_data.py +0 -0
  507. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/git_client.py +0 -0
  508. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/math.py +0 -0
  509. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/md5.py +0 -0
  510. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/mid.py +0 -0
  511. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/ordered_set.py +0 -0
  512. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/parallelizer.py +0 -0
  513. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/path_filter.py +0 -0
  514. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/paths.py +0 -0
  515. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/pickle.py +0 -0
  516. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/rst.py +0 -0
  517. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/sha256.py +0 -0
  518. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/shard.py +0 -0
  519. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/sorting.py +0 -0
  520. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/textx.py +0 -0
  521. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/helpers/timing.py +0 -0
  522. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/server/__init__.py +0 -0
  523. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/server/app.py +0 -0
  524. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/server/config.py +0 -0
  525. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/server/error_object.py +0 -0
  526. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/server/helpers/turbo.py +0 -0
  527. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/server/main.py +0 -0
  528. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/server/routers/main_router.py +0 -0
  529. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/server/routers/other_router.py +0 -0
  530. {strictdoc-0.0.60 → strictdoc-0.1.0}/strictdoc/server/server.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: strictdoc
3
- Version: 0.0.60
3
+ Version: 0.1.0
4
4
  Summary: StrictDoc is open-source software for technical documentation and requirements management.
5
5
  Project-URL: Changelog, https://github.com/strictdoc-project/strictdoc/blob/main/CHANGELOG.md
6
6
  Project-URL: Homepage, https://strictdoc.readthedocs.io/en/stable/
@@ -33,6 +33,9 @@ Requires-Dist: selenium
33
33
  Requires-Dist: spdx-tools
34
34
  Requires-Dist: textx==3.*,>=3.0.0
35
35
  Requires-Dist: toml
36
+ Requires-Dist: tree-sitter
37
+ Requires-Dist: tree-sitter-c
38
+ Requires-Dist: tree-sitter-python
36
39
  Requires-Dist: uvicorn[standard]>=0.14.0
37
40
  Requires-Dist: webdriver-manager
38
41
  Requires-Dist: websockets
@@ -56,6 +56,11 @@ dependencies = [
56
56
  # Parsing and rendering RST.
57
57
  "docutils >= 0.16, == 0.*",
58
58
 
59
+ # Tree Sitter is used for language/AST-aware parsing of Python, C and other files.
60
+ "tree-sitter",
61
+ "tree-sitter-c",
62
+ "tree-sitter-python",
63
+
59
64
  # Requirements-to-source traceability. Colored syntax for source files.
60
65
  "pygments >= 2.10.0, == 2.*",
61
66
 
@@ -1,6 +1,6 @@
1
1
  from strictdoc.core.environment import SDocRuntimeEnvironment
2
2
 
3
- __version__ = "0.0.60"
3
+ __version__ = "0.1.0"
4
4
 
5
5
 
6
6
  environment = SDocRuntimeEnvironment(__file__)
@@ -1,4 +1,6 @@
1
1
  # mypy: disable-error-code="attr-defined,no-untyped-call,no-untyped-def,union-attr"
2
+ from typing import Optional
3
+
2
4
  from textx import TextXSyntaxError
3
5
 
4
6
  from strictdoc.backend.sdoc.models.document import SDocDocument
@@ -25,7 +27,13 @@ def get_textx_syntax_error_message(exception: TextXSyntaxError):
25
27
 
26
28
  class StrictDocSemanticError(Exception):
27
29
  def __init__(
28
- self, title, hint, example, line=None, col=None, filename=None
30
+ self,
31
+ title: str,
32
+ hint: Optional[str],
33
+ example: Optional[str],
34
+ line: Optional[int] = None,
35
+ col: Optional[int] = None,
36
+ filename: Optional[str] = None,
29
37
  ):
30
38
  super().__init__(title, hint, line, col, filename)
31
39
  self.title = title
@@ -47,6 +47,8 @@ FileEntry[noskipws]:
47
47
  (' FORMAT: ' g_file_format = FileEntryFormat '\n')?
48
48
  ' VALUE: ' g_file_path = /.*$/ '\n'
49
49
  (' LINE_RANGE: ' g_line_range = /.*$/ '\n')?
50
+ (' FUNCTION: ' function = /.*$/ '\n')?
51
+ (' CLASS: ' clazz = /.*$/ '\n')?
50
52
  ;
51
53
 
52
54
  FileEntryFormat[noskipws]:
@@ -56,6 +56,8 @@ class FileEntry:
56
56
  g_file_format: Optional[str],
57
57
  g_file_path: str,
58
58
  g_line_range: Optional[str],
59
+ function: Optional[str],
60
+ clazz: Optional[str],
59
61
  ):
60
62
  self.parent = parent
61
63
 
@@ -85,6 +87,14 @@ class FileEntry:
85
87
  int(range_components_str[1]),
86
88
  )
87
89
 
90
+ # textX parses an optional element as an empty string. We make it to None ourselves.
91
+ self.function: Optional[str] = (
92
+ function if function is not None and len(function) > 0 else None
93
+ )
94
+ self.clazz: Optional[str] = (
95
+ clazz if clazz is not None and len(clazz) > 0 else None
96
+ )
97
+
88
98
 
89
99
  class FileEntryFormat:
90
100
  SOURCECODE = "Sourcecode"
@@ -18,21 +18,36 @@ RangeMarker[noskipws]:
18
18
  // It is a hard-won result: it is important that the "@sdoc" is within the
19
19
  // regex. Putting it next to the regex as "@sdoc" does not work.
20
20
  // TODO: It would be great to check this with the TextX developers.
21
+ (
21
22
  /^.*?@sdoc/
22
23
  (begin_or_end = "[/" | begin_or_end = "[")
23
24
  (reqs_objs += Req[', ']) ']' '\n'?
25
+ )
26
+ |
27
+ (
28
+ /^.*?@relation/
29
+ '('
30
+ (reqs_objs += Req[', ']) ', scope=' scope=/(range_start|range_end)/ ')' '\n'?
31
+ )
24
32
  ;
25
33
 
26
34
  LineMarker[noskipws]:
27
35
  // It is a hard-won result: it is important that the "@sdoc" is within the
28
36
  // regex. Putting it next to the regex as "@sdoc" does not work.
29
37
  // TODO: It would be great to check this with the TextX developers.
38
+ (
30
39
  /^.*?@sdoc/
31
40
  "(" (reqs_objs += Req[', ']) ')' '\n'?
41
+ )
42
+ |
43
+ (
44
+ /^.*?@relation/
45
+ "(" (reqs_objs += Req[', ']) ', scope=line)' '\n'?
46
+ )
32
47
  ;
33
48
 
34
49
  Req[noskipws]:
35
- uid = /[A-Za-z][A-Za-z0-9\\-]+/
50
+ uid = /(?!scope=)[A-Za-z][A-Za-z0-9\\-]+/
36
51
  ;
37
52
 
38
53
  SingleLineString[noskipws]:
@@ -0,0 +1,87 @@
1
+ import re
2
+ from typing import List, Union
3
+
4
+ from strictdoc.backend.sdoc_source_code.models.function_range_marker import (
5
+ FunctionRangeMarker,
6
+ )
7
+ from strictdoc.backend.sdoc_source_code.models.range_marker import (
8
+ LineMarker,
9
+ RangeMarker,
10
+ )
11
+ from strictdoc.backend.sdoc_source_code.models.requirement_marker import Req
12
+
13
+ REGEX_REQ = r"[A-Za-z][A-Za-z0-9\\-]+"
14
+ # @relation(REQ-1, scope=function)
15
+ REGEX_MARKER = rf"@relation\(({REGEX_REQ}(?:, {REGEX_REQ})*)\, scope=(file|class|function|line|range_start|range_end)\)"
16
+
17
+
18
+ class MarkerParser:
19
+ @staticmethod
20
+ def parse(
21
+ input_string: str,
22
+ line_start: int,
23
+ line_end: int,
24
+ comment_line_start: int,
25
+ comment_column_start: int,
26
+ ) -> List[Union[FunctionRangeMarker, RangeMarker, LineMarker]]:
27
+ markers: List[Union[FunctionRangeMarker, RangeMarker, LineMarker]] = []
28
+ for input_line_idx_, input_line_ in enumerate(
29
+ input_string.splitlines()
30
+ ):
31
+ match = re.search(REGEX_MARKER, input_line_)
32
+ if match is None:
33
+ continue
34
+
35
+ assert match.lastindex is not None
36
+ marker_type = match.group(match.lastindex)
37
+ req_list = match.group(1)
38
+
39
+ first_requirement_index = match.start(1)
40
+
41
+ current_line = comment_line_start + input_line_idx_
42
+ first_requirement_column = first_requirement_index + 1
43
+ if input_line_idx_ == 0:
44
+ first_requirement_column += comment_column_start - 1
45
+ requirements = []
46
+ for req_match in re.finditer(REGEX_REQ, req_list):
47
+ req_item = req_match.group(0) # Matched REQ-XXX item
48
+ # Calculate actual position relative to the original string
49
+ start_index = (
50
+ req_match.start()
51
+ ) # Offset by where group 1 starts
52
+ requirement = Req(None, req_item)
53
+ requirement.ng_source_line = current_line
54
+ requirement.ng_source_column = (
55
+ first_requirement_column + start_index
56
+ )
57
+ requirements.append(requirement)
58
+
59
+ if marker_type in ("file", "class", "function"):
60
+ function_marker = FunctionRangeMarker(None, requirements)
61
+ function_marker.ng_source_line_begin = line_start
62
+ function_marker.ng_range_line_begin = line_start
63
+ function_marker.ng_range_line_end = line_end
64
+ function_marker.ng_marker_line = current_line
65
+ function_marker.ng_marker_column = first_requirement_column
66
+ markers.append(function_marker)
67
+ elif marker_type in ("range_start", "range_end"):
68
+ start_or_end = marker_type == "range_start"
69
+ range_marker = RangeMarker(
70
+ None, "[" if start_or_end else "[/", requirements
71
+ )
72
+ range_marker.ng_source_line_begin = line_start
73
+ range_marker.ng_source_column_begin = first_requirement_column
74
+ range_marker.ng_range_line_begin = line_start
75
+ range_marker.ng_range_line_end = line_end
76
+ range_marker.ng_is_language_parsed = True
77
+ markers.append(range_marker)
78
+ elif marker_type == "line":
79
+ line_marker = LineMarker(None, requirements)
80
+ line_marker.ng_source_line_begin = line_start
81
+ line_marker.ng_range_line_begin = line_start
82
+ line_marker.ng_range_line_end = line_end
83
+ markers.append(line_marker)
84
+ else:
85
+ continue
86
+
87
+ return markers
@@ -0,0 +1,20 @@
1
+ from typing import Any, List
2
+
3
+ from strictdoc.helpers.auto_described import auto_described
4
+
5
+
6
+ @auto_described
7
+ class Function:
8
+ def __init__(
9
+ self,
10
+ parent: Any,
11
+ name: str,
12
+ line_begin: int,
13
+ line_end: int,
14
+ parts: List[Any],
15
+ ):
16
+ self.parent = parent
17
+ self.name = name
18
+ self.parts: List[Any] = parts
19
+ self.line_begin = line_begin
20
+ self.line_end = line_end
@@ -0,0 +1,52 @@
1
+ # mypy: disable-error-code="no-untyped-def,type-arg"
2
+ from typing import List, Optional
3
+
4
+ from strictdoc.backend.sdoc_source_code.models.requirement_marker import Req
5
+ from strictdoc.helpers.auto_described import auto_described
6
+
7
+
8
+ @auto_described
9
+ class FunctionRangeMarker:
10
+ def __init__(self, parent, reqs_objs: List[Req]):
11
+ assert isinstance(reqs_objs, list)
12
+ self.parent = parent
13
+ self.reqs_objs: List[Req] = reqs_objs
14
+ self.reqs: List[str] = list(map(lambda req: req.uid, reqs_objs))
15
+
16
+ # Line number of the marker in the source code.
17
+ self.ng_source_line_begin: Optional[int] = None
18
+ self.ng_source_column_begin: Optional[int] = None
19
+
20
+ # Line number of the marker range in the source code:
21
+ # TODO: Improve description.
22
+ # For Begin ranges:
23
+ # ng_range_line_begin == ng_source_line_begin # noqa: ERA001
24
+ # ng_range_line_end == ng_source_line_begin of the End marker # noqa: ERA001, E501
25
+ # For End ranges:
26
+ # ng_range_line_begin == ng_range_line_begin of the Begin marker # noqa: ERA001, E501
27
+ # ng_range_line_end == ng_source_line_begin # noqa: ERA001
28
+ self.ng_range_line_begin: Optional[int] = None
29
+ self.ng_range_line_end: Optional[int] = None
30
+
31
+ self.ng_marker_line: Optional[int] = None
32
+ self.ng_marker_column: Optional[int] = None
33
+
34
+ self.ng_is_nodoc = "nosdoc" in self.reqs
35
+
36
+ def is_range_marker(self) -> bool:
37
+ return True
38
+
39
+ def is_line_marker(self) -> bool:
40
+ return False
41
+
42
+ def is_begin(self) -> bool:
43
+ return True
44
+
45
+ def is_end(self) -> bool:
46
+ return False
47
+
48
+
49
+ @auto_described
50
+ class ForwardFunctionRangeMarker(FunctionRangeMarker):
51
+ def __init__(self, parent, reqs_objs: List[Req]):
52
+ super().__init__(parent, reqs_objs)
@@ -1,5 +1,5 @@
1
1
  # mypy: disable-error-code="no-untyped-def,type-arg"
2
- from typing import List
2
+ from typing import Any, List, Optional
3
3
 
4
4
  from strictdoc.backend.sdoc_source_code.models.requirement_marker import Req
5
5
  from strictdoc.helpers.auto_described import auto_described
@@ -7,15 +7,30 @@ from strictdoc.helpers.auto_described import auto_described
7
7
 
8
8
  @auto_described
9
9
  class RangeMarker:
10
- def __init__(self, parent, begin_or_end, reqs_objs: List[Req]):
10
+ def __init__(
11
+ self,
12
+ parent: Any,
13
+ begin_or_end: str,
14
+ reqs_objs: List[Req],
15
+ scope: str = "",
16
+ ):
11
17
  assert isinstance(reqs_objs, list)
12
- self.parent = parent
13
- self.begin_or_end = begin_or_end
18
+ self.parent: Any = parent
19
+ assert len(begin_or_end) > 0 or scope is not None
20
+
21
+ self.begin_or_end: str
22
+ if len(begin_or_end) > 0:
23
+ self.begin_or_end = begin_or_end
24
+ else:
25
+ assert scope in ("range_start", "range_end")
26
+ self.begin_or_end = "[" if scope == "range_start" else "[/"
27
+
14
28
  self.reqs_objs: List[Req] = reqs_objs
15
29
  self.reqs: List[str] = list(map(lambda req: req.uid, reqs_objs))
16
30
 
17
31
  # Line number of the marker in the source code.
18
- self.ng_source_line_begin = None
32
+ self.ng_source_line_begin: Optional[int] = None
33
+ self.ng_source_column_begin: Optional[int] = None
19
34
 
20
35
  # Line number of the marker range in the source code:
21
36
  # TODO: Improve description.
@@ -25,50 +40,52 @@ class RangeMarker:
25
40
  # For End ranges:
26
41
  # ng_range_line_begin == ng_range_line_begin of the Begin marker # noqa: ERA001, E501
27
42
  # ng_range_line_end == ng_source_line_begin # noqa: ERA001
28
- self.ng_range_line_begin = None
29
- self.ng_range_line_end = None
43
+ self.ng_range_line_begin: Optional[int] = None
44
+ self.ng_range_line_end: Optional[int] = None
30
45
 
31
46
  self.ng_is_nodoc = "nosdoc" in self.reqs
47
+ self.ng_is_language_parsed = False
32
48
 
33
- def is_begin(self):
49
+ def is_begin(self) -> bool:
34
50
  return self.begin_or_end == "["
35
51
 
36
- def is_end(self):
52
+ def is_end(self) -> bool:
37
53
  return self.begin_or_end == "[/"
38
54
 
39
- def is_range_marker(self):
55
+ def is_range_marker(self) -> bool:
40
56
  return True
41
57
 
42
- def is_line_marker(self):
58
+ def is_line_marker(self) -> bool:
43
59
  return False
44
60
 
45
61
 
46
62
  @auto_described
47
63
  class LineMarker:
48
- def __init__(self, parent, reqs_objs):
64
+ def __init__(self, parent: Any, reqs_objs: List[Req]) -> None:
49
65
  assert isinstance(reqs_objs, list)
50
66
  self.parent = parent
51
67
  self.reqs_objs = reqs_objs
52
68
  self.reqs = list(map(lambda req: req.uid, reqs_objs))
53
69
 
54
70
  # Line number of the marker in the source code.
55
- self.ng_source_line_begin = None
71
+ self.ng_source_line_begin: Optional[int] = None
72
+ self.ng_source_column_begin: Optional[int] = None
56
73
 
57
- self.ng_range_line_begin = None
58
- self.ng_range_line_end = None
74
+ self.ng_range_line_begin: Optional[int] = None
75
+ self.ng_range_line_end: Optional[int] = None
59
76
 
60
77
  self.ng_is_nodoc = "nosdoc" in self.reqs
61
78
 
62
- def is_begin(self):
79
+ def is_begin(self) -> bool:
63
80
  return True
64
81
 
65
- def is_end(self):
82
+ def is_end(self) -> bool:
66
83
  return False
67
84
 
68
- def is_range_marker(self):
85
+ def is_range_marker(self) -> bool:
69
86
  return False
70
87
 
71
- def is_line_marker(self):
88
+ def is_line_marker(self) -> bool:
72
89
  return True
73
90
 
74
91
 
@@ -81,19 +98,21 @@ class ForwardRangeMarker:
81
98
  self.reqs_objs = reqs_objs
82
99
 
83
100
  # Line number of the marker in the source code.
84
- self.ng_source_line_begin = None
101
+ self.ng_source_line_begin: Optional[int] = None
102
+
103
+ self.ng_range_line_begin: Optional[int] = None
104
+ self.ng_range_line_end: Optional[int] = None
85
105
 
86
- self.ng_range_line_begin = None
87
- self.ng_range_line_end = None
106
+ self.ng_is_nodoc = False
88
107
 
89
- def is_begin(self):
108
+ def is_begin(self) -> bool:
90
109
  return self.start_or_end
91
110
 
92
- def is_end(self):
111
+ def is_end(self) -> bool:
93
112
  return not self.start_or_end
94
113
 
95
- def is_range_marker(self):
114
+ def is_range_marker(self) -> bool:
96
115
  return True
97
116
 
98
- def is_line_marker(self):
117
+ def is_line_marker(self) -> bool:
99
118
  return False
@@ -1,15 +1,16 @@
1
- # mypy: disable-error-code="no-untyped-def"
1
+ from typing import Any, Optional
2
+
2
3
  from strictdoc.helpers.auto_described import auto_described
3
4
 
4
5
 
5
6
  @auto_described
6
7
  class Req:
7
- def __init__(self, parent, uid: str):
8
+ def __init__(self, parent: Any, uid: str):
8
9
  assert isinstance(uid, str)
9
10
  assert len(uid) > 0
10
11
 
11
12
  self.parent = parent
12
13
  self.uid: str = uid
13
14
 
14
- self.ng_source_line = None
15
- self.ng_source_column = None
15
+ self.ng_source_line: Optional[int] = None
16
+ self.ng_source_column: Optional[int] = None
@@ -1,6 +1,10 @@
1
1
  # mypy: disable-error-code="no-untyped-def,type-arg,var-annotated"
2
2
  from typing import List, Union
3
3
 
4
+ from strictdoc.backend.sdoc_source_code.models.function import Function
5
+ from strictdoc.backend.sdoc_source_code.models.function_range_marker import (
6
+ FunctionRangeMarker,
7
+ )
4
8
  from strictdoc.backend.sdoc_source_code.models.range_marker import (
5
9
  ForwardRangeMarker,
6
10
  LineMarker,
@@ -20,34 +24,33 @@ class SourceFileTraceabilityInfo:
20
24
  """
21
25
 
22
26
  self.parts: List = parts
27
+ self.functions: List[Function] = []
23
28
 
24
29
  """
25
30
  {
26
- 2: RangeMarker(...),
27
- 4: RangeMarker(...),
28
- }
29
- """
30
- self.ng_map_lines_to_markers = {}
31
-
32
- """
33
- {
34
- "REQ-001": RangeMarker(...),
35
- "REQ-002": RangeMarker(...),
31
+ "REQ-001": [RangeMarker(...), ...],
32
+ "REQ-002": [RangeMarker(...), ...],
36
33
  }
37
34
  """
38
35
  self.ng_map_reqs_to_markers = {}
39
36
 
40
37
  self.ng_lines_total = 0
41
38
  self.ng_lines_covered = 0
42
- self._coverage = 0
39
+ self._coverage: float = 0
43
40
  self.markers: List[
44
- Union[LineMarker, RangeMarker, ForwardRangeMarker]
41
+ Union[
42
+ FunctionRangeMarker, LineMarker, RangeMarker, ForwardRangeMarker
43
+ ]
45
44
  ] = []
46
45
 
47
46
  def get_coverage(self):
48
47
  return self._coverage
49
48
 
50
- def set_coverage_stats(self, lines_total, lines_covered):
49
+ def set_coverage_stats(self, lines_total: int, lines_covered: int) -> None:
51
50
  self.ng_lines_total = lines_total
52
51
  self.ng_lines_covered = lines_covered
53
- self._coverage = round(lines_covered / lines_total * 100, 1)
52
+ self._coverage = (
53
+ round(lines_covered / lines_total * 100, 1)
54
+ if lines_total != 0
55
+ else 0
56
+ )
@@ -0,0 +1,12 @@
1
+ from typing import Any, Dict, List
2
+
3
+ from strictdoc.backend.sdoc_source_code.models.range_marker import RangeMarker
4
+
5
+
6
+ class ParseContext:
7
+ def __init__(self, filename: str, lines_total: int) -> None:
8
+ self.filename: str = filename
9
+ self.lines_total: int = lines_total
10
+ self.markers: List[Any] = []
11
+ self.marker_stack: List[RangeMarker] = []
12
+ self.map_reqs_to_markers: Dict[str, Any] = {}