strictdoc 0.0.49a2__tar.gz → 0.0.49a4__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 (508) hide show
  1. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/PKG-INFO +1 -1
  2. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/mypy.ini +5 -1
  3. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/requirements.check.txt +1 -1
  4. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/__init__.py +1 -1
  5. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/excel/export/excel_generator.py +14 -11
  6. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/error_handling.py +66 -0
  7. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/models/constants.py +12 -0
  8. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/models/document.py +3 -1
  9. strictdoc-0.0.49a4/strictdoc/backend/sdoc/models/document_view.py +79 -0
  10. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/models/requirement.py +3 -0
  11. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/models/type_system.py +7 -4
  12. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/processor.py +6 -0
  13. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/reader.py +8 -5
  14. strictdoc-0.0.49a4/strictdoc/backend/sdoc/validations/sdoc_validator.py +67 -0
  15. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/writer.py +3 -2
  16. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/cli/cli_arg_parser.py +3 -0
  17. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/cli/command_parser_builder.py +5 -0
  18. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/project_config.py +2 -0
  19. strictdoc-0.0.49a4/strictdoc/export/html/_static/html2pdf/bundle.js +1 -0
  20. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/generators/document.py +6 -0
  21. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/generators/document_deep_trace.py +6 -0
  22. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/generators/document_pdf.py +6 -0
  23. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/generators/document_trace.py +6 -0
  24. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/requirement/comments/index.jinja +1 -1
  25. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/requirement/meta/index.jinja +1 -1
  26. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/requirement/multiline/index.jinja +1 -1
  27. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/requirement/rationale/index.jinja +1 -1
  28. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/requirement/statement/index.jinja +1 -1
  29. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/pdf/index.jinja +2 -2
  30. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html2pdf/html2pdf.py +63 -4
  31. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/server/routers/main_router.py +30 -0
  32. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/tasks.py +5 -1
  33. strictdoc-0.0.49a2/strictdoc/backend/sdoc/models/document_view.py +0 -27
  34. strictdoc-0.0.49a2/strictdoc/export/html/_static/html2pdf/bundle.js +0 -1
  35. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/.gitignore +0 -0
  36. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/CHANGELOG.md +0 -0
  37. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/CONTRIBUTING.md +0 -0
  38. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/Dockerfile +0 -0
  39. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/LICENSE +0 -0
  40. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/NOTICE +0 -0
  41. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/README.md +0 -0
  42. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/docs_extra/DO178_requirements.sdoc +0 -0
  43. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/docs_extra/Zephyr_requirements.sdoc +0 -0
  44. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/drafts/requirements/strictdoc.toml +0 -0
  45. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/drafts/strictdoc_low_level_requirements.sdoc_.sdoc +0 -0
  46. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/pyproject.toml +0 -0
  47. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/requirements.bootstrap.txt +0 -0
  48. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/ruff.toml +0 -0
  49. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/__init__.py +0 -0
  50. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/excel/__init__.py +0 -0
  51. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/excel/excel_import.py +0 -0
  52. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/excel/export/__init__.py +0 -0
  53. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/excel/import_/__init__.py +0 -0
  54. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/excel/import_/excel_to_sdoc_converter.py +0 -0
  55. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/reqif/__init__.py +0 -0
  56. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/reqif/p01_sdoc/__init__.py +0 -0
  57. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/reqif/p01_sdoc/reqif_to_sdoc_converter.py +0 -0
  58. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py +0 -0
  59. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/reqif/p11_polarion/__init__.py +0 -0
  60. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/reqif/p11_polarion/reqif_to_sdoc_converter.py +0 -0
  61. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/reqif/reqif_export.py +0 -0
  62. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/reqif/reqif_import.py +0 -0
  63. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/reqif/sdoc_reqif_fields.py +0 -0
  64. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/__init__.py +0 -0
  65. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/document_reference.py +0 -0
  66. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/errors/__init__.py +0 -0
  67. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/errors/document_tree_error.py +0 -0
  68. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/free_text_reader.py +0 -0
  69. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/grammar/__init__.py +0 -0
  70. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/grammar/grammar.py +0 -0
  71. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/grammar/grammar_builder.py +0 -0
  72. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/grammar/type_system.py +0 -0
  73. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/include_reader.py +0 -0
  74. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/models/__init__.py +0 -0
  75. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/models/anchor.py +0 -0
  76. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/models/document_bibliography.py +0 -0
  77. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/models/document_config.py +0 -0
  78. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/models/document_grammar.py +0 -0
  79. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/models/fragment.py +0 -0
  80. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/models/fragment_from_file.py +0 -0
  81. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/models/free_text.py +0 -0
  82. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/models/inline_link.py +0 -0
  83. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/models/node.py +0 -0
  84. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/models/object_factory.py +0 -0
  85. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/models/reference.py +0 -0
  86. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/models/section.py +0 -0
  87. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/validations/__init__.py +0 -0
  88. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc/validations/requirement.py +0 -0
  89. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc_source_code/__init__.py +0 -0
  90. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc_source_code/grammar.py +0 -0
  91. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc_source_code/models/__init__.py +0 -0
  92. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc_source_code/models/range_marker.py +0 -0
  93. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc_source_code/models/requirement_marker.py +0 -0
  94. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc_source_code/models/source_file_info.py +0 -0
  95. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/backend/sdoc_source_code/reader.py +0 -0
  96. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/cli/__init__.py +0 -0
  97. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/cli/argument_int_range.py +0 -0
  98. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/cli/main.py +0 -0
  99. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/commands/__init__.py +0 -0
  100. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/commands/about_command.py +0 -0
  101. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/commands/diff_command.py +0 -0
  102. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/commands/dump_grammar_command.py +0 -0
  103. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/commands/manage_autouid_command.py +0 -0
  104. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/commands/version_command.py +0 -0
  105. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/__init__.py +0 -0
  106. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/actions/__init__.py +0 -0
  107. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/actions/export_action.py +0 -0
  108. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/actions/import_action.py +0 -0
  109. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/actions/passthrough_action.py +0 -0
  110. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/analyzers/document_stats.py +0 -0
  111. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/analyzers/document_uid_analyzer.py +0 -0
  112. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/document_finder.py +0 -0
  113. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/document_iterator.py +0 -0
  114. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/document_meta.py +0 -0
  115. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/document_tree.py +0 -0
  116. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/document_tree_iterator.py +0 -0
  117. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/environment.py +0 -0
  118. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/file_traceability_index.py +0 -0
  119. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/file_tree.py +0 -0
  120. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/finders/__init__.py +0 -0
  121. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/finders/source_files_finder.py +0 -0
  122. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/graph/abstract_bucket.py +0 -0
  123. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/graph/many_to_many_set.py +0 -0
  124. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/graph/one_to_one_dictionary.py +0 -0
  125. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/graph/validations.py +0 -0
  126. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/graph_database.py +0 -0
  127. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/level_counter.py +0 -0
  128. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/query_engine/grammar.py +0 -0
  129. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/query_engine/query_object.py +0 -0
  130. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/query_engine/query_reader.py +0 -0
  131. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/source_tree.py +0 -0
  132. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/traceability_index.py +0 -0
  133. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/traceability_index_builder.py +0 -0
  134. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/transforms/constants.py +0 -0
  135. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/transforms/create_requirement.py +0 -0
  136. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/transforms/delete_section.py +0 -0
  137. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/transforms/section.py +0 -0
  138. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/transforms/update_document_config.py +0 -0
  139. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/transforms/update_free_text.py +0 -0
  140. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/transforms/update_grammar.py +0 -0
  141. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/transforms/update_requirement.py +0 -0
  142. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/transforms/validation_error.py +0 -0
  143. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/core/tree_cycle_detector.py +0 -0
  144. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/__init__.py +0 -0
  145. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/dot/document_dot_generator.py +0 -0
  146. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/dot/dot_templates.py +0 -0
  147. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/dot/templates/profile1/document.dot +0 -0
  148. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/dot/templates/profile1/folder.dot +0 -0
  149. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/dot/templates/profile1/legend.dot +0 -0
  150. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/dot/templates/profile1/requirement.dot +0 -0
  151. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/dot/templates/profile1/section.dot +0 -0
  152. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/dot/templates/profile1/top_level.dot +0 -0
  153. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/dot/templates/profile2/document.dot +0 -0
  154. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/dot/templates/profile2/folder.dot +0 -0
  155. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/dot/templates/profile2/requirement.dot +0 -0
  156. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/dot/templates/profile2/section.dot +0 -0
  157. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/dot/templates/profile2/top_level.dot +0 -0
  158. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/__init__.py +0 -0
  159. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/autogen.css +0 -0
  160. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/base.css +0 -0
  161. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/content.css +0 -0
  162. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/controllers/anchor_controller.js +0 -0
  163. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/controllers/collapsible_list_controller.js +0 -0
  164. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/controllers/copy_to_clipboard_controller.js +0 -0
  165. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/controllers/deletable_field_controller.js +0 -0
  166. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/controllers/draggable_list_controller.js +0 -0
  167. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/controllers/dropdown_menu_controller.js +0 -0
  168. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/controllers/editable_field_controller.js +0 -0
  169. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/controllers/modal_controller.js +0 -0
  170. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/controllers/movable_field_controller.js +0 -0
  171. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/controllers/scroll_into_view_controller.js +0 -0
  172. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/controllers/tabs_controller.js +0 -0
  173. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/diff.css +0 -0
  174. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/diff.js +0 -0
  175. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/element.css +0 -0
  176. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/favicon.ico +0 -0
  177. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/form.css +0 -0
  178. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/layout.css +0 -0
  179. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/node.css +0 -0
  180. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/pan_with_space.js +0 -0
  181. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/requirement-tree.css +0 -0
  182. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/requirement.css +0 -0
  183. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/requirement__temporary.css +0 -0
  184. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/requirements-coverage.js +0 -0
  185. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/resizable_bar.js +0 -0
  186. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/source-code-coverage.js +0 -0
  187. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/source.css +0 -0
  188. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/stimulus.min.js +0 -0
  189. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/table_vew.css +0 -0
  190. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/toc_highlighting.js +0 -0
  191. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/traceability_matrix.css +0 -0
  192. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/tree.css +0 -0
  193. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/turbo.min.js +0 -0
  194. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static/viewtype_menu.js +0 -0
  195. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/LICENSE-MATHJAX +0 -0
  196. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/tex.js +0 -0
  197. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
  198. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
  199. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
  200. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
  201. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
  202. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
  203. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
  204. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
  205. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
  206. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
  207. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
  208. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
  209. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
  210. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
  211. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
  212. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
  213. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
  214. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
  215. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
  216. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
  217. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
  218. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
  219. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
  220. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mathjax/tex-mml-chtml.js +0 -0
  221. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/mermaid/mermaid.min.js +0 -0
  222. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/_static_extra/rapidoc/rapidoc-min.js +0 -0
  223. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/document_type.py +0 -0
  224. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/form_objects/document_config_form_object.py +0 -0
  225. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/form_objects/document_grammar_form_object.py +0 -0
  226. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/form_objects/requirement_form_object.py +0 -0
  227. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/form_objects/section_form_object.py +0 -0
  228. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/generators/__init__.py +0 -0
  229. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/generators/document_table.py +0 -0
  230. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/generators/document_tree.py +0 -0
  231. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/generators/project_statistics.py +0 -0
  232. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/generators/source_file_coverage.py +0 -0
  233. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/generators/source_file_view_generator.py +0 -0
  234. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/generators/traceability_matrix.py +0 -0
  235. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/html_generator.py +0 -0
  236. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/html_templates.py +0 -0
  237. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/renderers/__init__.py +0 -0
  238. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/renderers/html_fragment_writer.py +0 -0
  239. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/renderers/link_renderer.py +0 -0
  240. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/renderers/markup_renderer.py +0 -0
  241. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/renderers/text_to_html_writer.py +0 -0
  242. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg__separator.jinja.html +0 -0
  243. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_add.jinja.html +0 -0
  244. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_anchor.jinja +0 -0
  245. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_back.jinja.html +0 -0
  246. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_book.jinja.html +0 -0
  247. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_close.jinja +0 -0
  248. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_code.jinja.html +0 -0
  249. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_copy.jinja +0 -0
  250. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_delete.jinja.html +0 -0
  251. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_diff.jinja +0 -0
  252. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_document.jinja.html +0 -0
  253. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_done.jinja +0 -0
  254. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_edit.jinja.html +0 -0
  255. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_expand.jinja.html +0 -0
  256. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_folder.jinja +0 -0
  257. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_folder_sm.jinja +0 -0
  258. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_gear.jinja.html +0 -0
  259. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_go_to_doc.jinja +0 -0
  260. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_index.jinja.html +0 -0
  261. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_list.jinja.html +0 -0
  262. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_maximize.jinja +0 -0
  263. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_minimize.jinja +0 -0
  264. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_minusminus.jinja.html +0 -0
  265. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_move_down.jinja.html +0 -0
  266. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_move_up.jinja.html +0 -0
  267. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_plusplus.jinja.html +0 -0
  268. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_project.jinja.html +0 -0
  269. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_requirement.jinja.html +0 -0
  270. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_reset.jinja +0 -0
  271. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_search.jinja +0 -0
  272. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_source.jinja.html +0 -0
  273. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_stat.jinja +0 -0
  274. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_sync.jinja +0 -0
  275. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_toc.jinja.html +0 -0
  276. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_res/svg_ico16_tree.jinja +0 -0
  277. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_shared/nav.jinja.html +0 -0
  278. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_shared/requirement_block/files_tree.jinja.html +0 -0
  279. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_shared/requirement_tree_left.jinja.html +0 -0
  280. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_shared/requirement_tree_right.jinja.html +0 -0
  281. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/_shared/tags.jinja.html +0 -0
  282. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/_shared/stream_refresh_document.jinja.html +0 -0
  283. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/_shared/stream_updated_toc.jinja.html +0 -0
  284. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/add_requirement_comment/stream_add_requirement_comment.jinja.html +0 -0
  285. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/add_requirement_relation/stream_add_requirement_relation.jinja.html +0 -0
  286. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/create_requirement/stream_cancel_new_requirement.jinja.html +0 -0
  287. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/create_requirement/stream_created_requirement.jinja.html +0 -0
  288. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/create_requirement/stream_new_requirement.jinja.html +0 -0
  289. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/create_section/stream_cancel_new_section.jinja.html +0 -0
  290. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/create_section/stream_created_section.jinja.html +0 -0
  291. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/create_section/stream_new_section.jinja.html +0 -0
  292. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_confirm_delete_requirement.jinja +0 -0
  293. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_delete_requirement.jinja.html +0 -0
  294. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/delete_section/stream_confirm_delete_section.jinja +0 -0
  295. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/delete_section/stream_delete_section.jinja.html +0 -0
  296. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_cancel_edit_document_config.jinja.html +0 -0
  297. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_edit_document_config.jinja.html +0 -0
  298. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_save_document_config.jinja.html +0 -0
  299. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/edit_document_grammar/stream_add_grammar_field.jinja.html +0 -0
  300. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/edit_document_grammar/stream_add_grammar_relation.jinja.html +0 -0
  301. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/edit_document_grammar/stream_edit_document_grammar.jinja.html +0 -0
  302. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/edit_document_grammar/stream_save_document_grammar.jinja.html +0 -0
  303. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_edit_requirement.jinja.html +0 -0
  304. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_update_requirement.jinja.html +0 -0
  305. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/edit_section/stream_edit_section.jinja.html +0 -0
  306. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/edit_section/stream_updated_section.jinja.html +0 -0
  307. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/document/move_node/stream_update_document_content.jinja +0 -0
  308. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_requirement.jinja +0 -0
  309. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_section.jinja +0 -0
  310. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_form_import_reqif_document.jinja.html +0 -0
  311. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_refresh_with_imported_reqif_document.jinja.html +0 -0
  312. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/project_index/stream_create_document.jinja.html +0 -0
  313. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/actions/project_index/stream_new_document.jinja.html +0 -0
  314. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/base.jinja.html +0 -0
  315. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/abstract/index.jinja +0 -0
  316. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/abstract/pdf.jinja +0 -0
  317. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/anchor/index.jinja +0 -0
  318. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/badge/index.jinja +0 -0
  319. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/button/cancel.jinja +0 -0
  320. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/button/confirm.jinja +0 -0
  321. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/button/delete.jinja +0 -0
  322. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/button/diff.jinja +0 -0
  323. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/button/search.jinja +0 -0
  324. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/button/submit.jinja +0 -0
  325. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/confirm/_usage_example.jinja +0 -0
  326. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/confirm/index.jinja +0 -0
  327. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/document_title/index.jinja +0 -0
  328. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/field/index.jinja +0 -0
  329. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/form/field/contenteditable/index.jinja +0 -0
  330. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/form/field/file/index.jinja +0 -0
  331. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/form/field/text/index.jinja +0 -0
  332. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/form/field_action_button/index.jinja +0 -0
  333. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/form/index.jinja +0 -0
  334. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/form/row/index.jinja +0 -0
  335. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/example.jinja.html +0 -0
  336. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/frame.jinja +0 -0
  337. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/stream.jinja +0 -0
  338. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/form/row/row_with_comment.jinja +0 -0
  339. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/form/row/row_with_relation.jinja +0 -0
  340. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/form/row/row_with_text_field.jinja +0 -0
  341. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/form/search.jinja +0 -0
  342. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/grammar_form/index.jinja +0 -0
  343. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/grammar_form/row_with_custom_field.jinja +0 -0
  344. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/grammar_form/row_with_relation.jinja +0 -0
  345. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/grammar_form/row_with_reserved_field.jinja +0 -0
  346. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/header/_usage_example.jinja +0 -0
  347. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/header/header_pagetype.jinja +0 -0
  348. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/header/index.jinja +0 -0
  349. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/meta/index.jinja +0 -0
  350. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/modal/_usage_example.jinja +0 -0
  351. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/modal/form.jinja +0 -0
  352. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/modal/index.jinja +0 -0
  353. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/node/card.jinja +0 -0
  354. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/node/index.jinja +0 -0
  355. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/node/node_controls/card.jinja +0 -0
  356. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/node/node_controls/index.jinja +0 -0
  357. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/node/root.jinja +0 -0
  358. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/requirement/card.jinja +0 -0
  359. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/requirement/card_extends_card.jinja +0 -0
  360. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/requirement/files/index.jinja +0 -0
  361. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/requirement/index.jinja +0 -0
  362. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/requirement/index_extends_node.jinja +0 -0
  363. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/requirement/links/index.jinja +0 -0
  364. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/requirement/pdf.jinja +0 -0
  365. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/requirement/tiny.jinja +0 -0
  366. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/requirement/tiny_extends_card.jinja +0 -0
  367. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/requirement/title/index.jinja +0 -0
  368. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/requirement/title/pdf.jinja +0 -0
  369. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/requirement/uid/index.jinja +0 -0
  370. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/resizable_bar/index.jinja +0 -0
  371. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/section/card.jinja +0 -0
  372. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/section/card_extends_card.jinja +0 -0
  373. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/section/h/index.jinja +0 -0
  374. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/section/h/pdf.jinja +0 -0
  375. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/section/index.jinja +0 -0
  376. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/section/index_extends_node.jinja +0 -0
  377. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/section/pdf.jinja +0 -0
  378. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/section/text/index.jinja +0 -0
  379. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/section/tiny.jinja +0 -0
  380. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/section/tiny_extends_card.jinja +0 -0
  381. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/section/title/index.jinja +0 -0
  382. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/section/uid/index.jinja +0 -0
  383. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/components/table_key_value/index.jinja +0 -0
  384. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/rst/anchor.jinja +0 -0
  385. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/_shared/frame_header_document_title.jinja +0 -0
  386. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_requirement.jinja +0 -0
  387. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_section.jinja +0 -0
  388. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/_shared/frame_toc.jinja +0 -0
  389. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/_shared/project_tree.jinja +0 -0
  390. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_project_tree.jinja +0 -0
  391. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_toc.jinja +0 -0
  392. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/_shared/toc.jinja +0 -0
  393. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/_shared/viewtype_menu.jinja +0 -0
  394. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/document/actions.jinja +0 -0
  395. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/document/frame_document_config.jinja.html +0 -0
  396. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/document/frame_document_config_edit.jinja.html +0 -0
  397. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +0 -0
  398. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/document/frame_requirement_form.jinja +0 -0
  399. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/document/frame_section_form.jinja +0 -0
  400. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/document/index.jinja +0 -0
  401. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/document/main.jinja +0 -0
  402. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/pdf/main.jinja +0 -0
  403. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/pdf/template/footer.jinja +0 -0
  404. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/pdf/template/frontpage.jinja +0 -0
  405. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/pdf/template/header.jinja +0 -0
  406. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/pdf/toc.jinja +0 -0
  407. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/table/index.jinja +0 -0
  408. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/table/main.jinja +0 -0
  409. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/traceability/index.jinja +0 -0
  410. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/traceability/main.jinja +0 -0
  411. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/traceability_deep/index.jinja +0 -0
  412. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/document/traceability_deep/main.jinja +0 -0
  413. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/git/changelog_content.jinja +0 -0
  414. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/git/diff_content.jinja +0 -0
  415. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/git/diff_controls.jinja +0 -0
  416. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/git/fields/document_fields.jinja +0 -0
  417. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/git/fields/requirement_fields.jinja +0 -0
  418. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/git/fields/section_fields.jinja +0 -0
  419. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/git/form.jinja +0 -0
  420. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/git/frame_changelog_result.jinja +0 -0
  421. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/git/frame_diff_result.jinja +0 -0
  422. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/git/index.jinja +0 -0
  423. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/git/legend.jinja +0 -0
  424. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/git/main.jinja +0 -0
  425. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/git/nav_tabs.jinja +0 -0
  426. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/git/node/requirement.jinja +0 -0
  427. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/git/node/section.jinja +0 -0
  428. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/git/skeleton.jinja +0 -0
  429. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/git/sync/button.jinja +0 -0
  430. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/project_index/actions.jinja +0 -0
  431. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/project_index/frame_form_import_reqif.jinja.html +0 -0
  432. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/project_index/frame_form_new_document.jinja.html +0 -0
  433. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/project_index/frame_project_tree.jinja.html +0 -0
  434. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/project_index/index.jinja +0 -0
  435. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/project_index/main.jinja +0 -0
  436. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/project_statistics/index.jinja +0 -0
  437. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/project_statistics/main.jinja +0 -0
  438. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/search/index.jinja +0 -0
  439. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/search/legend.jinja +0 -0
  440. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/search/main.jinja +0 -0
  441. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/source_file_coverage/index.jinja +0 -0
  442. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/source_file_coverage/main.jinja +0 -0
  443. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/source_file_view/aside.jinja +0 -0
  444. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/source_file_view/header__source_file_name.jinja +0 -0
  445. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/source_file_view/index.jinja +0 -0
  446. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/source_file_view/main.jinja +0 -0
  447. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/source_file_view/requirement.jinja +0 -0
  448. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/traceability_matrix/file.jinja +0 -0
  449. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/traceability_matrix/index.jinja +0 -0
  450. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/traceability_matrix/main.jinja +0 -0
  451. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/traceability_matrix/project_tree_flat_anchor_list.jinja +0 -0
  452. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/traceability_matrix/requirement.jinja.html +0 -0
  453. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/screens/traceability_matrix/resizable_bar_with_project_tree.jinja +0 -0
  454. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/templates/websocket.jinja.html +0 -0
  455. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/tools/__init__.py +0 -0
  456. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html/tools/html_embedded.py +0 -0
  457. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html2pdf/html2pdf_generator.py +0 -0
  458. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/html2pdf/pdf_print_driver.py +0 -0
  459. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/rst/__init__.py +0 -0
  460. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/rst/directives/raw_html_role.py +0 -0
  461. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/rst/directives/wildcard_enhanced_image.py +0 -0
  462. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/rst/document_rst_generator.py +0 -0
  463. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/rst/rst_templates.py +0 -0
  464. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/rst/rst_to_html_fragment_writer.py +0 -0
  465. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/rst/templates/requirement.jinja.rst +0 -0
  466. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/rst/writer.py +0 -0
  467. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/spdx/spdx_generator.py +0 -0
  468. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/spdx/spdx_sdoc_container.py +0 -0
  469. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/export/spdx/spdx_to_sdoc_converter.py +0 -0
  470. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/git/change.py +0 -0
  471. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/git/change_generator.py +0 -0
  472. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/git/git_client.py +0 -0
  473. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/git/project_diff_analyzer.py +0 -0
  474. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/__init__.py +0 -0
  475. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/auto_described.py +0 -0
  476. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/cast.py +0 -0
  477. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/diff.py +0 -0
  478. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/exception.py +0 -0
  479. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/file_modification_time.py +0 -0
  480. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/file_system.py +0 -0
  481. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/form_data.py +0 -0
  482. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/git_client.py +0 -0
  483. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/math.py +0 -0
  484. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/md5.py +0 -0
  485. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/mid.py +0 -0
  486. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/ordered_set.py +0 -0
  487. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/parallelizer.py +0 -0
  488. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/path_filter.py +0 -0
  489. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/pickle.py +0 -0
  490. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/rst.py +0 -0
  491. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/sha256.py +0 -0
  492. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/shard.py +0 -0
  493. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/sorting.py +0 -0
  494. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/string.py +0 -0
  495. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/textx.py +0 -0
  496. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/helpers/timing.py +0 -0
  497. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/server/__init__.py +0 -0
  498. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/server/app.py +0 -0
  499. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/server/config.py +0 -0
  500. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/server/error_object.py +0 -0
  501. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/server/main.py +0 -0
  502. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/server/routers/other_router.py +0 -0
  503. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc/server/server.py +0 -0
  504. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/strictdoc.toml +0 -0
  505. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/tasks_wine.py +0 -0
  506. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/tools/confluence_html_table_import.py +0 -0
  507. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/tools/link_health.py +0 -0
  508. {strictdoc-0.0.49a2 → strictdoc-0.0.49a4}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strictdoc
