strictdoc 0.0.44a7__tar.gz → 0.0.44a9__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.44a7 → strictdoc-0.0.44a9}/PKG-INFO +1 -1
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/__init__.py +1 -1
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/models/document_grammar.py +3 -3
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/validations/requirement.py +3 -3
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/cli/cli_arg_parser.py +85 -5
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/cli/command_parser_builder.py +16 -5
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/cli/main.py +20 -3
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/project_config.py +4 -4
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/form_objects/document_grammar_form_object.py +26 -16
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/server/main.py +2 -1
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/server/routers/main_router.py +127 -42
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/.gitignore +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/CHANGELOG.md +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/CONTRIBUTING.md +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/Dockerfile +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/LICENSE +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/NOTICE +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/README.md +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/drafts/requirements/10_concept/10_Concept.sdoc +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/drafts/requirements/10_concept/12_Zephyr.sdoc +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/drafts/requirements/20_high_level/20_HLR.sdoc +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/drafts/requirements/20_high_level/21_DO178.sdoc +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/drafts/requirements/30_low_level/30_SLR.sdoc +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/drafts/requirements/30_low_level/32_backlog.sdoc +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/drafts/requirements/strictdoc.toml +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/drafts/strictdoc_low_level_requirements.sdoc_.sdoc +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/favicon.ico +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/mypy.ini +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/pyproject.toml +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/requirements.check.txt +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/ruff.toml +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/excel/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/excel/excel_import.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/excel/export/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/excel/export/excel_generator.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/excel/import_/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/excel/import_/excel_to_sdoc_converter.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/reqif/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/reqif/p01_sdoc/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/reqif/p01_sdoc/reqif_to_sdoc_converter.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/reqif/p11_polarion/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/reqif/p11_polarion/reqif_to_sdoc_converter.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/reqif/reqif_export.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/reqif/reqif_import.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/reqif/sdoc_reqif_fields.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/document_reference.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/error_handling.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/errors/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/errors/document_tree_error.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/free_text_reader.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/grammar/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/grammar/grammar.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/grammar/grammar_builder.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/grammar/type_system.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/include_reader.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/models/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/models/anchor.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/models/constants.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/models/document.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/models/document_config.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/models/fragment.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/models/fragment_from_file.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/models/free_text.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/models/inline_link.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/models/node.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/models/object_factory.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/models/reference.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/models/requirement.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/models/section.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/models/type_system.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/processor.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/reader.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/validations/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc/writer.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc_source_code/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc_source_code/grammar.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc_source_code/models/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc_source_code/models/range_pragma.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc_source_code/models/source_file_info.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/backend/sdoc_source_code/reader.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/cli/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/cli/argument_int_range.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/commands/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/commands/about_command.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/commands/dump_grammar_command.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/commands/manage_autouid_command.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/commands/version_command.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/actions/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/actions/export_action.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/actions/import_action.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/actions/passthrough_action.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/analyzers/document_stats.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/analyzers/document_uid_analyzer.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/commands/constants.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/commands/delete_section.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/commands/section.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/commands/update_document_config.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/commands/update_free_text.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/commands/validation_error.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/document_finder.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/document_iterator.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/document_meta.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/document_tree.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/document_tree_iterator.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/environment.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/file_traceability_index.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/file_tree.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/finders/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/finders/source_files_finder.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/graph/validations.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/graph_database.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/level_counter.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/source_tree.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/traceability_index.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/traceability_index_builder.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/core/tree_cycle_detector.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/dot/document_dot_generator.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/dot/dot_templates.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/dot/templates/profile1/document.dot +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/dot/templates/profile1/folder.dot +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/dot/templates/profile1/legend.dot +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/dot/templates/profile1/requirement.dot +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/dot/templates/profile1/section.dot +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/dot/templates/profile1/top_level.dot +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/dot/templates/profile2/document.dot +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/dot/templates/profile2/folder.dot +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/dot/templates/profile2/requirement.dot +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/dot/templates/profile2/section.dot +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/dot/templates/profile2/top_level.dot +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/base.css +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/content.css +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/controllers/anchor_controller.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/controllers/collapsible_list_controller.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/controllers/deletable_field_controller.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/controllers/draggable_list_controller.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/controllers/dropdown_menu_controller.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/controllers/editable_field_controller.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/controllers/modal_controller.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/controllers/movable_field_controller.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/controllers/scroll_into_view_controller.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/element.css +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/favicon.ico +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/form.css +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/html2pdf/bundle.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/layout.css +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/node.css +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/pan_with_space.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/requirement-tree.css +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/requirement.css +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/requirement__temporary.css +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/requirements-coverage.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/resizable_bar.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/source-code-coverage.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/source.css +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/stimulus.min.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/tree.css +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/turbo.min.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static/viewtype_menu.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/LICENSE-MATHJAX +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/tex.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mathjax/tex-mml-chtml.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/_static_extra/mermaid/mermaid.min.js +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/document_type.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/form_objects/document_config_form_object.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/form_objects/requirement_form_object.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/form_objects/section_form_object.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/generators/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/generators/document.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/generators/document_deep_trace.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/generators/document_pdf.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/generators/document_table.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/generators/document_trace.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/generators/document_tree.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/generators/project_statistics.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/generators/requirements_coverage.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/generators/source_file_coverage.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/generators/source_file_view_generator.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/html_generator.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/html_templates.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/renderers/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/renderers/html_fragment_writer.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/renderers/link_renderer.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/renderers/markup_renderer.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/renderers/text_to_html_writer.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg__separator.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_add.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_anchor.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_back.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_book.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_close.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_code.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_delete.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_document.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_edit.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_expand.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_folder.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_folder_sm.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_gear.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_index.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_list.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_maximize.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_minimize.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_minusminus.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_move_down.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_move_up.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_plusplus.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_project.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_requirement.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_source.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_stat.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_toc.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_res/svg_ico16_tree.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_shared/nav.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_shared/requirement_block/files_tree.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_shared/requirement_block/uid_and_title.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_shared/requirement_tree_left.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_shared/requirement_tree_right.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/_shared/tags.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/deep_trace/show_full_requirement/stream_show_full_requirement.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/_shared/stream_refresh_document.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/_shared/stream_updated_toc.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/add_requirement_comment/stream_add_requirement_comment.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/add_requirement_parent_link/stream_add_requirement_parent_link.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/create_requirement/stream_cancel_new_requirement.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/create_requirement/stream_created_requirement.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/create_requirement/stream_new_requirement.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/create_section/stream_cancel_new_section.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/create_section/stream_created_section.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/create_section/stream_new_section.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_confirm_delete_requirement.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_delete_requirement.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/delete_section/stream_confirm_delete_section.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/delete_section/stream_delete_section.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_cancel_edit_document_config.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_edit_document_config.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_save_document_config.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/edit_document_grammar/stream_add_grammar_field.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/edit_document_grammar/stream_edit_document_grammar.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/edit_document_grammar/stream_save_document_grammar.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_edit_requirement.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_update_requirement.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/edit_section/stream_edit_section.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/edit_section/stream_updated_section.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/document/move_node/stream_update_document_content.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_form_import_reqif_document.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_refresh_with_imported_reqif_document.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/project_index/stream_create_document.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/actions/project_index/stream_new_document.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/base.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/abstract/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/anchor/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/button/cancel.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/button/confirm.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/button/delete.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/button/submit.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/confirm/_usage_example.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/confirm/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/form/field/file/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/form/field/text/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/header/_usage_example.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/header/header_pagetype.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/header/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/modal/_usage_example.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/modal/form.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/modal/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/node/card.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/node/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/node/node_controls/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/node/root.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/requirement/card.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/requirement/card_extends_card.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/requirement/comments/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/requirement/files/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/requirement/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/requirement/index_extends_node.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/requirement/links/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/requirement/meta/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/requirement/multiline/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/requirement/pdf.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/requirement/rationale/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/requirement/statement/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/requirement/tiny.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/requirement/tiny_extends_card.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/requirement/title/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/requirement/title/pdf.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/requirement/uid/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/resizable_bar/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/section/card.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/section/card_extends_card.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/section/h/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/section/h/pdf.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/section/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/section/index_extends_node.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/section/pdf.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/section/text/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/section/tiny.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/section/tiny_extends_card.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/section/title/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/components/section/uid/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/rst/anchor.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/_shared/frame_header_document_title.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/_shared/frame_toc.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/_shared/project_tree.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_project_tree.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_toc.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/_shared/viewtype_menu.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/document/actions.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/document/frame_document_config.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/document/frame_document_config_edit.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/document/frame_document_grammar_edit.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/document/frame_document_grammar_edit_custom_field.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/document/frame_requirement_edit.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/document/frame_requirement_edit_field_comment.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/document/frame_requirement_edit_field_parent_link.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/document/frame_section_edit.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/document/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/document/main.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/pdf/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/pdf/main.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/table/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/table/main.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/traceability/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/traceability/main.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/traceability_deep/frame_show_full_requirement.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/traceability_deep/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/document/traceability_deep/main.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/project_index/actions.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/project_index/frame_form_import_reqif.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/project_index/frame_form_new_document.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/project_index/frame_project_tree.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/project_index/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/project_index/main.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/project_statistics/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/project_statistics/main.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/requirements_coverage/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/requirements_coverage/main.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/requirements_coverage/project_tree_flat_anchor_list.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/requirements_coverage/requirement.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/requirements_coverage/resizable_bar_with_project_tree.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/source_file_coverage/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/source_file_coverage/main.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/source_file_view/aside.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/source_file_view/header__source_file_name.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/source_file_view/index.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/source_file_view/main.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/screens/source_file_view/requirement.jinja +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/templates/websocket.jinja.html +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/tools/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html/tools/html_embedded.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/html2pdf/html2pdf.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/rst/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/rst/directives/raw_html_role.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/rst/directives/wildcard_enhanced_image.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/rst/document_rst_generator.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/rst/rst_templates.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/rst/rst_to_html_fragment_writer.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/rst/templates/requirement.jinja.rst +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/export/rst/writer.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/helpers/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/helpers/auto_described.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/helpers/cast.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/helpers/exception.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/helpers/file_modification_time.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/helpers/file_system.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/helpers/git_client.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/helpers/math.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/helpers/mid.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/helpers/ordered_set.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/helpers/parallelizer.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/helpers/path_filter.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/helpers/pickle.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/helpers/rst.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/helpers/sorting.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/helpers/string.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/helpers/textx.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/helpers/timing.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/server/__init__.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/server/app.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/server/config.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/server/error_object.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc/server/server.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/strictdoc.toml +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/tasks.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/tasks_wine.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/tools/confluence_html_table_import.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/tools/link_health.py +0 -0
- {strictdoc-0.0.44a7 → strictdoc-0.0.44a9}/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.44a9
|
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/
|
@@ -54,17 +54,17 @@ class DocumentGrammar:
|
|
54
54
|
|
55
55
|
registered_elements: Set[str] = set()
|
56
56
|
elements_by_type: Dict[str, GrammarElement] = {}
|
57
|
-
fields_by_type: Dict[str,
|
57
|
+
fields_by_type: Dict[str, List[str]] = defaultdict(list)
|
58
58
|
|
59
59
|
for element in elements:
|
60
60
|
registered_elements.add(element.tag)
|
61
61
|
elements_by_type[element.tag] = element
|
62
62
|
for element_field in element.fields:
|
63
|
-
fields_by_type[element.tag].
|
63
|
+
fields_by_type[element.tag].append(element_field.title)
|
64
64
|
|
65
65
|
self.registered_elements: Set[str] = registered_elements
|
66
66
|
self.elements_by_type: Dict[str, GrammarElement] = elements_by_type
|
67
|
-
self.fields_order_by_type: Dict[str,
|
67
|
+
self.fields_order_by_type: Dict[str, List[str]] = fields_by_type
|
68
68
|
|
69
69
|
self.is_default = False
|
70
70
|
|
@@ -33,9 +33,9 @@ def multi_choice_regex_match(value):
|
|
33
33
|
def validate_requirement(
|
34
34
|
requirement: Requirement, document_grammar: DocumentGrammar
|
35
35
|
):
|
36
|
-
registered_fields: Set[str] =
|
37
|
-
requirement.requirement_type
|
38
|
-
|
36
|
+
registered_fields: Set[str] = set(
|
37
|
+
document_grammar.fields_order_by_type[requirement.requirement_type]
|
38
|
+
)
|
39
39
|
for field_name in requirement.ordered_fields_lookup:
|
40
40
|
if field_name not in registered_fields:
|
41
41
|
raise StrictDocSemanticError.unregistered_field(
|
@@ -5,6 +5,10 @@ from strictdoc.cli.command_parser_builder import CommandParserBuilder
|
|
5
5
|
from strictdoc.helpers.auto_described import auto_described
|
6
6
|
|
7
7
|
|
8
|
+
class CLIValidationError(Exception):
|
9
|
+
pass
|
10
|
+
|
11
|
+
|
8
12
|
class ImportReqIFCommandConfig:
|
9
13
|
def __init__(self, input_path: str, output_path: str, profile):
|
10
14
|
self.input_path: str = input_path
|
@@ -13,8 +17,29 @@ class ImportReqIFCommandConfig:
|
|
13
17
|
|
14
18
|
|
15
19
|
class ManageAutoUIDCommandConfig:
|
16
|
-
def __init__(self, *, input_path: str):
|
20
|
+
def __init__(self, *, input_path: str, config_path: Optional[str]):
|
17
21
|
self.input_path: str = input_path
|
22
|
+
self._config_path: Optional[str] = config_path
|
23
|
+
|
24
|
+
def get_path_to_config(self) -> Optional[str]:
|
25
|
+
path_to_input_dir = self.input_path
|
26
|
+
if os.path.isfile(path_to_input_dir):
|
27
|
+
path_to_input_dir = os.path.dirname(path_to_input_dir)
|
28
|
+
path_to_config = (
|
29
|
+
self._config_path
|
30
|
+
if self._config_path is not None
|
31
|
+
else path_to_input_dir
|
32
|
+
)
|
33
|
+
return path_to_config
|
34
|
+
|
35
|
+
def validate(self):
|
36
|
+
if self._config_path is not None and not os.path.exists(
|
37
|
+
self._config_path
|
38
|
+
):
|
39
|
+
raise CLIValidationError(
|
40
|
+
"Provided path to a configuration file does not exist: "
|
41
|
+
f"{self._config_path}"
|
42
|
+
)
|
18
43
|
|
19
44
|
|
20
45
|
class ImportExcelCommandConfig:
|
@@ -37,16 +62,40 @@ class ServerCommandConfig:
|
|
37
62
|
*,
|
38
63
|
input_path: str,
|
39
64
|
output_path: Optional[str],
|
65
|
+
config_path: Optional[str],
|
40
66
|
reload: bool,
|
41
67
|
port: Optional[int],
|
42
68
|
):
|
43
|
-
|
44
|
-
abs_input_path = os.path.abspath(input_path)
|
45
|
-
self.input_path: str = abs_input_path
|
69
|
+
self._input_path: str = input_path
|
46
70
|
self.output_path: Optional[str] = output_path
|
71
|
+
self._config_path: Optional[str] = config_path
|
47
72
|
self.reload: bool = reload
|
48
73
|
self.port: Optional[int] = port
|
49
74
|
|
75
|
+
def get_full_input_path(self):
|
76
|
+
return os.path.abspath(self._input_path)
|
77
|
+
|
78
|
+
def get_path_to_config(self):
|
79
|
+
return (
|
80
|
+
self._config_path
|
81
|
+
if self._config_path is not None
|
82
|
+
else self._input_path
|
83
|
+
)
|
84
|
+
|
85
|
+
def validate(self):
|
86
|
+
if not os.path.exists(self._input_path):
|
87
|
+
raise CLIValidationError(
|
88
|
+
f"Provided input path does not exist: {self._input_path}"
|
89
|
+
)
|
90
|
+
|
91
|
+
if self._config_path is not None and not os.path.exists(
|
92
|
+
self._config_path
|
93
|
+
):
|
94
|
+
raise CLIValidationError(
|
95
|
+
"Provided path to a configuration file does not exist: "
|
96
|
+
f"{self._config_path}"
|
97
|
+
)
|
98
|
+
|
50
99
|
|
51
100
|
@auto_described
|
52
101
|
class ExportCommandConfig: # pylint: disable=too-many-instance-attributes
|
@@ -54,6 +103,7 @@ class ExportCommandConfig: # pylint: disable=too-many-instance-attributes
|
|
54
103
|
self,
|
55
104
|
input_paths,
|
56
105
|
output_dir: str,
|
106
|
+
config_path: Optional[str],
|
57
107
|
project_title: Optional[str],
|
58
108
|
formats,
|
59
109
|
fields,
|
@@ -65,6 +115,7 @@ class ExportCommandConfig: # pylint: disable=too-many-instance-attributes
|
|
65
115
|
assert isinstance(input_paths, list), f"{input_paths}"
|
66
116
|
self.input_paths: List[str] = input_paths
|
67
117
|
self.output_dir: str = output_dir
|
118
|
+
self._config_path: Optional[str] = config_path
|
68
119
|
self.project_title: Optional[str] = project_title
|
69
120
|
self.formats = formats
|
70
121
|
self.fields = fields
|
@@ -76,6 +127,30 @@ class ExportCommandConfig: # pylint: disable=too-many-instance-attributes
|
|
76
127
|
)
|
77
128
|
self.output_html_root: str = os.path.join(output_dir, "html")
|
78
129
|
|
130
|
+
def get_path_to_config(self) -> Optional[str]:
|
131
|
+
path_to_input_dir = self.input_paths[0]
|
132
|
+
if os.path.isfile(path_to_input_dir):
|
133
|
+
path_to_input_dir = os.path.dirname(path_to_input_dir)
|
134
|
+
path_to_config = (
|
135
|
+
self._config_path
|
136
|
+
if self._config_path is not None
|
137
|
+
else path_to_input_dir
|
138
|
+
)
|
139
|
+
return path_to_config
|
140
|
+
|
141
|
+
def validate(self):
|
142
|
+
for input_path_ in self.input_paths:
|
143
|
+
if not os.path.exists(input_path_):
|
144
|
+
raise CLIValidationError(
|
145
|
+
f"Provided input path does not exist: {input_path_}"
|
146
|
+
)
|
147
|
+
if self._config_path is not None:
|
148
|
+
if not os.path.exists(self._config_path):
|
149
|
+
raise CLIValidationError(
|
150
|
+
"Provided path to a configuration file does not exist: "
|
151
|
+
f"{self._config_path}"
|
152
|
+
)
|
153
|
+
|
79
154
|
|
80
155
|
class DumpGrammarCommandConfig:
|
81
156
|
def __init__(self, output_file):
|
@@ -144,6 +219,7 @@ class SDocArgsParser:
|
|
144
219
|
return ExportCommandConfig(
|
145
220
|
self.args.input_paths,
|
146
221
|
output_dir,
|
222
|
+
self.args.config,
|
147
223
|
project_title,
|
148
224
|
self.args.formats,
|
149
225
|
self.args.fields,
|
@@ -159,7 +235,10 @@ class SDocArgsParser:
|
|
159
235
|
)
|
160
236
|
|
161
237
|
def get_manage_autouid_config(self) -> ManageAutoUIDCommandConfig:
|
162
|
-
return ManageAutoUIDCommandConfig(
|
238
|
+
return ManageAutoUIDCommandConfig(
|
239
|
+
input_path=self.args.input_path,
|
240
|
+
config_path=self.args.config,
|
241
|
+
)
|
163
242
|
|
164
243
|
def get_import_config_excel(self, _) -> ImportExcelCommandConfig:
|
165
244
|
return ImportExcelCommandConfig(
|
@@ -170,6 +249,7 @@ class SDocArgsParser:
|
|
170
249
|
return ServerCommandConfig(
|
171
250
|
input_path=self.args.input_path,
|
172
251
|
output_path=self.args.output_path,
|
252
|
+
config_path=self.args.config,
|
173
253
|
reload=self.args.reload,
|
174
254
|
port=self.args.port,
|
175
255
|
)
|
@@ -41,6 +41,14 @@ def _parse_fields(fields):
|
|
41
41
|
return fields_array
|
42
42
|
|
43
43
|
|
44
|
+
def add_config_argument(parser):
|
45
|
+
parser.add_argument(
|
46
|
+
"--config",
|
47
|
+
type=str,
|
48
|
+
help="Path to the StrictDoc TOML config file.",
|
49
|
+
)
|
50
|
+
|
51
|
+
|
44
52
|
class SDocArgumentParser(argparse.ArgumentParser):
|
45
53
|
def error(self, message: str):
|
46
54
|
self.print_usage(sys.stderr)
|
@@ -68,6 +76,7 @@ class CommandParserBuilder:
|
|
68
76
|
"""
|
69
77
|
),
|
70
78
|
)
|
79
|
+
|
71
80
|
command_subparsers = main_parser.add_subparsers(
|
72
81
|
title="command", dest="command"
|
73
82
|
)
|
@@ -75,9 +84,9 @@ class CommandParserBuilder:
|
|
75
84
|
|
76
85
|
self.add_about_command(command_subparsers)
|
77
86
|
self.add_export_command(command_subparsers)
|
78
|
-
self.add_import_command(command_subparsers)
|
79
87
|
self.add_server_command(command_subparsers)
|
80
88
|
self.add_manage_command(command_subparsers)
|
89
|
+
self.add_import_command(command_subparsers)
|
81
90
|
self.add_version_command(command_subparsers)
|
82
91
|
self.add_passthrough_command(command_subparsers)
|
83
92
|
self.add_dump_command(command_subparsers)
|
@@ -86,7 +95,7 @@ class CommandParserBuilder:
|
|
86
95
|
|
87
96
|
@staticmethod
|
88
97
|
def add_about_command(parent_command_parser):
|
89
|
-
|
98
|
+
parent_command_parser.add_parser(
|
90
99
|
"about",
|
91
100
|
help="About StrictDoc.",
|
92
101
|
description="About StrictDoc.",
|
@@ -158,6 +167,7 @@ class CommandParserBuilder:
|
|
158
167
|
"enables traceability between requirements and files."
|
159
168
|
),
|
160
169
|
)
|
170
|
+
add_config_argument(command_parser_export)
|
161
171
|
|
162
172
|
@staticmethod
|
163
173
|
def add_import_command(parent_command_parser):
|
@@ -255,6 +265,7 @@ class CommandParserBuilder:
|
|
255
265
|
"--no-reload", dest="reload", action="store_false"
|
256
266
|
)
|
257
267
|
command_parser_server.add_argument("--port", type=IntRange(1024, 65000))
|
268
|
+
add_config_argument(command_parser_server)
|
258
269
|
|
259
270
|
@staticmethod
|
260
271
|
def add_version_command(parent_command_parser):
|
@@ -274,7 +285,6 @@ class CommandParserBuilder:
|
|
274
285
|
command_parser_passthrough.add_argument(
|
275
286
|
"input_file", type=str, help="Path to the input SDoc file"
|
276
287
|
)
|
277
|
-
|
278
288
|
command_parser_passthrough.add_argument(
|
279
289
|
"--output-file", type=str, help="Path to the output SDoc file"
|
280
290
|
)
|
@@ -303,7 +313,7 @@ class CommandParserBuilder:
|
|
303
313
|
)
|
304
314
|
manage_command_subparsers.required = True
|
305
315
|
|
306
|
-
|
316
|
+
command_parser_auto_uid = manage_command_subparsers.add_parser(
|
307
317
|
"auto-uid",
|
308
318
|
help="Generates missing requirements UIDs automatically.",
|
309
319
|
description=(
|
@@ -315,8 +325,9 @@ class CommandParserBuilder:
|
|
315
325
|
formatter_class=formatter,
|
316
326
|
)
|
317
327
|
|
318
|
-
|
328
|
+
command_parser_auto_uid.add_argument(
|
319
329
|
"input_path",
|
320
330
|
type=str,
|
321
331
|
help="Path to the project tree.",
|
322
332
|
)
|
333
|
+
add_config_argument(command_parser_auto_uid)
|
@@ -16,6 +16,7 @@ sys.path.append(strictdoc_root_path)
|
|
16
16
|
|
17
17
|
from strictdoc import environment
|
18
18
|
from strictdoc.cli.cli_arg_parser import (
|
19
|
+
CLIValidationError,
|
19
20
|
DumpGrammarCommandConfig,
|
20
21
|
ExportCommandConfig,
|
21
22
|
ImportExcelCommandConfig,
|
@@ -61,9 +62,14 @@ def _main(parallelizer):
|
|
61
62
|
|
62
63
|
elif parser.is_export_command:
|
63
64
|
config: ExportCommandConfig = parser.get_export_config()
|
65
|
+
try:
|
66
|
+
config.validate()
|
67
|
+
except CLIValidationError as exception_:
|
68
|
+
print(f"error: {exception_.args[0]}") # noqa: T201
|
69
|
+
sys.exit(1)
|
64
70
|
project_config: ProjectConfig = (
|
65
71
|
ProjectConfigLoader.load_from_path_or_get_default(
|
66
|
-
|
72
|
+
path_to_config=config.get_path_to_config(),
|
67
73
|
environment=environment,
|
68
74
|
)
|
69
75
|
)
|
@@ -84,9 +90,14 @@ def _main(parallelizer):
|
|
84
90
|
|
85
91
|
elif parser.is_server_command:
|
86
92
|
server_config = parser.get_server_config()
|
93
|
+
try:
|
94
|
+
server_config.validate()
|
95
|
+
except CLIValidationError as exception_:
|
96
|
+
print(f"error: {exception_.args[0]}") # noqa: T201
|
97
|
+
sys.exit(1)
|
87
98
|
project_config: ProjectConfig = (
|
88
99
|
ProjectConfigLoader.load_from_path_or_get_default(
|
89
|
-
|
100
|
+
path_to_config=server_config.get_path_to_config(),
|
90
101
|
environment=environment,
|
91
102
|
)
|
92
103
|
)
|
@@ -110,12 +121,18 @@ def _main(parallelizer):
|
|
110
121
|
|
111
122
|
elif parser.is_manage_autouid_command:
|
112
123
|
config: ManageAutoUIDCommandConfig = parser.get_manage_autouid_config()
|
124
|
+
try:
|
125
|
+
config.validate()
|
126
|
+
except CLIValidationError as exception_:
|
127
|
+
print(f"error: {exception_.args[0]}") # noqa: T201
|
128
|
+
sys.exit(1)
|
113
129
|
project_config: ProjectConfig = (
|
114
130
|
ProjectConfigLoader.load_from_path_or_get_default(
|
115
|
-
|
131
|
+
path_to_config=config.get_path_to_config(),
|
116
132
|
environment=environment,
|
117
133
|
)
|
118
134
|
)
|
135
|
+
# FIXME: This must be improved.
|
119
136
|
project_config.export_input_paths = [config.input_path]
|
120
137
|
ManageAutoUIDCommand.execute(
|
121
138
|
project_config=project_config, parallelizer=parallelizer
|
@@ -215,13 +215,13 @@ class ProjectConfigLoader:
|
|
215
215
|
@staticmethod
|
216
216
|
def load_from_path_or_get_default(
|
217
217
|
*,
|
218
|
-
|
218
|
+
path_to_config: str,
|
219
219
|
environment: SDocRuntimeEnvironment,
|
220
220
|
) -> ProjectConfig:
|
221
|
-
if not os.path.exists(
|
221
|
+
if not os.path.exists(path_to_config):
|
222
222
|
return ProjectConfig.default_config(environment=environment)
|
223
|
-
|
224
|
-
|
223
|
+
if os.path.isdir(path_to_config):
|
224
|
+
path_to_config = os.path.join(path_to_config, "strictdoc.toml")
|
225
225
|
if not os.path.isfile(path_to_config):
|
226
226
|
return ProjectConfig.default_config(environment=environment)
|
227
227
|
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import re
|
2
|
-
from
|
3
|
-
from typing import Dict, List
|
2
|
+
from typing import List, Optional, Set
|
4
3
|
|
5
4
|
from starlette.datastructures import FormData
|
6
5
|
|
@@ -34,10 +33,12 @@ class GrammarFormField:
|
|
34
33
|
def __init__(
|
35
34
|
self,
|
36
35
|
field_name: str,
|
36
|
+
previous_name: Optional[str],
|
37
37
|
field_required: bool,
|
38
38
|
reserved: bool,
|
39
39
|
):
|
40
40
|
self.field_name: str = field_name
|
41
|
+
self.previous_name: Optional[str] = previous_name
|
41
42
|
self.field_required: bool = field_required
|
42
43
|
self.reserved: bool = reserved
|
43
44
|
|
@@ -46,6 +47,7 @@ class GrammarFormField:
|
|
46
47
|
reserved = is_reserved_field(grammar_field.title)
|
47
48
|
return GrammarFormField(
|
48
49
|
field_name=grammar_field.title,
|
50
|
+
previous_name=grammar_field.title,
|
49
51
|
field_required=grammar_field.required,
|
50
52
|
reserved=reserved,
|
51
53
|
)
|
@@ -72,29 +74,27 @@ class DocumentGrammarFormObject(ErrorObject):
|
|
72
74
|
def create_from_request(
|
73
75
|
*, document_mid: str, request_form_data: FormData
|
74
76
|
) -> "DocumentGrammarFormObject":
|
75
|
-
grammar_fields: Dict[str, List[str]] = defaultdict(list)
|
76
|
-
|
77
77
|
# For now, the convention is that the new fields have empty
|
78
78
|
# brackets, e.g., ('document_grammar[]', 'CUSTOM_FIELD_1').
|
79
79
|
# The existing fields are:
|
80
80
|
# ('document_grammar[RATIONALE]', 'RATIONALE') # noqa: ERA001
|
81
81
|
# This structure will be changed when not just field names, but also
|
82
82
|
# their options will be passed to this parser.
|
83
|
+
form_object_fields = []
|
84
|
+
|
83
85
|
for field_name, field_value in request_form_data.multi_items():
|
84
|
-
assert isinstance(field_value, str)
|
85
86
|
result = re.search(r"^document_grammar\[(.*)]$", field_name)
|
86
87
|
if result is not None:
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
form_object_fields.append(form_object_field)
|
88
|
+
previous_name: Optional[str] = None
|
89
|
+
if len(result.group(1)) > 0:
|
90
|
+
previous_name = result.group(1)
|
91
|
+
form_object_field = GrammarFormField(
|
92
|
+
field_name=field_value,
|
93
|
+
previous_name=previous_name,
|
94
|
+
field_required=False,
|
95
|
+
reserved=is_reserved_field(field_value),
|
96
|
+
)
|
97
|
+
form_object_fields.append(form_object_field)
|
98
98
|
|
99
99
|
form_object = DocumentGrammarFormObject(
|
100
100
|
document_mid=document_mid,
|
@@ -124,12 +124,22 @@ class DocumentGrammarFormObject(ErrorObject):
|
|
124
124
|
)
|
125
125
|
|
126
126
|
def validate(self) -> bool:
|
127
|
+
fields_so_far: Set[str] = set()
|
127
128
|
for field in self.fields:
|
128
129
|
if len(field.field_name) == 0:
|
129
130
|
self.add_error(
|
130
131
|
field.field_name,
|
131
132
|
f"Grammar field {field.field_name} must not be empty.",
|
132
133
|
)
|
134
|
+
continue
|
135
|
+
|
136
|
+
if field.field_name in fields_so_far:
|
137
|
+
self.add_error(
|
138
|
+
field.field_name,
|
139
|
+
f"Grammar field {field.field_name} is not unique.",
|
140
|
+
)
|
141
|
+
else:
|
142
|
+
fields_so_far.add(field.field_name)
|
133
143
|
return len(self.errors) == 0
|
134
144
|
|
135
145
|
def convert_to_document_grammar(self) -> DocumentGrammar:
|
@@ -35,12 +35,13 @@ if __name__ == "__main__":
|
|
35
35
|
server_command_config = ServerCommandConfig(
|
36
36
|
input_path=input_path,
|
37
37
|
output_path=output_path,
|
38
|
+
config_path=None,
|
38
39
|
reload=args.reload,
|
39
40
|
port=5111,
|
40
41
|
)
|
41
42
|
project_config: ProjectConfig = (
|
42
43
|
ProjectConfigLoader.load_from_path_or_get_default(
|
43
|
-
|
44
|
+
path_to_config=input_path, environment=environment
|
44
45
|
)
|
45
46
|
)
|
46
47
|
run_strictdoc_server(
|