strictdoc 0.0.49a1__tar.gz → 0.0.49a3__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.49a1 → strictdoc-0.0.49a3}/PKG-INFO +1 -1
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/mypy.ini +5 -1
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/requirements.check.txt +1 -1
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/__init__.py +1 -1
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/excel/import_/excel_to_sdoc_converter.py +4 -1
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/reqif/p01_sdoc/reqif_to_sdoc_converter.py +4 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/reqif/p11_polarion/reqif_to_sdoc_converter.py +4 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/error_handling.py +66 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/grammar/grammar.py +4 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/models/constants.py +12 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/models/document.py +1 -13
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/models/document_config.py +1 -1
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/models/document_grammar.py +15 -3
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/models/document_view.py +4 -1
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/models/requirement.py +19 -6
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/models/type_system.py +39 -8
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/processor.py +29 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/reader.py +8 -5
- strictdoc-0.0.49a3/strictdoc/backend/sdoc/validations/sdoc_validator.py +38 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/form_objects/document_grammar_form_object.py +1 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/requirement/comments/index.jinja +1 -1
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/requirement/rationale/index.jinja +1 -1
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/requirement/statement/index.jinja +1 -1
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/rst/templates/requirement.jinja.rst +2 -2
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/spdx/spdx_to_sdoc_converter.py +22 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/.gitignore +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/CHANGELOG.md +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/CONTRIBUTING.md +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/Dockerfile +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/LICENSE +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/NOTICE +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/README.md +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/docs_extra/DO178_requirements.sdoc +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/docs_extra/Zephyr_requirements.sdoc +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/drafts/requirements/strictdoc.toml +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/drafts/strictdoc_low_level_requirements.sdoc_.sdoc +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/pyproject.toml +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/requirements.bootstrap.txt +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/ruff.toml +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/excel/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/excel/excel_import.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/excel/export/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/excel/export/excel_generator.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/excel/import_/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/reqif/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/reqif/p01_sdoc/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/reqif/p11_polarion/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/reqif/reqif_export.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/reqif/reqif_import.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/reqif/sdoc_reqif_fields.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/document_reference.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/errors/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/errors/document_tree_error.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/free_text_reader.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/grammar/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/grammar/grammar_builder.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/grammar/type_system.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/include_reader.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/models/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/models/anchor.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/models/document_bibliography.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/models/fragment.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/models/fragment_from_file.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/models/free_text.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/models/inline_link.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/models/node.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/models/object_factory.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/models/reference.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/models/section.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/validations/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/validations/requirement.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc/writer.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc_source_code/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc_source_code/grammar.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc_source_code/models/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc_source_code/models/range_marker.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc_source_code/models/requirement_marker.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc_source_code/models/source_file_info.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/backend/sdoc_source_code/reader.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/cli/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/cli/argument_int_range.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/cli/cli_arg_parser.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/cli/command_parser_builder.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/cli/main.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/commands/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/commands/about_command.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/commands/diff_command.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/commands/dump_grammar_command.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/commands/manage_autouid_command.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/commands/version_command.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/actions/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/actions/export_action.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/actions/import_action.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/actions/passthrough_action.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/analyzers/document_stats.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/analyzers/document_uid_analyzer.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/document_finder.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/document_iterator.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/document_meta.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/document_tree.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/document_tree_iterator.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/environment.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/file_traceability_index.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/file_tree.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/finders/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/finders/source_files_finder.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/graph/abstract_bucket.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/graph/many_to_many_set.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/graph/one_to_one_dictionary.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/graph/validations.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/graph_database.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/level_counter.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/project_config.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/query_engine/grammar.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/query_engine/query_object.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/query_engine/query_reader.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/source_tree.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/traceability_index.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/traceability_index_builder.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/transforms/constants.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/transforms/create_requirement.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/transforms/delete_section.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/transforms/section.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/transforms/update_document_config.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/transforms/update_free_text.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/transforms/update_grammar.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/transforms/update_requirement.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/transforms/validation_error.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/core/tree_cycle_detector.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/dot/document_dot_generator.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/dot/dot_templates.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/dot/templates/profile1/document.dot +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/dot/templates/profile1/folder.dot +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/dot/templates/profile1/legend.dot +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/dot/templates/profile1/requirement.dot +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/dot/templates/profile1/section.dot +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/dot/templates/profile1/top_level.dot +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/dot/templates/profile2/document.dot +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/dot/templates/profile2/folder.dot +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/dot/templates/profile2/requirement.dot +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/dot/templates/profile2/section.dot +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/dot/templates/profile2/top_level.dot +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/autogen.css +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/base.css +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/content.css +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/controllers/anchor_controller.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/controllers/collapsible_list_controller.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/controllers/copy_to_clipboard_controller.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/controllers/deletable_field_controller.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/controllers/draggable_list_controller.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/controllers/dropdown_menu_controller.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/controllers/editable_field_controller.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/controllers/modal_controller.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/controllers/movable_field_controller.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/controllers/scroll_into_view_controller.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/controllers/tabs_controller.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/diff.css +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/diff.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/element.css +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/favicon.ico +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/form.css +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/html2pdf/bundle.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/layout.css +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/node.css +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/pan_with_space.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/requirement-tree.css +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/requirement.css +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/requirement__temporary.css +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/requirements-coverage.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/resizable_bar.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/source-code-coverage.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/source.css +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/stimulus.min.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/table_vew.css +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/toc_highlighting.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/traceability_matrix.css +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/tree.css +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/turbo.min.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static/viewtype_menu.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/LICENSE-MATHJAX +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/tex.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mathjax/tex-mml-chtml.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/mermaid/mermaid.min.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/_static_extra/rapidoc/rapidoc-min.js +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/document_type.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/form_objects/document_config_form_object.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/form_objects/requirement_form_object.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/form_objects/section_form_object.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/generators/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/generators/document.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/generators/document_deep_trace.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/generators/document_pdf.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/generators/document_table.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/generators/document_trace.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/generators/document_tree.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/generators/project_statistics.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/generators/source_file_coverage.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/generators/source_file_view_generator.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/generators/traceability_matrix.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/html_generator.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/html_templates.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/renderers/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/renderers/html_fragment_writer.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/renderers/link_renderer.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/renderers/markup_renderer.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/renderers/text_to_html_writer.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg__separator.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_add.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_anchor.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_back.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_book.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_close.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_code.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_copy.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_delete.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_diff.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_document.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_done.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_edit.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_expand.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_folder.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_folder_sm.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_gear.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_go_to_doc.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_index.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_list.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_maximize.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_minimize.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_minusminus.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_move_down.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_move_up.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_plusplus.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_project.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_requirement.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_reset.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_search.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_source.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_stat.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_sync.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_toc.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_res/svg_ico16_tree.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_shared/nav.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_shared/requirement_block/files_tree.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_shared/requirement_tree_left.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_shared/requirement_tree_right.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/_shared/tags.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/_shared/stream_refresh_document.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/_shared/stream_updated_toc.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/add_requirement_comment/stream_add_requirement_comment.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/add_requirement_relation/stream_add_requirement_relation.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/create_requirement/stream_cancel_new_requirement.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/create_requirement/stream_created_requirement.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/create_requirement/stream_new_requirement.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/create_section/stream_cancel_new_section.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/create_section/stream_created_section.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/create_section/stream_new_section.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_confirm_delete_requirement.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_delete_requirement.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/delete_section/stream_confirm_delete_section.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/delete_section/stream_delete_section.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_cancel_edit_document_config.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_edit_document_config.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_save_document_config.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/edit_document_grammar/stream_add_grammar_field.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/edit_document_grammar/stream_add_grammar_relation.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/edit_document_grammar/stream_edit_document_grammar.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/edit_document_grammar/stream_save_document_grammar.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_edit_requirement.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_update_requirement.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/edit_section/stream_edit_section.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/edit_section/stream_updated_section.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/document/move_node/stream_update_document_content.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_requirement.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_section.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_form_import_reqif_document.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_refresh_with_imported_reqif_document.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/project_index/stream_create_document.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/actions/project_index/stream_new_document.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/base.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/abstract/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/abstract/pdf.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/anchor/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/badge/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/button/cancel.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/button/confirm.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/button/delete.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/button/diff.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/button/search.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/button/submit.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/confirm/_usage_example.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/confirm/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/document_title/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/field/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/form/field/contenteditable/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/form/field/file/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/form/field/text/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/form/field_action_button/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/form/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/form/row/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/example.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/frame.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/stream.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/form/row/row_with_comment.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/form/row/row_with_relation.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/form/row/row_with_text_field.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/form/search.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/grammar_form/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/grammar_form/row_with_custom_field.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/grammar_form/row_with_relation.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/grammar_form/row_with_reserved_field.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/header/_usage_example.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/header/header_pagetype.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/header/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/meta/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/modal/_usage_example.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/modal/form.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/modal/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/node/card.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/node/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/node/node_controls/card.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/node/node_controls/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/node/root.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/requirement/card.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/requirement/card_extends_card.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/requirement/files/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/requirement/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/requirement/index_extends_node.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/requirement/links/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/requirement/meta/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/requirement/multiline/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/requirement/pdf.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/requirement/tiny.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/requirement/tiny_extends_card.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/requirement/title/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/requirement/title/pdf.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/requirement/uid/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/resizable_bar/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/section/card.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/section/card_extends_card.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/section/h/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/section/h/pdf.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/section/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/section/index_extends_node.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/section/pdf.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/section/text/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/section/tiny.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/section/tiny_extends_card.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/section/title/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/section/uid/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/components/table_key_value/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/rst/anchor.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/_shared/frame_header_document_title.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_requirement.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_section.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/_shared/frame_toc.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/_shared/project_tree.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_project_tree.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_toc.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/_shared/toc.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/_shared/viewtype_menu.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/document/actions.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/document/frame_document_config.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/document/frame_document_config_edit.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/document/frame_requirement_form.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/document/frame_section_form.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/document/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/document/main.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/pdf/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/pdf/main.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/pdf/template/footer.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/pdf/template/frontpage.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/pdf/template/header.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/pdf/toc.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/table/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/table/main.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/traceability/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/traceability/main.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/traceability_deep/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/document/traceability_deep/main.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/git/changelog_content.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/git/diff_content.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/git/diff_controls.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/git/fields/document_fields.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/git/fields/requirement_fields.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/git/fields/section_fields.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/git/form.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/git/frame_changelog_result.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/git/frame_diff_result.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/git/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/git/legend.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/git/main.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/git/nav_tabs.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/git/node/requirement.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/git/node/section.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/git/skeleton.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/git/sync/button.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/project_index/actions.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/project_index/frame_form_import_reqif.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/project_index/frame_form_new_document.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/project_index/frame_project_tree.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/project_index/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/project_index/main.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/project_statistics/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/project_statistics/main.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/search/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/search/legend.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/search/main.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/source_file_coverage/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/source_file_coverage/main.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/source_file_view/aside.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/source_file_view/header__source_file_name.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/source_file_view/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/source_file_view/main.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/source_file_view/requirement.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/traceability_matrix/file.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/traceability_matrix/index.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/traceability_matrix/main.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/traceability_matrix/project_tree_flat_anchor_list.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/traceability_matrix/requirement.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/screens/traceability_matrix/resizable_bar_with_project_tree.jinja +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/templates/websocket.jinja.html +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/tools/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html/tools/html_embedded.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html2pdf/html2pdf.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html2pdf/html2pdf_generator.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/html2pdf/pdf_print_driver.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/rst/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/rst/directives/raw_html_role.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/rst/directives/wildcard_enhanced_image.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/rst/document_rst_generator.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/rst/rst_templates.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/rst/rst_to_html_fragment_writer.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/rst/writer.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/spdx/spdx_generator.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/export/spdx/spdx_sdoc_container.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/git/change.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/git/change_generator.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/git/git_client.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/git/project_diff_analyzer.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/auto_described.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/cast.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/diff.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/exception.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/file_modification_time.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/file_system.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/form_data.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/git_client.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/math.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/md5.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/mid.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/ordered_set.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/parallelizer.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/path_filter.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/pickle.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/rst.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/sha256.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/shard.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/sorting.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/string.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/textx.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/helpers/timing.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/server/__init__.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/server/app.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/server/config.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/server/error_object.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/server/main.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/server/routers/main_router.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/server/routers/other_router.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc/server/server.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/strictdoc.toml +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/tasks.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/tasks_wine.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/tools/confluence_html_table_import.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/tools/link_health.py +0 -0
- {strictdoc-0.0.49a1 → strictdoc-0.0.49a3}/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.49a3
|
4
4
|
Summary: StrictDoc is open-source software for technical documentation and requirements management.
|
5
5
|
Project-URL: Changelog, https://github.com/strictdoc-project/strictdoc/blob/main/CHANGELOG.md
|
6
6
|
Project-URL: Homepage, https://strictdoc.readthedocs.io/en/stable/
|
@@ -22,8 +22,12 @@ ignore_missing_imports = True
|
|
22
22
|
ignore_missing_imports = True
|
23
23
|
|
24
24
|
# We ignore build folder but mypy still follows into the Python packages,
|
25
|
-
# in this case starlette
|
25
|
+
# in this case pydantic, starlette, selenium.
|
26
|
+
# This StackOverflow answers suggests a solution:
|
26
27
|
# https://stackoverflow.com/a/70367929/598057
|
28
|
+
[mypy-pydantic.*]
|
29
|
+
follow_imports = skip
|
30
|
+
|
27
31
|
[mypy-starlette.*]
|
28
32
|
follow_imports = skip
|
29
33
|
|
@@ -204,6 +204,7 @@ class P01_ReqIFToSDocConverter: # pylint: disable=invalid-name
|
|
204
204
|
GrammarElementFieldString(
|
205
205
|
parent=None,
|
206
206
|
title=field_name,
|
207
|
+
human_title=None,
|
207
208
|
required="False",
|
208
209
|
)
|
209
210
|
)
|
@@ -212,6 +213,7 @@ class P01_ReqIFToSDocConverter: # pylint: disable=invalid-name
|
|
212
213
|
GrammarElementFieldString(
|
213
214
|
parent=None,
|
214
215
|
title=field_name,
|
216
|
+
human_title=None,
|
215
217
|
required="False",
|
216
218
|
)
|
217
219
|
)
|
@@ -229,6 +231,7 @@ class P01_ReqIFToSDocConverter: # pylint: disable=invalid-name
|
|
229
231
|
GrammarElementFieldMultipleChoice(
|
230
232
|
parent=None,
|
231
233
|
title=field_name,
|
234
|
+
human_title=None,
|
232
235
|
options=options,
|
233
236
|
required="False",
|
234
237
|
)
|
@@ -238,6 +241,7 @@ class P01_ReqIFToSDocConverter: # pylint: disable=invalid-name
|
|
238
241
|
GrammarElementFieldSingleChoice(
|
239
242
|
parent=None,
|
240
243
|
title=field_name,
|
244
|
+
human_title=None,
|
241
245
|
options=options,
|
242
246
|
required="False",
|
243
247
|
)
|
@@ -233,6 +233,7 @@ class P11_ReqIFToSDocConverter: # pylint: disable=invalid-name
|
|
233
233
|
GrammarElementFieldString(
|
234
234
|
parent=None,
|
235
235
|
title=field_name,
|
236
|
+
human_title=None,
|
236
237
|
required="False",
|
237
238
|
)
|
238
239
|
)
|
@@ -241,6 +242,7 @@ class P11_ReqIFToSDocConverter: # pylint: disable=invalid-name
|
|
241
242
|
GrammarElementFieldString(
|
242
243
|
parent=None,
|
243
244
|
title=field_name,
|
245
|
+
human_title=None,
|
244
246
|
required="False",
|
245
247
|
)
|
246
248
|
)
|
@@ -258,6 +260,7 @@ class P11_ReqIFToSDocConverter: # pylint: disable=invalid-name
|
|
258
260
|
GrammarElementFieldMultipleChoice(
|
259
261
|
parent=None,
|
260
262
|
title=field_name,
|
263
|
+
human_title=None,
|
261
264
|
options=options,
|
262
265
|
required="False",
|
263
266
|
)
|
@@ -267,6 +270,7 @@ class P11_ReqIFToSDocConverter: # pylint: disable=invalid-name
|
|
267
270
|
GrammarElementFieldSingleChoice(
|
268
271
|
parent=None,
|
269
272
|
title=field_name,
|
273
|
+
human_title=None,
|
270
274
|
options=options,
|
271
275
|
required="False",
|
272
276
|
)
|
@@ -5,6 +5,7 @@ from strictdoc.backend.sdoc.models.document_grammar import (
|
|
5
5
|
GrammarElement,
|
6
6
|
GrammarElementField,
|
7
7
|
)
|
8
|
+
from strictdoc.backend.sdoc.models.document_view import ViewElement
|
8
9
|
from strictdoc.backend.sdoc.models.reference import Reference
|
9
10
|
from strictdoc.backend.sdoc.models.requirement import (
|
10
11
|
Requirement,
|
@@ -291,6 +292,71 @@ class StrictDocSemanticError(Exception):
|
|
291
292
|
filename=filename,
|
292
293
|
)
|
293
294
|
|
295
|
+
@staticmethod
|
296
|
+
def view_references_nonexisting_grammar_element(
|
297
|
+
view_element: ViewElement,
|
298
|
+
object_type: str,
|
299
|
+
line=None,
|
300
|
+
col=None,
|
301
|
+
filename=None,
|
302
|
+
):
|
303
|
+
return StrictDocSemanticError(
|
304
|
+
title=(
|
305
|
+
f"View element '{view_element.view_id}' references a non-existing"
|
306
|
+
f" grammar element '{object_type}'."
|
307
|
+
),
|
308
|
+
hint=(
|
309
|
+
"Make sure that each View element references an existing "
|
310
|
+
"object in the grammar or the default REQUIREMENT object."
|
311
|
+
),
|
312
|
+
example=None,
|
313
|
+
line=line,
|
314
|
+
col=col,
|
315
|
+
filename=filename,
|
316
|
+
)
|
317
|
+
|
318
|
+
@staticmethod
|
319
|
+
def view_references_nonexisting_field(
|
320
|
+
view_element: ViewElement,
|
321
|
+
object_type: str,
|
322
|
+
field_name: str,
|
323
|
+
line=None,
|
324
|
+
col=None,
|
325
|
+
filename=None,
|
326
|
+
):
|
327
|
+
return StrictDocSemanticError(
|
328
|
+
title=(
|
329
|
+
f"View element '{view_element.view_id}' references a non-existing"
|
330
|
+
f" field '{field_name}' for grammar element '{object_type}'."
|
331
|
+
),
|
332
|
+
hint=(
|
333
|
+
"Make sure that each View element references an existing "
|
334
|
+
"field in the grammar for the given grammar element."
|
335
|
+
),
|
336
|
+
example=None,
|
337
|
+
line=line,
|
338
|
+
col=col,
|
339
|
+
filename=filename,
|
340
|
+
)
|
341
|
+
|
342
|
+
@staticmethod
|
343
|
+
def default_view_doesnt_exist(
|
344
|
+
default_view: str, line=None, col=None, filename=None
|
345
|
+
):
|
346
|
+
return StrictDocSemanticError(
|
347
|
+
title=(
|
348
|
+
f"Default view '{default_view}' does not exist in the document."
|
349
|
+
),
|
350
|
+
hint=(
|
351
|
+
"Make sure that the specified default view is created in the "
|
352
|
+
"VIEWS configuration."
|
353
|
+
),
|
354
|
+
example=None,
|
355
|
+
line=line,
|
356
|
+
col=col,
|
357
|
+
filename=filename,
|
358
|
+
)
|
359
|
+
|
294
360
|
def to_print_message(self):
|
295
361
|
message = ""
|
296
362
|
message += f"error: could not parse file: {self.file_path}.\n"
|
@@ -102,12 +102,14 @@ GrammarElementField[noskipws]:
|
|
102
102
|
|
103
103
|
GrammarElementFieldString[noskipws]:
|
104
104
|
' - TITLE: ' title=FieldName '\n'
|
105
|
+
(' HUMAN_TITLE: ' human_title=SingleLineString '\n')?
|
105
106
|
' TYPE: String' '\n'
|
106
107
|
' REQUIRED: ' (required = BooleanChoice) '\n'
|
107
108
|
;
|
108
109
|
|
109
110
|
GrammarElementFieldSingleChoice[noskipws]:
|
110
111
|
' - TITLE: ' title=FieldName '\n'
|
112
|
+
(' HUMAN_TITLE: ' human_title=SingleLineString '\n')?
|
111
113
|
' TYPE: SingleChoice'
|
112
114
|
'(' ((options = ChoiceOption) (options *= ChoiceOptionXs)) ')' '\n'
|
113
115
|
' REQUIRED: ' (required = BooleanChoice) '\n'
|
@@ -115,6 +117,7 @@ GrammarElementFieldSingleChoice[noskipws]:
|
|
115
117
|
|
116
118
|
GrammarElementFieldMultipleChoice[noskipws]:
|
117
119
|
' - TITLE: ' title=FieldName '\n'
|
120
|
+
(' HUMAN_TITLE: ' human_title=SingleLineString '\n')?
|
118
121
|
' TYPE: MultipleChoice'
|
119
122
|
'(' ((options = ChoiceOption) (options *= ChoiceOptionXs)) ')' '\n'
|
120
123
|
' REQUIRED: ' (required = BooleanChoice) '\n'
|
@@ -122,6 +125,7 @@ GrammarElementFieldMultipleChoice[noskipws]:
|
|
122
125
|
|
123
126
|
GrammarElementFieldTag[noskipws]:
|
124
127
|
' - TITLE: ' title=FieldName '\n'
|
128
|
+
(' HUMAN_TITLE: ' human_title=SingleLineString '\n')?
|
125
129
|
' TYPE: Tag' '\n'
|
126
130
|
' REQUIRED: ' (required = BooleanChoice) '\n'
|
127
131
|
;
|
@@ -8,6 +8,10 @@ from strictdoc.backend.sdoc.models.document_grammar import (
|
|
8
8
|
DocumentGrammar,
|
9
9
|
GrammarElement,
|
10
10
|
)
|
11
|
+
from strictdoc.backend.sdoc.models.document_view import (
|
12
|
+
DocumentView,
|
13
|
+
ViewElement,
|
14
|
+
)
|
11
15
|
from strictdoc.backend.sdoc.models.fragment import Fragment
|
12
16
|
from strictdoc.backend.sdoc.models.fragment_from_file import FragmentFromFile
|
13
17
|
from strictdoc.backend.sdoc.models.inline_link import InlineLink
|
@@ -37,6 +41,9 @@ from strictdoc.backend.sdoc.models.type_system import (
|
|
37
41
|
GrammarElementRelationChild,
|
38
42
|
GrammarElementRelationFile,
|
39
43
|
GrammarElementRelationParent,
|
44
|
+
ViewElementField,
|
45
|
+
ViewElementHiddenTag,
|
46
|
+
ViewElementTags,
|
40
47
|
)
|
41
48
|
|
42
49
|
SECTION_MODELS = [
|
@@ -62,6 +69,7 @@ DOCUMENT_MODELS = [
|
|
62
69
|
DocumentConfig,
|
63
70
|
Document,
|
64
71
|
DocumentGrammar,
|
72
|
+
DocumentView,
|
65
73
|
DocumentBibliography,
|
66
74
|
GrammarElement,
|
67
75
|
GrammarElementFieldString,
|
@@ -73,6 +81,10 @@ DOCUMENT_MODELS = [
|
|
73
81
|
GrammarElementRelationParent,
|
74
82
|
GrammarElementRelationChild,
|
75
83
|
GrammarElementRelationFile,
|
84
|
+
ViewElement,
|
85
|
+
ViewElementField,
|
86
|
+
ViewElementTags,
|
87
|
+
ViewElementHiddenTag,
|
76
88
|
]
|
77
89
|
DOCUMENT_MODELS.extend(SECTION_MODELS)
|
78
90
|
|
@@ -92,20 +92,8 @@ class Document: # pylint: disable=too-many-instance-attributes
|
|
92
92
|
def ng_resolved_custom_level(self):
|
93
93
|
return None
|
94
94
|
|
95
|
-
@property
|
96
|
-
def requirement_prefix(self) -> str:
|
97
|
-
return (
|
98
|
-
self.config.requirement_prefix
|
99
|
-
if self.config.requirement_prefix is not None
|
100
|
-
else "REQ-"
|
101
|
-
)
|
102
|
-
|
103
95
|
def get_requirement_prefix(self) -> str:
|
104
|
-
return (
|
105
|
-
self.config.requirement_prefix
|
106
|
-
if self.config.requirement_prefix is not None
|
107
|
-
else "REQ-"
|
108
|
-
)
|
96
|
+
return self.config.get_requirement_prefix()
|
109
97
|
|
110
98
|
def enumerate_meta_field_titles(self):
|
111
99
|
# TODO: currently only enumerating a single element ([0])
|
@@ -85,7 +85,7 @@ class DocumentConfig: # pylint: disable=too-many-instance-attributes
|
|
85
85
|
self.requirement_in_toc is None or self.requirement_in_toc == "True"
|
86
86
|
)
|
87
87
|
|
88
|
-
def
|
88
|
+
def get_requirement_prefix(self) -> str:
|
89
89
|
if self.requirement_prefix is not None:
|
90
90
|
return self.requirement_prefix
|
91
91
|
return "REQ-"
|
@@ -68,7 +68,7 @@ class GrammarElement:
|
|
68
68
|
fields_map: OrderedDict = OrderedDict()
|
69
69
|
for field in fields:
|
70
70
|
fields_map[field.title] = field
|
71
|
-
self.fields_map = fields_map
|
71
|
+
self.fields_map: Dict[str, GrammarElementField] = fields_map
|
72
72
|
|
73
73
|
if "REFS" in fields_map:
|
74
74
|
field = fields_map["REFS"]
|
@@ -156,39 +156,51 @@ class DocumentGrammar:
|
|
156
156
|
# @sdoc[SDOC-SRS-132]
|
157
157
|
fields = [
|
158
158
|
GrammarElementFieldString(
|
159
|
-
parent=None,
|
159
|
+
parent=None,
|
160
|
+
title=RequirementFieldName.UID,
|
161
|
+
human_title=None,
|
162
|
+
required="False",
|
160
163
|
),
|
161
164
|
GrammarElementFieldString(
|
162
165
|
parent=None,
|
163
166
|
title=RequirementFieldName.LEVEL,
|
167
|
+
human_title=None,
|
164
168
|
required="False",
|
165
169
|
),
|
166
170
|
GrammarElementFieldString(
|
167
171
|
parent=None,
|
168
172
|
title=RequirementFieldName.STATUS,
|
173
|
+
human_title=None,
|
169
174
|
required="False",
|
170
175
|
),
|
171
176
|
GrammarElementFieldString(
|
172
|
-
parent=None,
|
177
|
+
parent=None,
|
178
|
+
title=RequirementFieldName.TAGS,
|
179
|
+
human_title=None,
|
180
|
+
required="False",
|
173
181
|
),
|
174
182
|
GrammarElementFieldString(
|
175
183
|
parent=None,
|
176
184
|
title=RequirementFieldName.TITLE,
|
185
|
+
human_title=None,
|
177
186
|
required="False",
|
178
187
|
),
|
179
188
|
GrammarElementFieldString(
|
180
189
|
parent=None,
|
181
190
|
title=RequirementFieldName.STATEMENT,
|
191
|
+
human_title=None,
|
182
192
|
required="False",
|
183
193
|
),
|
184
194
|
GrammarElementFieldString(
|
185
195
|
parent=None,
|
186
196
|
title=RequirementFieldName.RATIONALE,
|
197
|
+
human_title=None,
|
187
198
|
required="False",
|
188
199
|
),
|
189
200
|
GrammarElementFieldString(
|
190
201
|
parent=None,
|
191
202
|
title=RequirementFieldName.COMMENT,
|
203
|
+
human_title=None,
|
192
204
|
required="False",
|
193
205
|
),
|
194
206
|
GrammarElementFieldReference(
|
@@ -11,11 +11,13 @@ from strictdoc.helpers.auto_described import auto_described
|
|
11
11
|
class ViewElement:
|
12
12
|
def __init__(
|
13
13
|
self,
|
14
|
+
parent,
|
14
15
|
view_id: str,
|
15
16
|
tags: List[ViewElementTags],
|
16
17
|
hidden_tags: Optional[List[ViewElementHiddenTag]],
|
17
18
|
name: Optional[str],
|
18
19
|
):
|
20
|
+
self.parent = parent
|
19
21
|
self.view_id: str = view_id
|
20
22
|
self.tags: List[ViewElementTags] = tags
|
21
23
|
self.hidden_tags: Optional[List[ViewElementHiddenTag]] = hidden_tags
|
@@ -23,5 +25,6 @@ class ViewElement:
|
|
23
25
|
|
24
26
|
|
25
27
|
class DocumentView:
|
26
|
-
def __init__(self, views: List[ViewElement]):
|
28
|
+
def __init__(self, parent, views: List[ViewElement]):
|
29
|
+
self.parent = parent
|
27
30
|
self.views: List[ViewElement] = views
|
@@ -445,7 +445,8 @@ class Requirement(Node): # pylint: disable=too-many-instance-attributes, too-ma
|
|
445
445
|
if (not is_single_line_field) and skip_multi_lines:
|
446
446
|
continue
|
447
447
|
|
448
|
-
|
448
|
+
field_human_title = element.fields_map[field.field_name]
|
449
|
+
yield field_human_title.get_field_human_name(), meta_field_value
|
449
450
|
|
450
451
|
def get_meta_field_value_by_title(self, field_title: str) -> Optional[str]:
|
451
452
|
assert isinstance(field_title, str)
|
@@ -461,12 +462,18 @@ class Requirement(Node): # pylint: disable=too-many-instance-attributes, too-ma
|
|
461
462
|
meta_field_value = meta_field_value_or_none
|
462
463
|
return meta_field_value
|
463
464
|
|
465
|
+
def get_field_human_title(self, field_name: str) -> str:
|
466
|
+
element: GrammarElement = self.document.grammar.elements_by_type[
|
467
|
+
self.requirement_type
|
468
|
+
]
|
469
|
+
field_human_title = element.fields_map[field_name]
|
470
|
+
return field_human_title.get_field_human_name()
|
471
|
+
|
464
472
|
def get_requirement_prefix(self) -> str:
|
465
|
-
parent: Union[Section, Document] =
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
return parent.requirement_prefix
|
473
|
+
parent: Union[Section, Document] = assert_cast(
|
474
|
+
self.parent, (Section, Document, CompositeRequirement)
|
475
|
+
)
|
476
|
+
return parent.get_requirement_prefix()
|
470
477
|
|
471
478
|
def dump_fields_as_parsed(self):
|
472
479
|
return ", ".join(
|
@@ -542,6 +549,9 @@ class Requirement(Node): # pylint: disable=too-many-instance-attributes, too-ma
|
|
542
549
|
self.requirement_type
|
543
550
|
]
|
544
551
|
grammar_field_titles = list(map(lambda f: f.title, element.fields))
|
552
|
+
# FIXME: This will go away very soon when the RELATIONS become a
|
553
|
+
# separate field in SDoc REQUIREMENT's grammar.
|
554
|
+
grammar_field_titles.append("REFS")
|
545
555
|
field_index = grammar_field_titles.index(field_name)
|
546
556
|
title_field_index = grammar_field_titles.index(
|
547
557
|
RequirementFieldName.TITLE
|
@@ -625,3 +635,6 @@ class CompositeRequirement(Requirement):
|
|
625
635
|
@property
|
626
636
|
def document(self):
|
627
637
|
return self.ng_document_reference.get_document()
|
638
|
+
|
639
|
+
def get_requirement_prefix(self) -> str:
|
640
|
+
return self.parent.get_requirement_prefix()
|
@@ -172,17 +172,26 @@ class ReferenceType:
|
|
172
172
|
class GrammarElementField:
|
173
173
|
def __init__(self):
|
174
174
|
self.title: str = ""
|
175
|
+
self.human_title: Optional[str] = None
|
175
176
|
self.gef_type: str = ""
|
176
177
|
self.required: bool = False
|
177
178
|
self.mid: MID = MID.create()
|
178
179
|
|
180
|
+
def get_field_human_name(self) -> str:
|
181
|
+
if self.human_title is not None:
|
182
|
+
return self.human_title
|
183
|
+
return self.title
|
184
|
+
|
179
185
|
|
180
186
|
@auto_described
|
181
187
|
class GrammarElementFieldString(GrammarElementField):
|
182
|
-
def __init__(
|
188
|
+
def __init__(
|
189
|
+
self, parent, title: str, human_title: Optional[str], required: str
|
190
|
+
):
|
183
191
|
super().__init__()
|
184
192
|
self.parent = parent
|
185
193
|
self.title: str = title
|
194
|
+
self.human_title: Optional[str] = human_title
|
186
195
|
self.gef_type = RequirementFieldType.STRING
|
187
196
|
self.required: bool = required == "True"
|
188
197
|
self.mid: MID = MID.create()
|
@@ -190,10 +199,18 @@ class GrammarElementFieldString(GrammarElementField):
|
|
190
199
|
|
191
200
|
@auto_described
|
192
201
|
class GrammarElementFieldSingleChoice(GrammarElementField):
|
193
|
-
def __init__(
|
202
|
+
def __init__(
|
203
|
+
self,
|
204
|
+
parent,
|
205
|
+
title: str,
|
206
|
+
human_title: Optional[str],
|
207
|
+
options: List[str],
|
208
|
+
required: str,
|
209
|
+
):
|
194
210
|
super().__init__()
|
195
211
|
self.parent = parent
|
196
212
|
self.title: str = title
|
213
|
+
self.human_title: Optional[str] = human_title
|
197
214
|
self.gef_type = RequirementFieldType.SINGLE_CHOICE
|
198
215
|
self.options: List[str] = options
|
199
216
|
self.required: bool = required == "True"
|
@@ -202,10 +219,18 @@ class GrammarElementFieldSingleChoice(GrammarElementField):
|
|
202
219
|
|
203
220
|
@auto_described
|
204
221
|
class GrammarElementFieldMultipleChoice(GrammarElementField):
|
205
|
-
def __init__(
|
222
|
+
def __init__(
|
223
|
+
self,
|
224
|
+
parent,
|
225
|
+
title: str,
|
226
|
+
human_title: Optional[str],
|
227
|
+
options: List[str],
|
228
|
+
required: str,
|
229
|
+
):
|
206
230
|
super().__init__()
|
207
231
|
self.parent = parent
|
208
232
|
self.title: str = title
|
233
|
+
self.human_title: Optional[str] = human_title
|
209
234
|
self.gef_type = RequirementFieldType.MULTIPLE_CHOICE
|
210
235
|
self.options: List[str] = options
|
211
236
|
self.required: bool = required == "True"
|
@@ -214,10 +239,13 @@ class GrammarElementFieldMultipleChoice(GrammarElementField):
|
|
214
239
|
|
215
240
|
@auto_described
|
216
241
|
class GrammarElementFieldTag(GrammarElementField):
|
217
|
-
def __init__(
|
242
|
+
def __init__(
|
243
|
+
self, parent, title: str, human_title: Optional[str], required: str
|
244
|
+
):
|
218
245
|
super().__init__()
|
219
246
|
self.parent = parent
|
220
247
|
self.title: str = title
|
248
|
+
self.human_title: Optional[str] = human_title
|
221
249
|
self.gef_type = RequirementFieldType.TAG
|
222
250
|
self.required: bool = required == "True"
|
223
251
|
self.mid: MID = MID.create()
|
@@ -344,7 +372,8 @@ class GrammarElementFieldReference(GrammarElementField):
|
|
344
372
|
|
345
373
|
@auto_described
|
346
374
|
class ViewElementField:
|
347
|
-
def __init__(self, name: str, placement: Optional[str]):
|
375
|
+
def __init__(self, parent, name: str, placement: Optional[str]):
|
376
|
+
self.parent = parent
|
348
377
|
self.name: str = name
|
349
378
|
self.placement: Optional[str] = placement
|
350
379
|
|
@@ -352,13 +381,15 @@ class ViewElementField:
|
|
352
381
|
@auto_described
|
353
382
|
class ViewElementTags:
|
354
383
|
def __init__(
|
355
|
-
self, object_type: str,
|
384
|
+
self, parent, object_type: str, visible_fields: List[ViewElementField]
|
356
385
|
):
|
386
|
+
self.parent = parent
|
357
387
|
self.object_type: str = object_type
|
358
|
-
self.visible_fields: List[ViewElementField] =
|
388
|
+
self.visible_fields: List[ViewElementField] = visible_fields
|
359
389
|
|
360
390
|
|
361
391
|
@auto_described
|
362
392
|
class ViewElementHiddenTag:
|
363
|
-
def __init__(self, hidden_tag: str):
|
393
|
+
def __init__(self, parent, hidden_tag: str):
|
394
|
+
self.parent = parent
|
364
395
|
self.hidden_tag: str = hidden_tag
|
@@ -7,6 +7,7 @@ from strictdoc.backend.sdoc.error_handling import StrictDocSemanticError
|
|
7
7
|
from strictdoc.backend.sdoc.models.document import Document
|
8
8
|
from strictdoc.backend.sdoc.models.document_config import DocumentConfig
|
9
9
|
from strictdoc.backend.sdoc.models.document_grammar import DocumentGrammar
|
10
|
+
from strictdoc.backend.sdoc.models.document_view import DocumentView
|
10
11
|
from strictdoc.backend.sdoc.models.fragment import Fragment
|
11
12
|
from strictdoc.backend.sdoc.models.fragment_from_file import FragmentFromFile
|
12
13
|
from strictdoc.backend.sdoc.models.requirement import (
|
@@ -25,6 +26,7 @@ class ParseContext:
|
|
25
26
|
self.document_grammar: DocumentGrammar = DocumentGrammar.create_default(
|
26
27
|
None
|
27
28
|
)
|
29
|
+
self.document_view: Optional[DocumentView] = None
|
28
30
|
self.current_include_parent = None
|
29
31
|
self.uses_old_refs_field: bool = False
|
30
32
|
self.at_least_one_relations_field: bool = False
|
@@ -43,6 +45,7 @@ class SDocParsingProcessor:
|
|
43
45
|
"Document": self.process_document,
|
44
46
|
"DocumentConfig": self.process_document_config,
|
45
47
|
"DocumentGrammar": self.process_document_grammar,
|
48
|
+
"DocumentView": self.process_document_view,
|
46
49
|
"Section": self.process_section,
|
47
50
|
"FragmentFromFile": self.process_include,
|
48
51
|
"CompositeRequirement": self.process_composite_requirement,
|
@@ -63,6 +66,32 @@ class SDocParsingProcessor:
|
|
63
66
|
)
|
64
67
|
self.parse_context.document_grammar = document_grammar
|
65
68
|
|
69
|
+
def process_document_view(self, document_view: DocumentView):
|
70
|
+
for view in document_view.views:
|
71
|
+
for tag in view.tags:
|
72
|
+
if (
|
73
|
+
tag.object_type
|
74
|
+
not in self.parse_context.document_grammar.registered_elements
|
75
|
+
):
|
76
|
+
raise StrictDocSemanticError.view_references_nonexisting_grammar_element(
|
77
|
+
view,
|
78
|
+
tag.object_type,
|
79
|
+
**get_location(document_view),
|
80
|
+
)
|
81
|
+
for field in tag.visible_fields:
|
82
|
+
for (
|
83
|
+
grammar_element
|
84
|
+
) in self.parse_context.document_grammar.elements:
|
85
|
+
if field.name not in grammar_element.fields_map:
|
86
|
+
raise StrictDocSemanticError.view_references_nonexisting_field(
|
87
|
+
view,
|
88
|
+
tag.object_type,
|
89
|
+
field.name,
|
90
|
+
**get_location(document_view),
|
91
|
+
)
|
92
|
+
|
93
|
+
self.parse_context.document_view = document_view
|
94
|
+
|
66
95
|
def process_section(self, section: Section):
|
67
96
|
section.ng_document_reference = self.parse_context.document_reference
|
68
97
|
|
@@ -14,6 +14,7 @@ from strictdoc.backend.sdoc.models.constants import DOCUMENT_MODELS
|
|
14
14
|
from strictdoc.backend.sdoc.models.document import Document
|
15
15
|
from strictdoc.backend.sdoc.models.fragment import Fragment
|
16
16
|
from strictdoc.backend.sdoc.processor import ParseContext, SDocParsingProcessor
|
17
|
+
from strictdoc.backend.sdoc.validations.sdoc_validator import SDocValidator
|
17
18
|
from strictdoc.helpers.cast import assert_cast
|
18
19
|
from strictdoc.helpers.exception import StrictDocException
|
19
20
|
from strictdoc.helpers.md5 import get_file_md5
|
@@ -65,17 +66,19 @@ class SDReader:
|
|
65
66
|
" VALUE: REQ-1"
|
66
67
|
)
|
67
68
|
|
69
|
+
return document, parse_context
|
70
|
+
|
71
|
+
@staticmethod
|
72
|
+
def read(input_string, file_path=None):
|
73
|
+
document, _ = SDReader._read(input_string, file_path)
|
74
|
+
SDocValidator.validate_document(document)
|
75
|
+
|
68
76
|
# HACK:
|
69
77
|
# ProcessPoolExecutor doesn't work because of non-picklable parts
|
70
78
|
# of textx. The offending fields are stripped down because they
|
71
79
|
# are not used anyway.
|
72
80
|
drop_textx_meta(document)
|
73
81
|
|
74
|
-
return document, parse_context
|
75
|
-
|
76
|
-
@staticmethod
|
77
|
-
def read(input_string, file_path=None):
|
78
|
-
document, _ = SDReader._read(input_string, file_path)
|
79
82
|
return document
|
80
83
|
|
81
84
|
def read_from_file(self, file_path: str) -> Document:
|