3
- Version: 0.0.49a2
3
+ Version: 0.0.49a4
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,8 +22,12 @@ ignore_missing_imports = True
22
22
  ignore_missing_imports = True
23
23
 
24
24
  # We ignore build folder but mypy still follows into the Python packages,
25
- # in this case starlette. This StackOverflow answers suggests a solution.
25
+ # in this case pydantic, starlette, selenium.
26
+ # This StackOverflow answers suggests a solution:
26
27
  # https://stackoverflow.com/a/70367929/598057
28
+ [mypy-pydantic.*]
29
+ follow_imports = skip
30
+
27
31
  [mypy-starlette.*]
28
32
  follow_imports = skip
29
33
 
@@ -20,7 +20,7 @@ pytidylib>=0.3.2
20
20
  openpyxl>=3.0.5
21
21
 
22
22
  # End2end tests
23
- seleniumbase; python_version<="3.7"
23
+ seleniumbase
24
24
 
25
25
  # psutil is needed to reap Uvicorn's zombie processes when running end2end
26
26
  # tests. One day someone finds a better solution.
@@ -1,6 +1,6 @@
1
1
  from strictdoc.core.environment import SDocRuntimeEnvironment
2
2
 
3
- __version__ = "0.0.49a2"
3
+ __version__ = "0.0.49a4"
4
4
 
