strictdoc 0.0.42a2__tar.gz → 0.0.42a5__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.
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/PKG-INFO +1 -1
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/requirements.check.txt +2 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/__init__.py +1 -1
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/document_finder.py +12 -3
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/file_tree.py +48 -22
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/finders/source_files_finder.py +7 -1
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/project_config.py +78 -1
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/traceability_index_builder.py +4 -4
- strictdoc-0.0.42a5/strictdoc/helpers/path_filter.py +76 -0
- strictdoc-0.0.42a5/strictdoc.toml +24 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/.gitignore +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/CHANGELOG.md +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/CONTRIBUTING.md +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/Dockerfile +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/LICENSE +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/NOTICE +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/README.md +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/favicon.ico +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/mypy.ini +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/pyproject.toml +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/ruff.toml +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/excel/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/excel/excel_import.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/excel/export/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/excel/export/excel_generator.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/excel/import_/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/excel/import_/excel_to_sdoc_converter.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/reqif/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/reqif/export/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/reqif/export/sdoc_to_reqif_converter.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/reqif/import_/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/reqif/import_/reqif_to_sdoc_converter.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/reqif/p11_polarion/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/reqif/p11_polarion/reqif_to_sdoc_converter.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/reqif/reqif_export.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/reqif/reqif_import.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/reqif/sdoc_reqif_fields.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/document_reference.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/error_handling.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/errors/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/errors/document_tree_error.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/free_text_reader.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/grammar/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/grammar/grammar.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/grammar/grammar_builder.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/grammar/type_system.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/include_reader.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/models/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/models/constants.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/models/document.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/models/document_config.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/models/document_grammar.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/models/fragment.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/models/fragment_from_file.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/models/free_text.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/models/inline_link.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/models/node.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/models/object_factory.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/models/reference.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/models/requirement.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/models/section.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/models/type_system.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/processor.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/reader.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/validations/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/validations/requirement.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/writer.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc_source_code/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc_source_code/grammar.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc_source_code/models/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc_source_code/models/range_pragma.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc_source_code/models/source_file_info.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc_source_code/reader.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/cli/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/cli/argument_int_range.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/cli/cli_arg_parser.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/cli/main.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/commands/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/commands/about_command.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/commands/dump_grammar_command.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/commands/version_command.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/actions/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/actions/export_action.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/actions/import_action.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/actions/passthrough_action.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/document_iterator.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/document_meta.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/document_tree.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/document_tree_iterator.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/environment.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/error_message.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/file_traceability_index.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/finders/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/level_counter.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/source_tree.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/traceability_index.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/core/tree_cycle_detector.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/base.css +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/content.css +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/controllers/collapsible_list_controller.js +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/controllers/deletable_field_controller.js +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/controllers/draggable_list_controller.js +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/controllers/dropdown_menu_controller.js +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/controllers/editable_field_controller.js +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/controllers/modal_controller.js +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/controllers/movable_field_controller.js +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/controllers/scroll_into_view_controller.js +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/element.css +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/favicon.ico +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/form.css +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/layout.css +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/node.css +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/pan_with_space.js +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/requirement-tree.css +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/requirement.css +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/requirement__temporary.css +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/requirements-coverage.js +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/resizable_bar.js +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/source-code-coverage.js +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/source.css +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/stimulus.js +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/tree.css +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/turbo.js +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static/viewtype_menu.js +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/LICENSE-MATHJAX +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/tex.js +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/_static_extra/mathjax/tex-mml-chtml.js +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/document_type.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/form_objects/document_config_form_object.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/form_objects/document_grammar_form_object.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/form_objects/requirement_form_object.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/form_objects/section_form_object.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/generators/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/generators/document.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/generators/document_deep_trace.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/generators/document_table.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/generators/document_trace.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/generators/document_tree.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/generators/requirements_coverage.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/generators/source_file_coverage.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/generators/source_file_view_generator.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/html_generator.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/html_templates.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/renderers/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/renderers/html_fragment_writer.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/renderers/link_renderer.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/renderers/markup_renderer.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/renderers/text_to_html_writer.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg__separator.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_add.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_back.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_book.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_close.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_code.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_delete.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_document.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_edit.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_expand.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_folder.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_folder_sm.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_gear.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_index.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_list.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_maximize.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_minimize.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_minusminus.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_move_down.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_move_up.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_plusplus.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_project.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_requirement.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_source.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_toc.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_res/svg_ico16_tree.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_shared/nav.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_shared/requirement_block/files_tree.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_shared/requirement_block/uid_and_title.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_shared/requirement_tree_left.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_shared/requirement_tree_right.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/_shared/tags.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/deep_trace/show_full_requirement/stream_show_full_requirement.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/_shared/stream_refresh_document.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/_shared/stream_updated_toc.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/add_requirement_comment/stream_add_requirement_comment.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/add_requirement_parent_link/stream_add_requirement_parent_link.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/create_requirement/stream_cancel_new_requirement.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/create_requirement/stream_created_requirement.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/create_requirement/stream_new_requirement.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/create_section/stream_cancel_new_section.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/create_section/stream_created_section.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/create_section/stream_new_section.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_confirm_delete_requirement.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_delete_requirement.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/delete_section/stream_confirm_delete_section.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/delete_section/stream_delete_section.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_cancel_edit_document_config.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_edit_document_config.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_save_document_config.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/edit_document_grammar/stream_add_grammar_field.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/edit_document_grammar/stream_edit_document_grammar.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/edit_document_grammar/stream_save_document_grammar.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_edit_requirement.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_update_requirement.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/edit_section/stream_edit_section.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/edit_section/stream_updated_section.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/document/move_node/stream_update_document_content.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_form_import_reqif_document.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_refresh_with_imported_reqif_document.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/project_index/stream_create_document.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/actions/project_index/stream_new_document.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/base.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/abstract/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/anchor/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/button/cancel.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/button/confirm.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/button/delete.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/button/submit.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/confirm/_usage_example.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/confirm/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/form/field/file/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/form/field/text/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/header/_usage_example.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/header/header_pagetype.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/header/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/modal/_usage_example.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/modal/form.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/modal/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/node/card.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/node/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/node/node_controls/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/node/root.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/requirement/card.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/requirement/card_extends_card.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/requirement/comments/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/requirement/files/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/requirement/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/requirement/index_extends_node.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/requirement/links/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/requirement/meta/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/requirement/multiline/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/requirement/rationale/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/requirement/statement/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/requirement/tiny.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/requirement/tiny_extends_card.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/requirement/title/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/requirement/uid/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/resizable_bar/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/section/card.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/section/card_extends_card.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/section/h/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/section/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/section/index_extends_node.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/section/text/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/section/tiny.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/section/tiny_extends_card.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/components/section/title/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/_shared/frame_header_document_title.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/_shared/frame_toc.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/_shared/project_tree.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_project_tree.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_toc.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/_shared/viewtype_menu.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/document/actions.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/document/frame_document_config.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/document/frame_document_config_edit.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/document/frame_document_grammar_edit.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/document/frame_document_grammar_edit_custom_field.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/document/frame_requirement_edit.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/document/frame_requirement_edit_field_comment.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/document/frame_requirement_edit_field_parent_link.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/document/frame_section_edit.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/document/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/document/main.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/table/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/table/main.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/traceability/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/traceability/main.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/traceability_deep/frame_show_full_requirement.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/traceability_deep/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/document/traceability_deep/main.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/project_index/actions.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/project_index/frame_form_import_reqif.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/project_index/frame_form_new_document.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/project_index/frame_project_tree.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/project_index/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/project_index/main.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/requirements_coverage/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/requirements_coverage/main.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/requirements_coverage/project_tree_flat_anchor_list.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/requirements_coverage/requirement.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/requirements_coverage/resizable_bar_with_project_tree.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/source_file_coverage/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/source_file_coverage/main.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/source_file_view/aside.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/source_file_view/header__source_file_name.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/source_file_view/index.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/source_file_view/main.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/screens/source_file_view/requirement.jinja +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/templates/websocket.jinja.html +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/tools/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/html/tools/html_embedded.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/rst/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/rst/directives/wildcard_enhanced_image.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/rst/document_rst_generator.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/rst/rst_templates.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/rst/rst_to_html_fragment_writer.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/rst/templates/requirement.jinja.rst +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/export/rst/writer.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/helpers/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/helpers/auto_described.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/helpers/file_modification_time.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/helpers/file_system.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/helpers/math.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/helpers/parallelizer.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/helpers/pickle.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/helpers/rst.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/helpers/sorting.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/helpers/string.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/helpers/textx.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/helpers/timing.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/server/__init__.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/server/app.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/server/config.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/server/error_object.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/server/main.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/server/routers/main_router.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/server/server.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/tasks.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/tasks_wine.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/tools/confluence_html_table_import.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/tools/link_health.py +0 -0
- {strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/tox.ini +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: strictdoc
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.42a5
|
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/
|
@@ -11,6 +11,7 @@ from strictdoc.core.file_tree import (
|
|
11
11
|
FileTree,
|
12
12
|
PathFinder,
|
13
13
|
)
|
14
|
+
from strictdoc.core.project_config import ProjectConfig
|
14
15
|
from strictdoc.helpers.textx import drop_textx_meta
|
15
16
|
from strictdoc.helpers.timing import measure_performance, timing_decorator
|
16
17
|
|
@@ -18,7 +19,9 @@ from strictdoc.helpers.timing import measure_performance, timing_decorator
|
|
18
19
|
class DocumentFinder:
|
19
20
|
@staticmethod
|
20
21
|
@timing_decorator("Find and read SDoc files")
|
21
|
-
def find_sdoc_content(
|
22
|
+
def find_sdoc_content(
|
23
|
+
config: ExportCommandConfig, project_config: ProjectConfig, parallelizer
|
24
|
+
):
|
22
25
|
for paths_to_files_or_doc in config.input_paths:
|
23
26
|
if not os.path.exists(paths_to_files_or_doc):
|
24
27
|
sys.stdout.flush()
|
@@ -30,7 +33,9 @@ class DocumentFinder:
|
|
30
33
|
print(err) # noqa: T201
|
31
34
|
sys.exit(1)
|
32
35
|
|
33
|
-
file_tree, asset_dirs = DocumentFinder._build_file_tree(
|
36
|
+
file_tree, asset_dirs = DocumentFinder._build_file_tree(
|
37
|
+
config, project_config=project_config
|
38
|
+
)
|
34
39
|
document_tree = DocumentFinder._build_document_tree(
|
35
40
|
file_tree, config.output_html_root, parallelizer
|
36
41
|
)
|
@@ -118,7 +123,9 @@ class DocumentFinder:
|
|
118
123
|
)
|
119
124
|
|
120
125
|
@staticmethod
|
121
|
-
def _build_file_tree(
|
126
|
+
def _build_file_tree(
|
127
|
+
config: ExportCommandConfig, project_config: ProjectConfig
|
128
|
+
):
|
122
129
|
asset_dirs = []
|
123
130
|
root_trees = []
|
124
131
|
|
@@ -171,6 +178,8 @@ class DocumentFinder:
|
|
171
178
|
root_path=path_to_doc_root,
|
172
179
|
ignored_dirs=[config.output_dir],
|
173
180
|
extensions=[".sdoc"],
|
181
|
+
include_paths=project_config.include_doc_paths,
|
182
|
+
exclude_paths=project_config.exclude_doc_paths,
|
174
183
|
)
|
175
184
|
root_trees.append(file_tree_structure)
|
176
185
|
|
@@ -1,7 +1,9 @@
|
|
1
1
|
import collections
|
2
|
+
import functools
|
2
3
|
import os
|
3
4
|
from typing import Dict, List, Optional
|
4
5
|
|
6
|
+
from strictdoc.helpers.path_filter import PathFilter
|
5
7
|
from strictdoc.helpers.sorting import alphanumeric_sort
|
6
8
|
|
7
9
|
|
@@ -28,6 +30,7 @@ class File(FileOrFolderEntry):
|
|
28
30
|
self.full_path = full_path
|
29
31
|
self.root_path = full_path
|
30
32
|
self.rel_path = rel_path
|
33
|
+
self.file_name = os.path.basename(self.full_path)
|
31
34
|
self.files = [self]
|
32
35
|
self.subfolder_trees = []
|
33
36
|
|
@@ -44,7 +47,7 @@ class File(FileOrFolderEntry):
|
|
44
47
|
return self.level
|
45
48
|
|
46
49
|
def get_file_name(self) -> str:
|
47
|
-
return
|
50
|
+
return self.file_name
|
48
51
|
|
49
52
|
def get_folder_path(self) -> str:
|
50
53
|
return os.path.dirname(self.full_path)
|
@@ -63,8 +66,8 @@ class Folder(FileOrFolderEntry): # pylint: disable=too-many-instance-attributes
|
|
63
66
|
self.rel_path: str = rel_path if rel_path != "." else ""
|
64
67
|
self.folder_name: str = os.path.basename(os.path.normpath(root_path))
|
65
68
|
self.level = level
|
66
|
-
self.files = []
|
67
|
-
self.subfolder_trees = []
|
69
|
+
self.files: List[File] = []
|
70
|
+
self.subfolder_trees: List[Folder] = []
|
68
71
|
self.parent_folder: Optional[Folder] = None
|
69
72
|
self.has_sdoc_content = False
|
70
73
|
|
@@ -150,12 +153,24 @@ class FileTree:
|
|
150
153
|
class FileFinder:
|
151
154
|
@staticmethod
|
152
155
|
def find_files_with_extensions(
|
153
|
-
*,
|
156
|
+
*,
|
157
|
+
root_path: str,
|
158
|
+
ignored_dirs: List[str],
|
159
|
+
extensions: List[str],
|
160
|
+
include_paths: List[str],
|
161
|
+
exclude_paths: List[str],
|
154
162
|
):
|
155
163
|
assert os.path.isdir(root_path)
|
156
164
|
assert os.path.isabs(root_path)
|
157
165
|
assert isinstance(extensions, list), extensions
|
158
166
|
|
167
|
+
extensions_tuple = tuple(extensions)
|
168
|
+
path_filter_includes = PathFilter(
|
169
|
+
include_paths, positive_or_negative=True
|
170
|
+
)
|
171
|
+
path_filter_excludes = PathFilter(
|
172
|
+
exclude_paths, positive_or_negative=False
|
173
|
+
)
|
159
174
|
root_level: int = root_path.count(os.sep)
|
160
175
|
|
161
176
|
root_folder: Folder = Folder(root_path, ".", 0)
|
@@ -169,16 +184,12 @@ class FileFinder:
|
|
169
184
|
dirs[:] = [
|
170
185
|
d
|
171
186
|
for d in dirs
|
172
|
-
if (
|
173
|
-
not d.startswith(".")
|
174
|
-
and not d.startswith("_")
|
175
|
-
and "tests" not in d
|
176
|
-
and "integration" not in d
|
177
|
-
)
|
187
|
+
if (not d.startswith(".") and not d.startswith("_"))
|
178
188
|
]
|
179
189
|
dirs.sort(key=alphanumeric_sort)
|
180
190
|
|
181
191
|
rel_path = os.path.relpath(current_root_path, start=root_path)
|
192
|
+
rel_path = rel_path if rel_path != "." else ""
|
182
193
|
|
183
194
|
current_root_path_level: int = (
|
184
195
|
current_root_path.count(os.sep) - root_level
|
@@ -189,18 +200,33 @@ class FileFinder:
|
|
189
200
|
Folder(current_root_path, rel_path, current_root_path_level),
|
190
201
|
)
|
191
202
|
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
203
|
+
for file in files:
|
204
|
+
if not file.endswith(extensions_tuple):
|
205
|
+
continue
|
206
|
+
full_file_path = os.path.join(current_root_path, file)
|
207
|
+
rel_file_path = os.path.join(rel_path, file)
|
208
|
+
|
209
|
+
if path_filter_excludes.match(rel_file_path):
|
210
|
+
continue
|
211
|
+
|
212
|
+
if path_filter_includes.match(rel_file_path):
|
213
|
+
current_tree.files.append(
|
214
|
+
File(
|
215
|
+
current_tree.level + 1,
|
216
|
+
full_file_path,
|
217
|
+
rel_file_path,
|
218
|
+
)
|
219
|
+
)
|
220
|
+
|
221
|
+
def file_path_sort_key(lhs: File, rhs: File):
|
222
|
+
return (rhs.file_name < lhs.file_name) - (
|
223
|
+
lhs.file_name < rhs.file_name
|
224
|
+
)
|
225
|
+
|
226
|
+
sort_key = functools.cmp_to_key(file_path_sort_key)
|
227
|
+
current_tree.files.sort(key=sort_key)
|
228
|
+
|
229
|
+
if len(current_tree.files) > 0:
|
204
230
|
current_tree.has_sdoc_content = True
|
205
231
|
|
206
232
|
if current_root_path == root_path:
|
@@ -5,6 +5,7 @@ from typing import List
|
|
5
5
|
|
6
6
|
from strictdoc.cli.cli_arg_parser import ExportCommandConfig
|
7
7
|
from strictdoc.core.file_tree import File, FileFinder
|
8
|
+
from strictdoc.core.project_config import ProjectConfig
|
8
9
|
from strictdoc.core.source_tree import SourceTree
|
9
10
|
from strictdoc.helpers.auto_described import auto_described
|
10
11
|
|
@@ -90,7 +91,10 @@ class SourceFile: # pylint: disable=too-many-instance-attributes
|
|
90
91
|
|
91
92
|
class SourceFilesFinder:
|
92
93
|
@staticmethod
|
93
|
-
def find_source_files(
|
94
|
+
def find_source_files(
|
95
|
+
config: ExportCommandConfig,
|
96
|
+
project_config: ProjectConfig,
|
97
|
+
) -> SourceTree:
|
94
98
|
map_file_to_source = {}
|
95
99
|
found_source_files: List[SourceFile] = []
|
96
100
|
|
@@ -107,6 +111,8 @@ class SourceFilesFinder:
|
|
107
111
|
root_path=doctree_root_abs_path,
|
108
112
|
ignored_dirs=[config.output_dir],
|
109
113
|
extensions=SourceFileType.all(),
|
114
|
+
include_paths=project_config.include_source_paths,
|
115
|
+
exclude_paths=project_config.exclude_source_paths,
|
110
116
|
)
|
111
117
|
root_level = doctree_root_abs_path.count(os.sep)
|
112
118
|
|
@@ -6,6 +6,7 @@ from typing import List
|
|
6
6
|
import toml
|
7
7
|
|
8
8
|
from strictdoc.helpers.auto_described import auto_described
|
9
|
+
from strictdoc.helpers.path_filter import validate_mask
|
9
10
|
|
10
11
|
|
11
12
|
class ProjectFeature(str, Enum):
|
@@ -28,7 +29,7 @@ class ProjectFeature(str, Enum):
|
|
28
29
|
|
29
30
|
|
30
31
|
@auto_described
|
31
|
-
class ProjectConfig:
|
32
|
+
class ProjectConfig: # pylint: disable=too-many-instance-attributes
|
32
33
|
DEFAULT_PROJECT_TITLE = "Untitled Project"
|
33
34
|
DEFAULT_DIR_FOR_SDOC_ASSETS = "_static"
|
34
35
|
DEFAULT_FEATURES: List[str] = [
|
@@ -46,12 +47,20 @@ class ProjectConfig:
|
|
46
47
|
project_features: List[str],
|
47
48
|
server_host: str,
|
48
49
|
server_port: int,
|
50
|
+
include_doc_paths: List[str],
|
51
|
+
exclude_doc_paths: List[str],
|
52
|
+
include_source_paths: List[str],
|
53
|
+
exclude_source_paths: List[str],
|
49
54
|
):
|
50
55
|
self.project_title: str = project_title
|
51
56
|
self.dir_for_sdoc_assets: str = dir_for_sdoc_assets
|
52
57
|
self.project_features: List[str] = project_features
|
53
58
|
self.server_host: str = server_host
|
54
59
|
self.server_port: int = server_port
|
60
|
+
self.include_doc_paths: List[str] = include_doc_paths
|
61
|
+
self.exclude_doc_paths: List[str] = exclude_doc_paths
|
62
|
+
self.include_source_paths: List[str] = include_source_paths
|
63
|
+
self.exclude_source_paths: List[str] = exclude_source_paths
|
55
64
|
|
56
65
|
@staticmethod
|
57
66
|
def default_config():
|
@@ -61,6 +70,10 @@ class ProjectConfig:
|
|
61
70
|
project_features=ProjectConfig.DEFAULT_FEATURES,
|
62
71
|
server_host=ProjectConfig.DEFAULT_SERVER_HOST,
|
63
72
|
server_port=ProjectConfig.DEFAULT_SERVER_PORT,
|
73
|
+
include_doc_paths=[],
|
74
|
+
exclude_doc_paths=[],
|
75
|
+
include_source_paths=[],
|
76
|
+
exclude_source_paths=[],
|
64
77
|
)
|
65
78
|
|
66
79
|
def is_feature_activated(self, feature: ProjectFeature):
|
@@ -124,6 +137,10 @@ class ProjectConfigLoader:
|
|
124
137
|
project_features = ProjectConfig.DEFAULT_FEATURES
|
125
138
|
server_host = ProjectConfig.DEFAULT_SERVER_HOST
|
126
139
|
server_port = ProjectConfig.DEFAULT_SERVER_PORT
|
140
|
+
include_doc_paths = []
|
141
|
+
exclude_doc_paths = []
|
142
|
+
include_source_paths = []
|
143
|
+
exclude_source_paths = []
|
127
144
|
|
128
145
|
if "project" in config_dict:
|
129
146
|
project_content = config_dict["project"]
|
@@ -147,6 +164,62 @@ class ProjectConfigLoader:
|
|
147
164
|
)
|
148
165
|
sys.exit(1)
|
149
166
|
|
167
|
+
include_doc_paths = project_content.get(
|
168
|
+
"include_doc_paths", include_doc_paths
|
169
|
+
)
|
170
|
+
assert isinstance(include_doc_paths, list)
|
171
|
+
for include_doc_path in include_doc_paths:
|
172
|
+
try:
|
173
|
+
validate_mask(include_doc_path)
|
174
|
+
except SyntaxError as exception:
|
175
|
+
print( # noqa: T201
|
176
|
+
f"error: strictdoc.toml: 'include_doc_paths': "
|
177
|
+
f"{exception} Provided string: '{include_doc_path}'."
|
178
|
+
)
|
179
|
+
sys.exit(1)
|
180
|
+
|
181
|
+
exclude_doc_paths = project_content.get(
|
182
|
+
"exclude_doc_paths", exclude_doc_paths
|
183
|
+
)
|
184
|
+
assert isinstance(exclude_doc_paths, list)
|
185
|
+
for exclude_doc_path in exclude_doc_paths:
|
186
|
+
try:
|
187
|
+
validate_mask(exclude_doc_path)
|
188
|
+
except SyntaxError as exception:
|
189
|
+
print( # noqa: T201
|
190
|
+
f"error: strictdoc.toml: 'exclude_doc_paths': "
|
191
|
+
f"{exception} Provided string: '{exclude_doc_path}'."
|
192
|
+
)
|
193
|
+
sys.exit(1)
|
194
|
+
|
195
|
+
include_source_paths = project_content.get(
|
196
|
+
"include_source_paths", include_source_paths
|
197
|
+
)
|
198
|
+
assert isinstance(include_source_paths, list)
|
199
|
+
for include_source_path in include_source_paths:
|
200
|
+
try:
|
201
|
+
validate_mask(include_source_path)
|
202
|
+
except SyntaxError as exception:
|
203
|
+
print( # noqa: T201
|
204
|
+
f"error: strictdoc.toml: 'include_source_paths': "
|
205
|
+
f"{exception} Provided string: '{include_source_path}'."
|
206
|
+
)
|
207
|
+
sys.exit(1)
|
208
|
+
|
209
|
+
exclude_source_paths = project_content.get(
|
210
|
+
"exclude_source_paths", exclude_source_paths
|
211
|
+
)
|
212
|
+
assert isinstance(exclude_source_paths, list)
|
213
|
+
for exclude_source_path in exclude_source_paths:
|
214
|
+
try:
|
215
|
+
validate_mask(exclude_source_path)
|
216
|
+
except SyntaxError as exception:
|
217
|
+
print( # noqa: T201
|
218
|
+
f"error: strictdoc.toml: 'exclude_source_paths': "
|
219
|
+
f"{exception} Provided string: '{exclude_source_path}'."
|
220
|
+
)
|
221
|
+
sys.exit(1)
|
222
|
+
|
150
223
|
if "server" in config_dict:
|
151
224
|
# FIXME: Introduce at least a basic validation for the host/port.
|
152
225
|
server_content = config_dict["server"]
|
@@ -162,4 +235,8 @@ class ProjectConfigLoader:
|
|
162
235
|
project_features=project_features,
|
163
236
|
server_host=server_host,
|
164
237
|
server_port=server_port,
|
238
|
+
include_doc_paths=include_doc_paths,
|
239
|
+
exclude_doc_paths=exclude_doc_paths,
|
240
|
+
include_source_paths=include_source_paths,
|
241
|
+
exclude_source_paths=exclude_source_paths,
|
165
242
|
)
|
@@ -65,7 +65,7 @@ class TraceabilityIndexBuilder:
|
|
65
65
|
)
|
66
66
|
|
67
67
|
document_tree, asset_dirs = DocumentFinder.find_sdoc_content(
|
68
|
-
config, parallelizer
|
68
|
+
config, project_config=project_config, parallelizer=parallelizer
|
69
69
|
)
|
70
70
|
|
71
71
|
# TODO: This is rather messy but it is better than it used to be.
|
@@ -135,7 +135,7 @@ class TraceabilityIndexBuilder:
|
|
135
135
|
or config.experimental_enable_file_traceability
|
136
136
|
):
|
137
137
|
source_tree: SourceTree = SourceFilesFinder.find_source_files(
|
138
|
-
config
|
138
|
+
config, project_config=project_config
|
139
139
|
)
|
140
140
|
source_files = source_tree.source_files
|
141
141
|
source_file: SourceFile
|
@@ -233,8 +233,8 @@ class TraceabilityIndexBuilder:
|
|
233
233
|
"error: DocumentIndex: "
|
234
234
|
"two nodes with the same UID "
|
235
235
|
"exist in two different documents: "
|
236
|
-
f'{node.reserved_uid} in "{
|
237
|
-
f'"{
|
236
|
+
f'{node.reserved_uid} in "{other_req_doc.title}" '
|
237
|
+
f'and "{document.title}".'
|
238
238
|
)
|
239
239
|
sys.exit(1)
|
240
240
|
d_02_requirements_map[
|
@@ -0,0 +1,76 @@
|
|
1
|
+
import re
|
2
|
+
from typing import List
|
3
|
+
|
4
|
+
REGEX_NAME_PART = r"[A-Za-z0-9-_\.]+"
|
5
|
+
REGEX_FILENAME = rf"{REGEX_NAME_PART}"
|
6
|
+
REGEX_FOLDER = rf"{REGEX_NAME_PART}"
|
7
|
+
|
8
|
+
REGEX_WILDCARD = REGEX_FILENAME
|
9
|
+
# FIXME: This does the job but most probably could be simplified.
|
10
|
+
REGEX_DOUBLE_WILDCARD = (
|
11
|
+
rf"(\\|\/)?({REGEX_NAME_PART})?((\\|\/){REGEX_NAME_PART})*(\\|\/)?"
|
12
|
+
)
|
13
|
+
|
14
|
+
REGEX_MASK_VALIDATION = rf"[^(\\|\/)]{REGEX_DOUBLE_WILDCARD}"
|
15
|
+
|
16
|
+
MOST_COMMON_CHARACTERS = ("[", "]", "(", ")", "{", "}", "?", "+", "!")
|
17
|
+
|
18
|
+
|
19
|
+
def validate_mask(mask: str):
|
20
|
+
if mask == "":
|
21
|
+
raise SyntaxError("Path mask must not be empty.")
|
22
|
+
|
23
|
+
if not mask[0].isalnum() and mask[0] != "*":
|
24
|
+
raise SyntaxError(
|
25
|
+
"Path mask must start with an alphanumeric character or "
|
26
|
+
"a wildcard symbol '*'."
|
27
|
+
)
|
28
|
+
|
29
|
+
if "//" in mask or "\\\\" in mask:
|
30
|
+
raise SyntaxError("Path mask must not contain double slashes.")
|
31
|
+
|
32
|
+
if "***" in mask:
|
33
|
+
raise SyntaxError("Invalid wildcard: '***'.")
|
34
|
+
|
35
|
+
for regex_symbol in MOST_COMMON_CHARACTERS:
|
36
|
+
if regex_symbol in mask:
|
37
|
+
raise SyntaxError(
|
38
|
+
f"Path mask must not contain any of the special characters: "
|
39
|
+
f"{MOST_COMMON_CHARACTERS}."
|
40
|
+
)
|
41
|
+
|
42
|
+
|
43
|
+
def compile_regex_mask(path_mask: str) -> str:
|
44
|
+
regex_mask = path_mask
|
45
|
+
regex_mask = regex_mask.replace(".", "\\.")
|
46
|
+
regex_mask = regex_mask.replace("**", "XXXX")
|
47
|
+
regex_mask = regex_mask.replace("*", REGEX_WILDCARD)
|
48
|
+
regex_mask = regex_mask.replace("XXXX", REGEX_DOUBLE_WILDCARD)
|
49
|
+
# Support files like "file1.py" and "./file1.py"
|
50
|
+
regex_mask = "^" + "(\\.\\/)?" + regex_mask + "$" # noqa: ISC003
|
51
|
+
return regex_mask
|
52
|
+
|
53
|
+
|
54
|
+
class PathFilter:
|
55
|
+
def __init__(self, filtered_paths: List[str], positive_or_negative: bool):
|
56
|
+
self.filtered_paths: List[str] = filtered_paths
|
57
|
+
self.compiled_regex_masks: List[str] = []
|
58
|
+
for filtered_path in filtered_paths:
|
59
|
+
validate_mask(filtered_path)
|
60
|
+
self.compiled_regex_masks.append(compile_regex_mask(filtered_path))
|
61
|
+
self.positive_or_negative: bool = positive_or_negative
|
62
|
+
|
63
|
+
def match(self, found_path: str) -> bool:
|
64
|
+
# If this is an empty positive filter, we want to match everything
|
65
|
+
# positively. If this is an empty negative filter, we want to match
|
66
|
+
# everything negatively.
|
67
|
+
if len(self.filtered_paths) == 0:
|
68
|
+
return self.positive_or_negative
|
69
|
+
|
70
|
+
portable_found_path = found_path.replace("\\", "/")
|
71
|
+
for regex_mask in self.compiled_regex_masks:
|
72
|
+
regex_match = re.match(regex_mask, portable_found_path)
|
73
|
+
if regex_match is not None:
|
74
|
+
return True
|
75
|
+
|
76
|
+
return False
|
@@ -0,0 +1,24 @@
|
|
1
|
+
[project]
|
2
|
+
title = "StrictDoc Documentation"
|
3
|
+
html_assets_strictdoc_dir = "assets"
|
4
|
+
|
5
|
+
features = [
|
6
|
+
"TABLE_SCREEN",
|
7
|
+
"TRACEABILITY_SCREEN",
|
8
|
+
"DEEP_TRACEABILITY_SCREEN",
|
9
|
+
# "REQUIREMENT_TO_SOURCE_TRACEABILITY"
|
10
|
+
]
|
11
|
+
|
12
|
+
include_doc_paths = [
|
13
|
+
"docs/**"
|
14
|
+
]
|
15
|
+
|
16
|
+
exclude_doc_paths = [
|
17
|
+
"tests/**"
|
18
|
+
]
|
19
|
+
|
20
|
+
include_source_paths = [
|
21
|
+
"strictdoc/**"
|
22
|
+
]
|
23
|
+
|
24
|
+
exclude_source_paths = []
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/excel/import_/excel_to_sdoc_converter.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/reqif/export/sdoc_to_reqif_converter.py
RENAMED
File without changes
|
File without changes
|
{strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/reqif/import_/reqif_to_sdoc_converter.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/errors/document_tree_error.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{strictdoc-0.0.42a2 → strictdoc-0.0.42a5}/strictdoc/backend/sdoc/models/fragment_from_file.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|