strictdoc 0.0.49a7__tar.gz → 0.0.50a1__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.49a7 → strictdoc-0.0.50a1}/PKG-INFO +2 -1
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/pyproject.toml +2 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/__init__.py +1 -1
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/free_text_reader.py +1 -1
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/include_reader.py +1 -3
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/models/document.py +5 -0
- strictdoc-0.0.50a1/strictdoc/backend/sdoc/models/fragment_from_file.py +41 -0
- strictdoc-0.0.50a1/strictdoc/backend/sdoc/pickle_cache.py +39 -0
- strictdoc-0.0.50a1/strictdoc/backend/sdoc/post_processing/sdoc_fragment_post_processor.py +39 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/processor.py +24 -24
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/reader.py +30 -54
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/writer.py +107 -3
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/actions/passthrough_action.py +10 -1
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/document_iterator.py +19 -17
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/traceability_index.py +1 -1
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/traceability_index_builder.py +9 -3
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html2pdf/pdf_print_driver.py +5 -1
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/server/routers/main_router.py +12 -74
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/tasks.py +4 -0
- strictdoc-0.0.49a7/strictdoc/backend/sdoc/models/fragment_from_file.py +0 -35
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/.gitignore +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/CHANGELOG.md +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/CONTRIBUTING.md +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/Dockerfile +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/LICENSE +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/NOTICE +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/README.md +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/docs_extra/DO178_requirements.sdoc +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/docs_extra/Zephyr_requirements.sdoc +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/drafts/requirements/strictdoc.toml +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/drafts/strictdoc_low_level_requirements.sdoc_.sdoc +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/mypy.ini +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/requirements.bootstrap.txt +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/requirements.check.txt +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/ruff.toml +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/excel/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/excel/excel_import.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/excel/export/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/excel/export/excel_generator.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/excel/import_/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/excel/import_/excel_to_sdoc_converter.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/reqif/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/reqif/p01_sdoc/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/reqif/p01_sdoc/reqif_to_sdoc_converter.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/reqif/p01_sdoc/sdoc_to_reqif_converter.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/reqif/p11_polarion/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/reqif/p11_polarion/reqif_to_sdoc_converter.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/reqif/reqif_export.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/reqif/reqif_import.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/reqif/sdoc_reqif_fields.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/document_reference.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/error_handling.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/errors/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/errors/document_tree_error.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/grammar/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/grammar/grammar.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/grammar/grammar_builder.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/grammar/type_system.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/models/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/models/anchor.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/models/constants.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/models/document_bibliography.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/models/document_config.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/models/document_grammar.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/models/document_view.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/models/fragment.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/models/free_text.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/models/inline_link.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/models/node.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/models/object.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/models/object_factory.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/models/reference.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/models/section.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/models/type_system.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/validations/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/validations/requirement.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc/validations/sdoc_validator.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc_source_code/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc_source_code/grammar.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc_source_code/models/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc_source_code/models/range_marker.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc_source_code/models/requirement_marker.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc_source_code/models/source_file_info.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/backend/sdoc_source_code/reader.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/cli/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/cli/argument_int_range.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/cli/cli_arg_parser.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/cli/command_parser_builder.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/cli/main.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/commands/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/commands/about_command.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/commands/diff_command.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/commands/dump_grammar_command.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/commands/manage_autouid_command.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/commands/version_command.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/actions/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/actions/export_action.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/actions/import_action.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/analyzers/document_stats.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/analyzers/document_uid_analyzer.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/document_finder.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/document_meta.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/document_tree.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/document_tree_iterator.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/environment.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/file_traceability_index.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/file_tree.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/finders/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/finders/source_files_finder.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/graph/abstract_bucket.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/graph/many_to_many_set.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/graph/one_to_one_dictionary.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/graph/validations.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/graph_database.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/level_counter.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/project_config.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/query_engine/grammar.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/query_engine/query_object.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/query_engine/query_reader.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/source_tree.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/transforms/constants.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/transforms/create_requirement.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/transforms/delete_section.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/transforms/section.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/transforms/update_document_config.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/transforms/update_free_text.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/transforms/update_grammar.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/transforms/update_grammar_element.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/transforms/update_requirement.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/transforms/validation_error.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/core/tree_cycle_detector.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/dot/document_dot_generator.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/dot/dot_templates.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/dot/templates/profile1/document.dot +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/dot/templates/profile1/folder.dot +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/dot/templates/profile1/legend.dot +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/dot/templates/profile1/requirement.dot +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/dot/templates/profile1/section.dot +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/dot/templates/profile1/top_level.dot +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/dot/templates/profile2/document.dot +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/dot/templates/profile2/folder.dot +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/dot/templates/profile2/requirement.dot +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/dot/templates/profile2/section.dot +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/dot/templates/profile2/top_level.dot +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/autogen.css +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/base.css +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/collapsible_list.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/content.css +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/controllers/anchor_controller.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/controllers/copy_to_clipboard_controller.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/controllers/deletable_field_controller.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/controllers/draggable_list_controller.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/controllers/dropdown_menu_controller.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/controllers/editable_field_controller.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/controllers/modal_controller.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/controllers/movable_field_controller.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/controllers/scroll_into_view_controller.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/controllers/tabs_controller.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/diff.css +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/diff.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/element.css +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/favicon.ico +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/fonts/NotoSans-Italic-VariableFont_wdth,wght.ttf +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/fonts/NotoSans-VariableFont_wdth,wght.ttf +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/fonts/NotoSansMono-VariableFont_wdth,wght.ttf +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/form.css +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/html2pdf/bundle.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/layout.css +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/node.css +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/pan_with_space.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/requirement-tree.css +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/requirement.css +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/requirement__temporary.css +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/requirements-coverage.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/resizable_bar.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/source-code-coverage.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/source.css +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/stimulus.min.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/table_vew.css +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/toc_highlighting.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/traceability_matrix.css +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/tree.css +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/turbo.min.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static/viewtype_menu.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/LICENSE-MATHJAX +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/tex.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mathjax/tex-mml-chtml.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/mermaid/mermaid.min.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/_static_extra/rapidoc/rapidoc-min.js +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/document_type.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/form_objects/document_config_form_object.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/form_objects/document_grammar_form_object.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/form_objects/form_object.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/form_objects/grammar_form_object.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/form_objects/requirement_form_object.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/form_objects/rows/row_with_grammar_element_form_object.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/form_objects/section_form_object.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/document.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/document_deep_trace.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/document_pdf.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/document_table.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/document_trace.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/document_tree.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/project_statistics.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/source_file_coverage.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/source_file_view_generator.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/traceability_matrix.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/view_objects/diff_screen_results_view_object.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/view_objects/diff_screen_view_object.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/view_objects/document_screen_view_object.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/view_objects/project_statistics_view_object.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/view_objects/project_tree_stats.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/view_objects/project_tree_view_object.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/view_objects/search_screen_view_object.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/generators/view_objects/source_file_view_object.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/html_generator.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/html_templates.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/renderers/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/renderers/html_fragment_writer.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/renderers/link_renderer.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/renderers/markup_renderer.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/renderers/text_to_html_writer.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg__separator.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_add.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_add_above.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_add_below.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_add_child.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_anchor.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_back.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_book.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_close.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_code.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_copy.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_delete.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_diff.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_document.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_done.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_edit.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_expand.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_folder.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_folder_sm.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_gear.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_go_to_doc.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_index.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_list.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_maximize.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_minimize.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_minusminus.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_move_down.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_move_up.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_plusplus.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_project.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_requirement.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_reset.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_search.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_source.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_stat.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_sync.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_toc.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_res/svg_ico16_tree.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_shared/nav.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_shared/requirement_block/files_tree.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_shared/requirement_tree_left.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_shared/requirement_tree_right.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/_shared/tags.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/_shared/stream_refresh_document.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/_shared/stream_updated_toc.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/add_requirement_comment/stream_add_requirement_comment.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/add_requirement_relation/stream_add_requirement_relation.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_cancel_new_requirement.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_created_requirement.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/create_requirement/stream_new_requirement.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/create_section/stream_cancel_new_section.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/create_section/stream_created_section.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/create_section/stream_new_section.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_confirm_delete_requirement.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/delete_requirement/stream_delete_requirement.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/delete_section/stream_confirm_delete_section.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/delete_section/stream_delete_section.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_cancel_edit_document_config.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_edit_document_config.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/edit_document_config/stream_save_document_config.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_edit_requirement.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/edit_requirement/stream_update_requirement.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/edit_section/stream_edit_section.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/edit_section/stream_updated_section.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/document/move_node/stream_update_document_content.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_requirement.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/node/show_full_node/stream_show_full_section.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_form_import_reqif_document.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/project_index/import_reqif_document/stream_refresh_with_imported_reqif_document.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/project_index/stream_create_document.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/actions/project_index/stream_new_document.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/base.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/abstract/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/abstract/pdf.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/anchor/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/badge/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/button/cancel.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/button/confirm.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/button/delete.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/button/diff.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/button/search.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/button/submit.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/confirm/_usage_example.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/confirm/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/document_title/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/field/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/form/field/contenteditable/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/form/field/file/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/form/field/text/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/form/field_action_button/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/form/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/form/row/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/example.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/frame.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/form/row/row_uid_with_reset/stream.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/form/row/row_with_comment.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/form/row/row_with_relation.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/form/row/row_with_text_field.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/form/search.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/grammar_form/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/grammar_form/row_with_grammar_element/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/grammar_form/row_with_new_grammar_element/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/grammar_form_element/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_custom_field/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_relation/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/grammar_form_element/row_with_reserved_field/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/header/_usage_example.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/header/header_pagetype.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/header/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/meta/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/modal/_usage_example.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/modal/form.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/modal/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/node/card.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/node/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/node/node_controls/card.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/node/node_controls/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/node/root.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/requirement/card.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/requirement/card_extends_card.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/requirement/comments/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/requirement/files/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/requirement/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/requirement/index_extends_node.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/requirement/links/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/requirement/meta/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/requirement/multiline/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/requirement/pdf.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/requirement/rationale/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/requirement/statement/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/requirement/tiny.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/requirement/tiny_extends_card.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/requirement/title/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/requirement/title/pdf.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/requirement/uid/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/resizable_bar/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/section/card.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/section/card_extends_card.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/section/h/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/section/h/pdf.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/section/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/section/index_extends_node.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/section/pdf.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/section/text/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/section/tiny.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/section/tiny_extends_card.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/section/title/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/section/uid/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/components/table_key_value/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/rst/anchor.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/_shared/frame_header_document_title.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_requirement.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/_shared/frame_show_full_section.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/_shared/frame_toc.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/_shared/project_tree.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_project_tree.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/_shared/resizable_bar_with_toc.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/_shared/toc.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/_shared/viewtype_menu.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/document/actions.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/document/frame_document_config.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/document/frame_document_config_edit.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/document/frame_document_content.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/document/frame_requirement_form.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/document/frame_section_form.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/document/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/document/main.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/pdf/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/pdf/main.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/pdf/template/footer.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/pdf/template/frontpage.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/pdf/template/header.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/pdf/toc.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/table/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/table/main.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/traceability/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/traceability/main.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/traceability_deep/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/document/traceability_deep/main.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/git/changelog_content.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/git/diff_content.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/git/diff_controls.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/git/fields/document_fields.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/git/fields/requirement_fields.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/git/fields/section_fields.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/git/form.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/git/frame_changelog_result.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/git/frame_diff_result.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/git/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/git/legend.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/git/main.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/git/nav_tabs.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/git/node/requirement.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/git/node/section.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/git/skeleton.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/git/sync/button.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/project_index/actions.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/project_index/frame_form_import_reqif.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/project_index/frame_form_new_document.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/project_index/frame_project_tree.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/project_index/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/project_index/main.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/project_statistics/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/project_statistics/main.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/search/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/search/legend.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/search/main.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/source_file_coverage/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/source_file_coverage/main.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/source_file_view/aside.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/source_file_view/header__source_file_name.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/source_file_view/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/source_file_view/main.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/source_file_view/requirement.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/traceability_matrix/file.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/traceability_matrix/index.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/traceability_matrix/main.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/traceability_matrix/project_tree_flat_anchor_list.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/traceability_matrix/requirement.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/screens/traceability_matrix/resizable_bar_with_project_tree.jinja +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/templates/websocket.jinja.html +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/tools/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html/tools/html_embedded.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html2pdf/html2pdf.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/html2pdf/html2pdf_generator.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/json/json_generator.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/rst/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/rst/directives/raw_html_role.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/rst/directives/wildcard_enhanced_image.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/rst/document_rst_generator.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/rst/rst_templates.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/rst/rst_to_html_fragment_writer.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/rst/templates/requirement.jinja.rst +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/rst/writer.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/spdx/spdx_generator.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/spdx/spdx_sdoc_container.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/export/spdx/spdx_to_sdoc_converter.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/git/change.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/git/change_generator.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/git/git_client.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/git/project_diff_analyzer.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/auto_described.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/cast.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/diff.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/exception.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/file_modification_time.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/file_system.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/form_data.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/git_client.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/math.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/md5.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/mid.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/ordered_set.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/parallelizer.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/path_filter.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/pickle.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/rst.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/sha256.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/shard.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/sorting.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/string.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/textx.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/helpers/timing.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/server/__init__.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/server/app.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/server/config.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/server/error_object.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/server/helpers/turbo.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/server/main.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/server/routers/other_router.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc/server/server.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/strictdoc.toml +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/tasks_wine.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/tools/confluence_html_table_import.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/tools/link_health.py +0 -0
- {strictdoc-0.0.49a7 → strictdoc-0.0.50a1}/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.50a1
|
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/
|
@@ -32,6 +32,7 @@ Requires-Dist: pygments==2.*,>=2.10.0
|
|
32
32
|
Requires-Dist: python-datauri==0.*,>=0.2.9
|
33
33
|
Requires-Dist: python-multipart
|
34
34
|
Requires-Dist: reqif==0.*,>=0.0.39
|
35
|
+
Requires-Dist: requests
|
35
36
|
Requires-Dist: selenium
|
36
37
|
Requires-Dist: setuptools
|
37
38
|
Requires-Dist: spdx-tools
|
@@ -17,7 +17,7 @@ class SDFreeTextReader:
|
|
17
17
|
use_regexp_group=True,
|
18
18
|
)
|
19
19
|
|
20
|
-
parse_context = ParseContext()
|
20
|
+
parse_context = ParseContext(file_path)
|
21
21
|
|
22
22
|
document = meta_model.model_from_str(input_string, file_name=file_path)
|
23
23
|
parse_context.document_reference.set_document(document)
|
@@ -20,9 +20,7 @@ class SDIncludeReader:
|
|
20
20
|
)
|
21
21
|
assert isinstance(parse_context, ParseContext)
|
22
22
|
|
23
|
-
processor = SDocParsingProcessor(
|
24
|
-
parse_context=parse_context, delegate=None
|
25
|
-
)
|
23
|
+
processor = SDocParsingProcessor(parse_context=parse_context)
|
26
24
|
meta_model.register_obj_processors(processor.get_default_processors())
|
27
25
|
|
28
26
|
section = meta_model.model_from_str(input_string, file_name=file_path)
|
@@ -6,6 +6,7 @@ from strictdoc.backend.sdoc.models.document_bibliography import (
|
|
6
6
|
from strictdoc.backend.sdoc.models.document_config import DocumentConfig
|
7
7
|
from strictdoc.backend.sdoc.models.document_grammar import DocumentGrammar
|
8
8
|
from strictdoc.backend.sdoc.models.document_view import DocumentView
|
9
|
+
from strictdoc.backend.sdoc.models.fragment_from_file import FragmentFromFile
|
9
10
|
from strictdoc.backend.sdoc.models.free_text import FreeText
|
10
11
|
from strictdoc.core.document_meta import DocumentMeta
|
11
12
|
from strictdoc.helpers.auto_described import auto_described
|
@@ -77,6 +78,10 @@ class SDocDocument: # pylint: disable=too-many-instance-attributes
|
|
77
78
|
task_list = list(self.section_contents)
|
78
79
|
while len(task_list) > 0:
|
79
80
|
section_or_requirement = task_list.pop(0)
|
81
|
+
if isinstance(section_or_requirement, FragmentFromFile):
|
82
|
+
if section_or_requirement.has_any_requirements():
|
83
|
+
return True
|
84
|
+
continue
|
80
85
|
if section_or_requirement.is_requirement:
|
81
86
|
return True
|
82
87
|
assert section_or_requirement.is_section, section_or_requirement
|
@@ -0,0 +1,41 @@
|
|
1
|
+
from typing import List, Optional
|
2
|
+
|
3
|
+
from strictdoc.backend.sdoc.models.fragment import Fragment
|
4
|
+
from strictdoc.helpers.auto_described import auto_described
|
5
|
+
|
6
|
+
|
7
|
+
@auto_described
|
8
|
+
class FragmentFromFile:
|
9
|
+
def __init__(
|
10
|
+
self,
|
11
|
+
parent,
|
12
|
+
file,
|
13
|
+
):
|
14
|
+
self.parent = parent
|
15
|
+
self.file = file
|
16
|
+
|
17
|
+
self.ng_level = None
|
18
|
+
self.ng_has_requirements = False
|
19
|
+
self.resolved_fragment: Optional[Fragment] = None
|
20
|
+
|
21
|
+
@property
|
22
|
+
def document(self):
|
23
|
+
raise NotImplementedError
|
24
|
+
|
25
|
+
def has_any_requirements(self) -> bool:
|
26
|
+
task_list = list(self.section_contents)
|
27
|
+
while len(task_list) > 0:
|
28
|
+
section_or_requirement = task_list.pop(0)
|
29
|
+
if isinstance(section_or_requirement, FragmentFromFile):
|
30
|
+
if section_or_requirement.has_any_requirements():
|
31
|
+
return True
|
32
|
+
if section_or_requirement.is_requirement:
|
33
|
+
return True
|
34
|
+
assert section_or_requirement.is_section, section_or_requirement
|
35
|
+
task_list.extend(section_or_requirement.section_contents)
|
36
|
+
return False
|
37
|
+
|
38
|
+
@property
|
39
|
+
def section_contents(self) -> List:
|
40
|
+
assert self.resolved_fragment is not None, self.resolved_fragment
|
41
|
+
return self.resolved_fragment.section_contents
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import hashlib
|
2
|
+
import os
|
3
|
+
import tempfile
|
4
|
+
|
5
|
+
from strictdoc.helpers.md5 import get_file_md5
|
6
|
+
|
7
|
+
|
8
|
+
class PickleCache:
|
9
|
+
@staticmethod
|
10
|
+
def get_cached_file_path(file_path: str, path_to_output_root: str):
|
11
|
+
path_to_tmp_dir = tempfile.gettempdir()
|
12
|
+
|
13
|
+
full_path_to_file = (
|
14
|
+
file_path
|
15
|
+
if os.path.abspath(file_path)
|
16
|
+
else os.path.abspath(file_path)
|
17
|
+
)
|
18
|
+
|
19
|
+
file_md5 = get_file_md5(file_path)
|
20
|
+
|
21
|
+
# File name contains an MD5 hash of its full path to ensure the
|
22
|
+
# uniqueness of the cached items. Additionally, the unique file name
|
23
|
+
# contains a full path to the output root to prevent collisions
|
24
|
+
# between StrictDoc invocations running against the same set of SDoc
|
25
|
+
# files in parallel.
|
26
|
+
unique_identifier = path_to_output_root + full_path_to_file
|
27
|
+
unique_identifier_md5 = hashlib.md5(
|
28
|
+
unique_identifier.encode("utf-8")
|
29
|
+
).hexdigest()
|
30
|
+
file_name = os.path.basename(full_path_to_file)
|
31
|
+
file_name += "_" + unique_identifier_md5 + "_" + file_md5
|
32
|
+
|
33
|
+
path_to_cached_file = os.path.join(
|
34
|
+
path_to_tmp_dir,
|
35
|
+
"strictdoc_cache",
|
36
|
+
file_name,
|
37
|
+
)
|
38
|
+
|
39
|
+
return path_to_cached_file
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import os
|
2
|
+
|
3
|
+
from strictdoc.backend.sdoc.include_reader import SDIncludeReader
|
4
|
+
from strictdoc.backend.sdoc.models.document import SDocDocument
|
5
|
+
from strictdoc.backend.sdoc.models.fragment import Fragment
|
6
|
+
from strictdoc.backend.sdoc.models.fragment_from_file import FragmentFromFile
|
7
|
+
from strictdoc.backend.sdoc.processor import ParseContext
|
8
|
+
|
9
|
+
|
10
|
+
class SDocFragmentPostProcessor:
|
11
|
+
@staticmethod
|
12
|
+
def process_document(_: SDocDocument, parse_context: ParseContext):
|
13
|
+
fragment_from_file_: FragmentFromFile
|
14
|
+
for fragment_from_file_ in parse_context.fragments_from_files:
|
15
|
+
assert isinstance(
|
16
|
+
fragment_from_file_, FragmentFromFile
|
17
|
+
), fragment_from_file_
|
18
|
+
fragment: Fragment = SDocFragmentPostProcessor.parse_fragment(
|
19
|
+
fragment_from_file_, parse_context
|
20
|
+
)
|
21
|
+
fragment_from_file_.resolved_fragment = fragment
|
22
|
+
|
23
|
+
@staticmethod
|
24
|
+
def parse_fragment(
|
25
|
+
fragment_from_file: FragmentFromFile, parse_context: ParseContext
|
26
|
+
):
|
27
|
+
path_to_fragment = (
|
28
|
+
os.path.join(
|
29
|
+
parse_context.path_to_sdoc_dir, fragment_from_file.file
|
30
|
+
)
|
31
|
+
if parse_context.path_to_sdoc_dir is not None
|
32
|
+
else fragment_from_file.file
|
33
|
+
)
|
34
|
+
reader = SDIncludeReader()
|
35
|
+
fragment = reader.read_from_file(
|
36
|
+
file_path=path_to_fragment, context=parse_context
|
37
|
+
)
|
38
|
+
assert isinstance(fragment, Fragment)
|
39
|
+
return fragment
|
@@ -1,4 +1,5 @@
|
|
1
|
-
|
1
|
+
import os.path
|
2
|
+
from typing import List, Optional
|
2
3
|
|
3
4
|
from textx import get_location, get_model
|
4
5
|
|
@@ -20,7 +21,13 @@ from strictdoc.helpers.exception import StrictDocException
|
|
20
21
|
|
21
22
|
|
22
23
|
class ParseContext:
|
23
|
-
def __init__(self):
|
24
|
+
def __init__(self, path_to_sdoc_file: Optional[str]):
|
25
|
+
self.path_to_sdoc_file: Optional[str] = path_to_sdoc_file
|
26
|
+
self.path_to_sdoc_dir: Optional[str] = None
|
27
|
+
if path_to_sdoc_file is not None:
|
28
|
+
assert os.path.isfile(path_to_sdoc_file), path_to_sdoc_file
|
29
|
+
self.path_to_sdoc_dir = os.path.dirname(path_to_sdoc_file)
|
30
|
+
|
24
31
|
self.document_reference: DocumentReference = DocumentReference()
|
25
32
|
self.document_config: Optional[DocumentConfig] = None
|
26
33
|
self.document_grammar: DocumentGrammar = DocumentGrammar.create_default(
|
@@ -31,14 +38,17 @@ class ParseContext:
|
|
31
38
|
self.uses_old_refs_field: bool = False
|
32
39
|
self.at_least_one_relations_field: bool = False
|
33
40
|
|
41
|
+
# FIXME: Plain list of all fragments found in the document.
|
42
|
+
self.fragments_from_files: List = []
|
43
|
+
|
34
44
|
|
35
45
|
class SDocParsingProcessor:
|
36
|
-
def __init__(self, parse_context: ParseContext
|
46
|
+
def __init__(self, parse_context: ParseContext):
|
37
47
|
self.parse_context: ParseContext = parse_context
|
38
|
-
self.delegate = delegate
|
39
48
|
|
40
49
|
def process_document(self, document: SDocDocument):
|
41
50
|
document.grammar = self.parse_context.document_grammar
|
51
|
+
self.parse_context.document = document
|
42
52
|
|
43
53
|
def get_default_processors(self):
|
44
54
|
return {
|
@@ -47,7 +57,7 @@ class SDocParsingProcessor:
|
|
47
57
|
"DocumentGrammar": self.process_document_grammar,
|
48
58
|
"DocumentView": self.process_document_view,
|
49
59
|
"SDocSection": self.process_section,
|
50
|
-
"FragmentFromFile": self.
|
60
|
+
"FragmentFromFile": self.process_fragment_from_file,
|
51
61
|
"CompositeRequirement": self.process_composite_requirement,
|
52
62
|
"SDocNode": self.process_requirement,
|
53
63
|
"FreeText": self.process_free_text,
|
@@ -98,25 +108,15 @@ class SDocParsingProcessor:
|
|
98
108
|
self._resolve_parents(section)
|
99
109
|
assert section.ng_level > 0
|
100
110
|
|
101
|
-
def
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
before = parent_section_contents[:index]
|
111
|
-
index = (
|
112
|
-
index + 1
|
113
|
-
) # black and flake8 fight to put a space before ':' otherwise
|
114
|
-
after = parent_section_contents[index:]
|
115
|
-
|
116
|
-
include.parent.section_contents = []
|
117
|
-
include.parent.section_contents.extend(before)
|
118
|
-
include.parent.section_contents.extend(fragment.section_contents)
|
119
|
-
include.parent.section_contents.extend(after)
|
111
|
+
def process_fragment_from_file(self, fragment_from_file: FragmentFromFile):
|
112
|
+
assert isinstance(
|
113
|
+
fragment_from_file, FragmentFromFile
|
114
|
+
), fragment_from_file
|
115
|
+
|
116
|
+
self._resolve_parents(fragment_from_file)
|
117
|
+
self.parse_context.current_include_parent = fragment_from_file.parent
|
118
|
+
|
119
|
+
self.parse_context.fragments_from_files.append(fragment_from_file)
|
120
120
|
|
121
121
|
def process_composite_requirement(
|
122
122
|
self, composite_requirement: CompositeRequirement
|
@@ -1,23 +1,23 @@
|
|
1
|
-
import hashlib
|
2
1
|
import os.path
|
3
2
|
import sys
|
4
|
-
import tempfile
|
5
3
|
import traceback
|
6
4
|
from pathlib import Path
|
5
|
+
from typing import Tuple
|
7
6
|
|
8
7
|
from textx import metamodel_from_str
|
9
8
|
|
10
9
|
from strictdoc.backend.sdoc.error_handling import StrictDocSemanticError
|
11
10
|
from strictdoc.backend.sdoc.grammar.grammar_builder import SDocGrammarBuilder
|
12
|
-
from strictdoc.backend.sdoc.include_reader import SDIncludeReader
|
13
11
|
from strictdoc.backend.sdoc.models.constants import DOCUMENT_MODELS
|
14
12
|
from strictdoc.backend.sdoc.models.document import SDocDocument
|
15
|
-
from strictdoc.backend.sdoc.
|
13
|
+
from strictdoc.backend.sdoc.pickle_cache import PickleCache
|
14
|
+
from strictdoc.backend.sdoc.post_processing.sdoc_fragment_post_processor import (
|
15
|
+
SDocFragmentPostProcessor,
|
16
|
+
)
|
16
17
|
from strictdoc.backend.sdoc.processor import ParseContext, SDocParsingProcessor
|
17
18
|
from strictdoc.backend.sdoc.validations.sdoc_validator import SDocValidator
|
18
19
|
from strictdoc.helpers.cast import assert_cast
|
19
20
|
from strictdoc.helpers.exception import StrictDocException
|
20
|
-
from strictdoc.helpers.md5 import get_file_md5
|
21
21
|
from strictdoc.helpers.pickle import pickle_dump, pickle_load
|
22
22
|
from strictdoc.helpers.textx import drop_textx_meta
|
23
23
|
|
@@ -34,10 +34,8 @@ class SDReader:
|
|
34
34
|
use_regexp_group=True,
|
35
35
|
)
|
36
36
|
|
37
|
-
parse_context = ParseContext()
|
38
|
-
processor = SDocParsingProcessor(
|
39
|
-
parse_context=parse_context, delegate=SDReader.parse_include
|
40
|
-
)
|
37
|
+
parse_context = ParseContext(path_to_sdoc_file=file_path)
|
38
|
+
processor = SDocParsingProcessor(parse_context=parse_context)
|
41
39
|
meta_model.register_obj_processors(processor.get_default_processors())
|
42
40
|
|
43
41
|
document: SDocDocument = meta_model.model_from_str(
|
@@ -69,17 +67,18 @@ class SDReader:
|
|
69
67
|
return document, parse_context
|
70
68
|
|
71
69
|
@staticmethod
|
72
|
-
def read(input_string, file_path=None):
|
73
|
-
document, _ = SDReader.
|
74
|
-
|
70
|
+
def read(input_string, file_path=None) -> SDocDocument:
|
71
|
+
document, _ = SDReader.read_with_parse_context(input_string, file_path)
|
72
|
+
return document
|
75
73
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
74
|
+
@staticmethod
|
75
|
+
def read_with_parse_context(
|
76
|
+
input_string, file_path=None
|
77
|
+
) -> Tuple[SDocDocument, ParseContext]:
|
78
|
+
document, parse_context = SDReader._read(input_string, file_path)
|
79
|
+
SDocValidator.validate_document(document)
|
81
80
|
|
82
|
-
return document
|
81
|
+
return document, parse_context
|
83
82
|
|
84
83
|
def read_from_file(self, file_path: str) -> SDocDocument:
|
85
84
|
"""
|
@@ -87,32 +86,8 @@ class SDReader:
|
|
87
86
|
object.
|
88
87
|
"""
|
89
88
|
|
90
|
-
|
91
|
-
|
92
|
-
full_path_to_file = (
|
93
|
-
file_path
|
94
|
-
if os.path.abspath(file_path)
|
95
|
-
else os.path.abspath(file_path)
|
96
|
-
)
|
97
|
-
|
98
|
-
file_md5 = get_file_md5(file_path)
|
99
|
-
|
100
|
-
# File name contains an MD5 hash of its full path to ensure the
|
101
|
-
# uniqueness of the cached items. Additionally, the unique file name
|
102
|
-
# contains a full path to the output root to prevent collisions
|
103
|
-
# between StrictDoc invocations running against the same set of SDoc
|
104
|
-
# files in parallel.
|
105
|
-
unique_identifier = self.path_to_output_root + full_path_to_file
|
106
|
-
unique_identifier_md5 = hashlib.md5(
|
107
|
-
unique_identifier.encode("utf-8")
|
108
|
-
).hexdigest()
|
109
|
-
file_name = os.path.basename(full_path_to_file)
|
110
|
-
file_name += "_" + unique_identifier_md5 + "_" + file_md5
|
111
|
-
|
112
|
-
path_to_cached_file = os.path.join(
|
113
|
-
path_to_tmp_dir,
|
114
|
-
"strictdoc_cache",
|
115
|
-
file_name,
|
89
|
+
path_to_cached_file = PickleCache.get_cached_file_path(
|
90
|
+
file_path, self.path_to_output_root
|
116
91
|
)
|
117
92
|
if os.path.isfile(path_to_cached_file):
|
118
93
|
with open(path_to_cached_file, "rb") as cache_file:
|
@@ -126,7 +101,17 @@ class SDReader:
|
|
126
101
|
sdoc_content = file.read()
|
127
102
|
|
128
103
|
try:
|
129
|
-
sdoc = self.
|
104
|
+
sdoc, parse_context = self.read_with_parse_context(
|
105
|
+
sdoc_content, file_path=file_path
|
106
|
+
)
|
107
|
+
|
108
|
+
SDocFragmentPostProcessor.process_document(sdoc, parse_context)
|
109
|
+
|
110
|
+
# HACK:
|
111
|
+
# ProcessPoolExecutor doesn't work because of non-picklable parts
|
112
|
+
# of textx. The offending fields are stripped down because they
|
113
|
+
# are not used anyway.
|
114
|
+
drop_textx_meta(sdoc)
|
130
115
|
|
131
116
|
sdoc_pickled = pickle_dump(sdoc)
|
132
117
|
with open(path_to_cached_file, "wb") as cache_file:
|
@@ -150,12 +135,3 @@ class SDReader:
|
|
150
135
|
# TODO: when --debug is provided
|
151
136
|
traceback.print_exc()
|
152
137
|
sys.exit(1)
|
153
|
-
|
154
|
-
@staticmethod
|
155
|
-
def parse_include(include, parse_context):
|
156
|
-
reader = SDIncludeReader()
|
157
|
-
fragment = reader.read_from_file(
|
158
|
-
file_path=include.file, context=parse_context
|
159
|
-
)
|
160
|
-
assert isinstance(fragment, Fragment)
|
161
|
-
return fragment
|
@@ -1,5 +1,7 @@
|
|
1
|
+
import os.path
|
1
2
|
from enum import Enum
|
2
|
-
from
|
3
|
+
from pathlib import Path
|
4
|
+
from typing import Dict, List, Optional, Tuple
|
3
5
|
|
4
6
|
from strictdoc.backend.sdoc.models.anchor import Anchor
|
5
7
|
from strictdoc.backend.sdoc.models.document import SDocDocument
|
@@ -9,6 +11,8 @@ from strictdoc.backend.sdoc.models.document_bibliography import (
|
|
9
11
|
from strictdoc.backend.sdoc.models.document_config import DocumentConfig
|
10
12
|
from strictdoc.backend.sdoc.models.document_grammar import DocumentGrammar
|
11
13
|
from strictdoc.backend.sdoc.models.document_view import DefaultViewElement
|
14
|
+
from strictdoc.backend.sdoc.models.fragment import Fragment
|
15
|
+
from strictdoc.backend.sdoc.models.fragment_from_file import FragmentFromFile
|
12
16
|
from strictdoc.backend.sdoc.models.inline_link import InlineLink
|
13
17
|
from strictdoc.backend.sdoc.models.node import CompositeRequirement, SDocNode
|
14
18
|
from strictdoc.backend.sdoc.models.reference import (
|
@@ -30,6 +34,7 @@ from strictdoc.backend.sdoc.models.type_system import (
|
|
30
34
|
RequirementFieldType,
|
31
35
|
)
|
32
36
|
from strictdoc.core.document_iterator import DocumentCachingIterator
|
37
|
+
from strictdoc.core.document_meta import DocumentMeta
|
33
38
|
from strictdoc.helpers.cast import assert_cast
|
34
39
|
|
35
40
|
|
@@ -43,7 +48,37 @@ class SDWriter:
|
|
43
48
|
def __init__(self):
|
44
49
|
pass
|
45
50
|
|
51
|
+
def write_to_file(self, document: SDocDocument):
|
52
|
+
document_content, fragments_dict = self.write_with_fragments(document)
|
53
|
+
|
54
|
+
document_meta: DocumentMeta = assert_cast(document.meta, DocumentMeta)
|
55
|
+
|
56
|
+
with open(
|
57
|
+
document_meta.input_doc_full_path, "w", encoding="utf8"
|
58
|
+
) as output_file:
|
59
|
+
output_file.write(document_content)
|
60
|
+
|
61
|
+
path_to_output_file_dir = os.path.dirname(
|
62
|
+
document_meta.input_doc_full_path
|
63
|
+
)
|
64
|
+
Path(path_to_output_file_dir).mkdir(parents=True, exist_ok=True)
|
65
|
+
|
66
|
+
for fragment_path_, fragment_content_ in fragments_dict.items():
|
67
|
+
path_to_output_fragment = os.path.join(
|
68
|
+
path_to_output_file_dir, fragment_path_
|
69
|
+
)
|
70
|
+
with open(path_to_output_fragment, "w", encoding="utf8") as file_:
|
71
|
+
file_.write(fragment_content_)
|
72
|
+
|
46
73
|
def write(self, document: SDocDocument):
|
74
|
+
document_output, _ = self.write_with_fragments(document)
|
75
|
+
return document_output
|
76
|
+
|
77
|
+
def write_with_fragments(
|
78
|
+
self, document: SDocDocument
|
79
|
+
) -> Tuple[str, Dict[str, str]]:
|
80
|
+
fragments_dict: Dict[str, str] = {}
|
81
|
+
|
47
82
|
document_iterator = DocumentCachingIterator(document)
|
48
83
|
output = ""
|
49
84
|
|
@@ -201,8 +236,50 @@ class SDWriter:
|
|
201
236
|
for free_text in document.free_texts:
|
202
237
|
output += "\n"
|
203
238
|
output += self._print_free_text(free_text)
|
239
|
+
|
240
|
+
output += self._print_body(
|
241
|
+
document, document, document_iterator, fragments_dict
|
242
|
+
)
|
243
|
+
|
244
|
+
return output, fragments_dict
|
245
|
+
|
246
|
+
def _print_body(
|
247
|
+
self,
|
248
|
+
root_node: [SDocDocument, Fragment],
|
249
|
+
document: SDocDocument,
|
250
|
+
document_iterator: DocumentCachingIterator,
|
251
|
+
fragments_dict,
|
252
|
+
):
|
253
|
+
assert isinstance(root_node, (SDocDocument, Fragment)), root_node
|
254
|
+
assert isinstance(
|
255
|
+
document_iterator, DocumentCachingIterator
|
256
|
+
), document_iterator
|
257
|
+
|
258
|
+
output = ""
|
259
|
+
|
204
260
|
closing_tags = []
|
205
|
-
for content_node in document_iterator.all_content(
|
261
|
+
for content_node in document_iterator.all_content(
|
262
|
+
root_node, print_fragments=False
|
263
|
+
):
|
264
|
+
if isinstance(content_node, FragmentFromFile):
|
265
|
+
fragment_from_file: FragmentFromFile = assert_cast(
|
266
|
+
content_node, FragmentFromFile
|
267
|
+
)
|
268
|
+
output += "\n"
|
269
|
+
output += self._print_fragment_from_file(fragment_from_file)
|
270
|
+
|
271
|
+
assert fragment_from_file.resolved_fragment is not None
|
272
|
+
fragment_content = self._print_fragment(
|
273
|
+
fragment_from_file.resolved_fragment,
|
274
|
+
document,
|
275
|
+
document_iterator,
|
276
|
+
fragments_dict,
|
277
|
+
)
|
278
|
+
|
279
|
+
fragments_dict[fragment_from_file.file] = fragment_content
|
280
|
+
|
281
|
+
continue
|
282
|
+
|
206
283
|
while (
|
207
284
|
len(closing_tags) > 0
|
208
285
|
and content_node.ng_level <= closing_tags[-1][1]
|
@@ -215,7 +292,7 @@ class SDWriter:
|
|
215
292
|
if not content_node.ng_whitelisted:
|
216
293
|
continue
|
217
294
|
|
218
|
-
|
295
|
+
elif isinstance(content_node, SDocSection):
|
219
296
|
output += self._print_section(content_node, document)
|
220
297
|
closing_tags.append((TAG.SECTION, content_node.ng_level))
|
221
298
|
elif isinstance(content_node, SDocNode):
|
@@ -240,6 +317,33 @@ class SDWriter:
|
|
240
317
|
|
241
318
|
return output
|
242
319
|
|
320
|
+
def _print_fragment(
|
321
|
+
self,
|
322
|
+
fragment: Fragment,
|
323
|
+
document: SDocDocument,
|
324
|
+
document_iterator: DocumentCachingIterator,
|
325
|
+
fragments_dict,
|
326
|
+
):
|
327
|
+
output = "[FRAGMENT]\n"
|
328
|
+
|
329
|
+
output += self._print_body(
|
330
|
+
fragment, document, document_iterator, fragments_dict
|
331
|
+
)
|
332
|
+
|
333
|
+
return output
|
334
|
+
|
335
|
+
def _print_fragment_from_file(self, fragment_from_file: FragmentFromFile):
|
336
|
+
assert isinstance(fragment_from_file, FragmentFromFile)
|
337
|
+
output = ""
|
338
|
+
output += "[FRAGMENT_FROM_FILE]"
|
339
|
+
output += "\n"
|
340
|
+
|
341
|
+
output += "FILE: "
|
342
|
+
output += fragment_from_file.file
|
343
|
+
output += "\n"
|
344
|
+
|
345
|
+
return output
|
346
|
+
|
243
347
|
def _print_section(self, section: SDocSection, document: SDocDocument):
|
244
348
|
assert isinstance(section, SDocSection)
|
245
349
|
output = ""
|
@@ -36,7 +36,7 @@ class PassthroughAction:
|
|
36
36
|
else os.path.join(os.getcwd(), "output", "sdoc")
|
37
37
|
)
|
38
38
|
for document in traceability_index.document_tree.document_list:
|
39
|
-
output = writer.
|
39
|
+
output, fragments_dict = writer.write_with_fragments(document)
|
40
40
|
|
41
41
|
path_to_output_file_dir = os.path.join(
|
42
42
|
output_dir, document.meta.input_doc_dir_rel_path
|
@@ -48,3 +48,12 @@ class PassthroughAction:
|
|
48
48
|
path_to_output_file += ".sdoc"
|
49
49
|
with open(path_to_output_file, "w", encoding="utf8") as file:
|
50
50
|
file.write(output)
|
51
|
+
|
52
|
+
for fragment_path_, fragment_content_ in fragments_dict.items():
|
53
|
+
path_to_output_fragment = os.path.join(
|
54
|
+
path_to_output_file_dir, fragment_path_
|
55
|
+
)
|
56
|
+
with open(
|
57
|
+
path_to_output_fragment, "w", encoding="utf8"
|
58
|
+
) as file_:
|
59
|
+
file_.write(fragment_content_)
|