5
5
 
6
6
  environment = SDocRuntimeEnvironment(__file__)
@@ -69,7 +69,7 @@ class ExcelGenerator:
69
69
  workbook.set_properties(
70
70
  {
71
71
  "title": project_config.project_title,
72
- "comments": "Created with StrictDoc",
72
+ "comments": "Created with StrictDoc.",
73
73
  }
74
74
  )
75
75
 
@@ -108,16 +108,19 @@ class ExcelGenerator:
108
108
  columns[field][MAX_WIDTH_KEY] = len(
109
109
  ref.ref_uid
110
110
  )
111
- worksheet.write_url(
112
- row,
113
- idx,
114
- (
115
- "internal:"
116
- f"'{EXCEL_SHEET_NAME}'"
117
- f"!A{req_uid_rows[ref.ref_uid]}"
118
- ),
119
- string=ref.ref_uid,
120
- )
111
+ if ref.ref_uid in req_uid_rows:
112
+ worksheet.write_url(
113
+ row,
114
+ idx,
115
+ (
116
+ "internal:"
117
+ f"'{EXCEL_SHEET_NAME}'"
118
+ f"!A{req_uid_rows[ref.ref_uid]}"
119
+ ),
120
+ string=ref.ref_uid,
121
+ )
122
+ else:
123
+ worksheet.write(row, idx, ref.ref_uid)
121
124
  elif field_uc in ("COMMENT", "COMMENTS"):
122
125
  # Using a transition marker to separate multiple
123
126
  # comments
@@ -5,6 +5,7 @@ from strictdoc.backend.sdoc.models.document_grammar import (
5
5
  GrammarElement,
6
6
  GrammarElementField,
7
7
  )
8
+ from strictdoc.backend.sdoc.models.document_view import ViewElement
8
9
  from strictdoc.backend.sdoc.models.reference import Reference
9
10
  from strictdoc.backend.sdoc.models.requirement import (
10
11
  Requirement,
@@ -291,6 +292,71 @@ class StrictDocSemanticError(Exception):
291
292
  filename=filename,
292
293
  )
293
294
 
295
+ @staticmethod
296
+ def view_references_nonexisting_grammar_element(
297
+ view_element: ViewElement,
298
+ object_type: str,
299
+ line=None,
300
+ col=None,
301
+ filename=None,
302
+ ):
303
+ return StrictDocSemanticError(
304
+ title=(
305
+ f"View element '{view_element.view_id}' references a non-existing"
306
+ f" grammar element '{object_type}'."
307
+ ),
308
+ hint=(
309
+ "Make sure that each View element references an existing "
310
+ "object in the grammar or the default REQUIREMENT object."
311
+ ),
312
+ example=None,
313
+ line=line,
314
+ col=col,
315
+ filename=filename,
316
+ )
317
+
318
+ @staticmethod
319
+ def view_references_nonexisting_field(
320
+ view_element: ViewElement,
321
+ object_type: str,
322
+ field_name: str,
323
+ line=None,
324
+ col=None,
325
+ filename=None,
326
+ ):
327
+ return StrictDocSemanticError(
328
+ title=(
329
+ f"View element '{view_element.view_id}' references a non-existing"
330
+ f" field '{field_name}' for grammar element '{object_type}'."
331
+ ),
332
+ hint=(
333
+ "Make sure that each View element references an existing "
334
+ "field in the grammar for the given grammar element."
335
+ ),
336
+ example=None,
337
+ line=line,
338
+ col=col,
339
+ filename=filename,
340
+ )
341
+
342
+ @staticmethod
343
+ def default_view_doesnt_exist(
344
+ default_view: str, line=None, col=None, filename=None
345
+ ):
346
+ return StrictDocSemanticError(
347
+ title=(
348
+ f"Default view '{default_view}' does not exist in the document."
349
+ ),
350
+ hint=(
351
+ "Make sure that the specified default view is created in the "
352
+ "VIEWS configuration."
353
+ ),
354
+ example=None,
355
+ line=line,
356
+ col=col,
357
+ filename=filename,
358
+ )
359
+
294
360
  def to_print_message(self):
295
361
  message = ""
296
362
  message += f"error: could not parse file: {self.file_path}.\n"
@@ -8,6 +8,10 @@ from strictdoc.backend.sdoc.models.document_grammar import (
8
8
  DocumentGrammar,
9
9
  GrammarElement,
10
10
  )
11
+ from strictdoc.backend.sdoc.models.document_view import (
12
+ DocumentView,
13
+ ViewElement,
14
+ )
11
15
  from strictdoc.backend.sdoc.models.fragment import Fragment
12
16
  from strictdoc.backend.sdoc.models.fragment_from_file import FragmentFromFile
13
17
  from strictdoc.backend.sdoc.models.inline_link import InlineLink
@@ -37,6 +41,9 @@ from strictdoc.backend.sdoc.models.type_system import (
37
41
  GrammarElementRelationChild,
38
42
  GrammarElementRelationFile,
39
43
  GrammarElementRelationParent,
44
+ ViewElementField,
45
+ ViewElementHiddenTag,
46
+ ViewElementTags,
40
47
  )
41
48
 
42
49
  SECTION_MODELS = [
@@ -62,6 +69,7 @@ DOCUMENT_MODELS = [
62
69
  DocumentConfig,
63
70
  Document,
64
71
  DocumentGrammar,
72
+ DocumentView,
65
73
  DocumentBibliography,
66
74
  GrammarElement,
67
75
  GrammarElementFieldString,
@@ -73,6 +81,10 @@ DOCUMENT_MODELS = [
73
81
  GrammarElementRelationParent,
74
82
  GrammarElementRelationChild,
75
83
  GrammarElementRelationFile,
84
+ ViewElement,
85
+ ViewElementField,
86
+ ViewElementTags,
87
+ ViewElementHiddenTag,
76
88
  ]
77
89
  DOCUMENT_MODELS.extend(SECTION_MODELS)
78
90
 
@@ -34,7 +34,9 @@ class Document: # pylint: disable=too-many-instance-attributes
34
34
  if config is not None
35
35
  else DocumentConfig.default_config(self)
36
36
  )
37
- self.view: Optional[DocumentView] = view
37
+ self.view: DocumentView = (
38
+ view if view is not None else DocumentView.create_default(self)
39
+ )
38
40
  self.grammar: Optional[DocumentGrammar] = grammar
39
41
  self.bibliography: Optional[DocumentBibliography] = bibliography
40
42
  self.free_texts: List[FreeText] = free_texts
@@ -0,0 +1,79 @@
1
+ from typing import List, Optional
2
+
3
+ from strictdoc.backend.sdoc.models.type_system import (
4
+ ViewElementField,
5
+ ViewElementHiddenTag,
6
+ ViewElementTags,
7
+ )
8
+ from strictdoc.helpers.auto_described import auto_described
9
+
10
+
11
+ @auto_described()
12
+ class ViewElement:
13
+ def __init__(
14
+ self,
15
+ parent,
16
+ view_id: str,
17
+ tags: List[ViewElementTags],
18
+ hidden_tags: Optional[List[ViewElementHiddenTag]],
19
+ name: Optional[str],
20
+ ):
21
+ self.parent = parent
22
+ self.view_id: str = view_id
23
+ self.tags: List[ViewElementTags] = tags
24
+ self.hidden_tags: Optional[List[ViewElementHiddenTag]] = hidden_tags
25
+ self.name: Optional[str] = name
26
+
27
+ def includes_field(self, requirement_type: str, field_name: str) -> bool:
28
+ for tag_ in self.tags:
29
+ if tag_.object_type == requirement_type:
30
+ field_: ViewElementField
31
+ for field_ in tag_.visible_fields:
32
+ if field_.name == field_name:
33
+ return True
34
+ break
35
+ return False
36
+
37
+
38
+ @auto_described()
39
+ class DefaultViewElement(ViewElement):
40
+ """
41
+ FIXME: It is not great to provide a default implementation this way but it
42
+ works fine for now.
43
+ """
44
+
45
+ def includes_field(self, requirement_type: str, field_name: str) -> bool: # noqa: ARG002
46
+ return True
47
+
48
+
49
+ @auto_described()
50
+ class DocumentView:
51
+ def __init__(self, parent, views: List[ViewElement]):
52
+ self.parent = parent
53
+ self.views: List[ViewElement] = views
54
+
55
+ @staticmethod
56
+ def create_default(parent) -> "DocumentView":
57
+ return DocumentView(
58
+ parent,
59
+ [
60
+ DefaultViewElement(
61
+ parent=parent,
62
+ view_id="NOT_RELEVANT",
63
+ tags=[],
64
+ hidden_tags=[],
65
+ name=None,
66
+ )
67
+ ],
68
+ )
69
+
70
+ def get_default_view(self) -> ViewElement:
71
+ return self.views[0]
72
+
73
+ def get_current_view(self, view_id: Optional[str]) -> ViewElement:
74
+ if view_id is None:
75
+ return self.get_default_view()
76
+ for view_element_ in self.views:
77
+ if view_element_.view_id == view_id:
78
+ return view_element_
79
+ raise NotImplementedError
@@ -549,6 +549,9 @@ class Requirement(Node): # pylint: disable=too-many-instance-attributes, too-ma
549
549
  self.requirement_type
550
550
  ]
551
551
  grammar_field_titles = list(map(lambda f: f.title, element.fields))
552
+ # FIXME: This will go away very soon when the RELATIONS become a
553
+ # separate field in SDoc REQUIREMENT's grammar.
554
+ grammar_field_titles.append("REFS")
552
555
  field_index = grammar_field_titles.index(field_name)
553
556
  title_field_index = grammar_field_titles.index(
554
557
  RequirementFieldName.TITLE
@@ -372,7 +372,8 @@ class GrammarElementFieldReference(GrammarElementField):
372
372
 
373
373
  @auto_described
374
374
  class ViewElementField:
375
- def __init__(self, name: str, placement: Optional[str]):
375
+ def __init__(self, parent, name: str, placement: Optional[str]):
376
+ self.parent = parent
376
377
  self.name: str = name
377
378
  self.placement: Optional[str] = placement
378
379
 
@@ -380,13 +381,15 @@ class ViewElementField:
380
381
  @auto_described
381
382
  class ViewElementTags:
382
383
  def __init__(
383
- self, object_type: str, visibile_fields: List[ViewElementField]
384
+ self, parent, object_type: str, visible_fields: List[ViewElementField]
384
385
  ):
386
+ self.parent = parent
385
387
  self.object_type: str = object_type
386
- self.visible_fields: List[ViewElementField] = visibile_fields
388
+ self.visible_fields: List[ViewElementField] = visible_fields
387
389
 
388
390
 
389
391
  @auto_described
390
392
  class ViewElementHiddenTag:
391
- def __init__(self, hidden_tag: str):
393
+ def __init__(self, parent, hidden_tag: str):
394
+ self.parent = parent
392
395
  self.hidden_tag: str = hidden_tag
@@ -7,6 +7,7 @@ from strictdoc.backend.sdoc.error_handling import StrictDocSemanticError
7
7
  from strictdoc.backend.sdoc.models.document import Document
8
8
  from strictdoc.backend.sdoc.models.document_config import DocumentConfig
9
9
  from strictdoc.backend.sdoc.models.document_grammar import DocumentGrammar
10
+ from strictdoc.backend.sdoc.models.document_view import DocumentView
10
11
  from strictdoc.backend.sdoc.models.fragment import Fragment
11
12
  from strictdoc.backend.sdoc.models.fragment_from_file import FragmentFromFile
12
13
  from strictdoc.backend.sdoc.models.requirement import (
@@ -25,6 +26,7 @@ class ParseContext:
25
26
  self.document_grammar: DocumentGrammar = DocumentGrammar.create_default(
26
27
  None
27
28
  )
29
+ self.document_view: Optional[DocumentView] = None
28
30
  self.current_include_parent = None
29
31
  self.uses_old_refs_field: bool = False
30
32
  self.at_least_one_relations_field: bool = False
@@ -43,6 +45,7 @@ class SDocParsingProcessor:
43
45
  "Document": self.process_document,
44
46
  "DocumentConfig": self.process_document_config,
45
47
  "DocumentGrammar": self.process_document_grammar,
48
+ "DocumentView": self.process_document_view,
46
49
  "Section": self.process_section,
47
50
  "FragmentFromFile": self.process_include,
48
51
  "CompositeRequirement": self.process_composite_requirement,
@@ -63,6 +66,9 @@ class SDocParsingProcessor:
63
66
  )
64
67
  self.parse_context.document_grammar = document_grammar
65
68
 
69
+ def process_document_view(self, document_view: DocumentView):
70
+ self.parse_context.document_view = document_view
71
+
66
72
  def process_section(self, section: Section):
67
73
  section.ng_document_reference = self.parse_context.document_reference
68
74
 
@@ -14,6 +14,7 @@ from strictdoc.backend.sdoc.models.constants import DOCUMENT_MODELS
14
14
  from strictdoc.backend.sdoc.models.document import Document
15
15
  from strictdoc.backend.sdoc.models.fragment import Fragment
16
16
  from strictdoc.backend.sdoc.processor import ParseContext, SDocParsingProcessor
17
+ from strictdoc.backend.sdoc.validations.sdoc_validator import SDocValidator
17
18
  from strictdoc.helpers.cast import assert_cast
18
19
  from strictdoc.helpers.exception import StrictDocException
19
20
  from strictdoc.helpers.md5 import get_file_md5
@@ -65,17 +66,19 @@ class SDReader:
65
66
  " VALUE: REQ-1"
66
67
  )
67
68
 
69
+ return document, parse_context
70
+
71
+ @staticmethod
72
+ def read(input_string, file_path=None):
73
+ document, _ = SDReader._read(input_string, file_path)
74
+ SDocValidator.validate_document(document)
75
+
68
76
  # HACK:
69
77
  # ProcessPoolExecutor doesn't work because of non-picklable parts
70
78
  # of textx. The offending fields are stripped down because they
71
79
  # are not used anyway.
72
80
  drop_textx_meta(document)
73
81
 
74
- return document, parse_context
75
-
76
- @staticmethod
77
- def read(input_string, file_path=None):
78
- document, _ = SDReader._read(input_string, file_path)
79
82
  return document
80
83
 
81
84
  def read_from_file(self, file_path: str) -> Document:
@@ -0,0 +1,67 @@
1
+ from typing import Optional
2
+
3
+ from textx import get_location
4
+
5
+ from strictdoc.backend.sdoc.error_handling import StrictDocSemanticError
6
+ from strictdoc.backend.sdoc.models.document import Document
7
+ from strictdoc.backend.sdoc.models.document_config import DocumentConfig
8
+ from strictdoc.backend.sdoc.models.document_view import DocumentView
9
+
10
+
11
+ class SDocValidator:
12
+ """
13
+ This helper class is used for validating SDoc documents right after the
14
+ textX parsing and processing steps have finished.
15
+ FIXME: In the future, all processing validation steps could be moved to this
16
+ class as well. This would remove the need in the ParseContext class
17
+ and simplify several other implementation details.
18
+ """
19
+
20
+ @staticmethod
21
+ def validate_document(document: Document):
22
+ SDocValidator._validate_document_config(document)
23
+ SDocValidator._validate_document_view(document)
24
+
25
+ @staticmethod
26
+ def _validate_document_config(document: Document):
27
+ document_config: DocumentConfig = document.config
28
+ if document_config.default_view is not None:
29
+ if document.view is None:
30
+ raise StrictDocSemanticError.default_view_doesnt_exist(
31
+ document_config.default_view,
32
+ **get_location(document_config),
33
+ )
34
+ else:
35
+ view_names = map(
36
+ lambda view_: view_.view_id, document.view.views
37
+ )
38
+ if document_config.default_view not in view_names:
39
+ raise StrictDocSemanticError.default_view_doesnt_exist(
40
+ document_config.default_view,
41
+ **get_location(document_config),
42
+ )
43
+
44
+ @staticmethod
45
+ def _validate_document_view(document: Document):
46
+ document_view: Optional[DocumentView] = document.view
47
+ if document_view is not None:
48
+ for view in document_view.views:
49
+ for tag in view.tags:
50
+ if (
51
+ tag.object_type
52
+ not in document.grammar.registered_elements
53
+ ):
54
+ raise StrictDocSemanticError.view_references_nonexisting_grammar_element(
55
+ view,
56
+ tag.object_type,
57
+ **get_location(document_view),
58
+ )
59
+ for field in tag.visible_fields:
60
+ for grammar_element in document.grammar.elements:
61
+ if field.name not in grammar_element.fields_map:
62
+ raise StrictDocSemanticError.view_references_nonexisting_field(
63
+ view,
64
+ tag.object_type,
65
+ field.name,
66
+ **get_location(document_view),
67
+ )
@@ -8,6 +8,7 @@ from strictdoc.backend.sdoc.models.document_bibliography import (
8
8
  )
9
9
  from strictdoc.backend.sdoc.models.document_config import DocumentConfig
10
10
  from strictdoc.backend.sdoc.models.document_grammar import DocumentGrammar
11
+ from strictdoc.backend.sdoc.models.document_view import DefaultViewElement
11
12
  from strictdoc.backend.sdoc.models.inline_link import InlineLink
12
13
  from strictdoc.backend.sdoc.models.reference import (
13
14
  BibReference,
@@ -138,9 +139,9 @@ class SDWriter:
138
139
  output += "\n"
139
140
 
140
141
  document_view = document.view
141
- if document_view is not None:
142
+ assert len(document_view.views) > 0
143
+ if not isinstance(document_view.views[0], DefaultViewElement):
142
144
  views = document_view.views
143
- assert len(views) > 0
144
145
  output += "VIEWS:"
145
146
  output += "\n"
146
147
  for view in views:
@@ -128,6 +128,7 @@ class ExportCommandConfig: # pylint: disable=too-many-instance-attributes
128
128
  filter_sections: Optional[str],
129
129
  reqif_profile: Optional[str],
130
130
  experimental_enable_file_traceability,
131
+ view: Optional[str],
131
132
  ):
132
133
  assert isinstance(input_paths, list), f"{input_paths}"
133
134
  self.input_paths: List[str] = input_paths
@@ -144,6 +145,7 @@ class ExportCommandConfig: # pylint: disable=too-many-instance-attributes
144
145
  self.experimental_enable_file_traceability = (
145
146
  experimental_enable_file_traceability
146
147
  )
148
+ self.view: Optional[str] = view
147
149
  self.output_html_root: str = os.path.join(output_dir, "html")
148
150
 
149
151
  def get_path_to_config(self) -> Optional[str]:
@@ -267,6 +269,7 @@ class SDocArgsParser:
267
269
  self.args.filter_sections,
268
270
  self.args.reqif_profile,
269
271
  self.args.experimental_enable_file_traceability,
272
+ self.args.view,
270
273
  )
271
274
 
272
275
  def get_import_config_reqif(self, _) -> ImportReqIFCommandConfig:
@@ -195,6 +195,11 @@ class CommandParserBuilder:
195
195
  type=str,
196
196
  help="Filter which sections will be exported.",
197
197
  )
198
+ command_parser_export.add_argument(
199
+ "--view",
200
+ type=str,
201
+ help="Choose which view will be exported.",
202
+ )
198
203
  add_config_argument(command_parser_export)
199
204
 
200
205
  @staticmethod
@@ -136,6 +136,7 @@ class ProjectConfig: # pylint: disable=too-many-instance-attributes
136
136
  datetime.datetime
137
137
  ] = config_last_update
138
138
  self.is_running_on_server: bool = False
139
+ self.view: Optional[str] = None
139
140
 
140
141
  @staticmethod
141
142
  def default_config(environment: SDocRuntimeEnvironment):
@@ -175,6 +176,7 @@ class ProjectConfig: # pylint: disable=too-many-instance-attributes
175
176
  self.filter_requirements = export_config.filter_requirements
176
177
  self.filter_sections = export_config.filter_sections
177
178
  self.excel_export_fields = export_config.fields
179
+ self.view = export_config.view
178
180
 
179
181
  if (
180
182
  export_config.enable_mathjax