core-parser-app 2.10.0__tar.gz → 2.11.0__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.
- core_parser_app-2.11.0/PKG-INFO +59 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/access_control.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/admin.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/components/data_structure/admin_site.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/components/data_structure/models.py +9 -7
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/components/data_structure_element/admin_site.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/components/data_structure_element/api.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/components/module/admin_site.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/components/module/api.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/components/module/models.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/management/commands/loadmodules.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/settings.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/system/api.py +13 -6
- core_parser_app-2.11.0/core_parser_app/tasks.py +27 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/discover.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/sanitize.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/views/builtin/autocomplete_module.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/views/builtin/checkboxes_module.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/views/builtin/input_button_module.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/views/builtin/input_module.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/views/builtin/options_module.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/views/builtin/popup_module.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/views/builtin/sync_input_module.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/views/builtin/textarea_module.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/views/module.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/views/views.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/parser.py +12 -13
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/renderer/__init__.py +6 -3
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/renderer/checkbox.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/renderer/list.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/renderer/table.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/renderer/xml.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/utils/rendering.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/utils/xml.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/urls.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/views/admin/views.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/views/common/ajax.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/views/common/views.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/views/user/ajax.py +1 -0
- core_parser_app-2.11.0/core_parser_app.egg-info/PKG-INFO +59 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app.egg-info/SOURCES.txt +3 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app.egg-info/requires.txt +2 -2
- core_parser_app-2.11.0/requirements.core.txt +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/requirements.txt +1 -1
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/setup.py +2 -1
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/commands/tests_unit.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/components/data_structure/tests_unit.py +40 -1
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/components/data_structure_element/fixtures/fixtures.py +149 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/components/data_structure_element/test_int_access_control.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/components/data_structure_element/tests_int.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/components/data_structure_element/tests_unit.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/discover/tests_unit.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/fixtures_utils.py +1 -0
- core_parser_app-2.11.0/tests/tasks/tests_unit.py +26 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/test_settings.py +3 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/test_utils.py +4 -3
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/tools/modules/tests/tests_unit_checkboxes_module.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/tools/modules/tests/tests_unit_module.py +1 -0
- {core_parser_app-2.10.0/tests/tools/parser → core_parser_app-2.11.0/tests/tools}/parser/__init__.py +0 -0
- {core_parser_app-2.10.0/tests/tools/parser/renderer → core_parser_app-2.11.0/tests/tools/parser/parser}/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/tools/parser/parser/test_choice.py +1 -0
- core_parser_app-2.11.0/tests/tools/parser/parser/test_choice_extensions.py +71 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/tools/parser/parser/test_complex_content.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/tools/parser/parser/test_complex_type.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/tools/parser/parser/test_element.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/tools/parser/parser/test_extension.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/tools/parser/parser/test_parser.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/tools/parser/parser/test_restriction.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/tools/parser/parser/test_sequence.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/tools/parser/renderer/list/tests_unit.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/tools/parser/renderer/tests_unit.py +1 -0
- {core_parser_app-2.10.0/tests/views/common → core_parser_app-2.11.0/tests/views}/__init__.py +0 -0
- {core_parser_app-2.10.0/tests/views/user → core_parser_app-2.11.0/tests/views/common}/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/views/common/test_unit.py +1 -0
- core_parser_app-2.11.0/tests/views/user/ajax/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/views/user/ajax/fixtures.py +1 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/views/user/ajax/test_int_access_control.py +1 -0
- core_parser_app-2.10.0/PKG-INFO +0 -55
- core_parser_app-2.10.0/core_parser_app/tasks.py +0 -16
- core_parser_app-2.10.0/core_parser_app.egg-info/PKG-INFO +0 -55
- core_parser_app-2.10.0/requirements.core.txt +0 -1
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/LICENSE.md +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/MANIFEST.in +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/README.rst +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/apps.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/components/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/components/data_structure/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/components/data_structure/api.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/components/data_structure_element/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/components/module/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/management/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/management/commands/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/migrations/0001_initial.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/migrations/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/static/core_parser_app/common/css/modules.css +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/static/core_parser_app/common/js/module_manager.js +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/static/core_parser_app/common/js/module_manager.raw.js +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/static/core_parser_app/common/xsd/annotations.xsd +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/static/core_parser_app/common/xsd/boolean.xsd +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/static/core_parser_app/common/xsd/date.xsd +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/system/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/templates/core_parser_app/common/modals/add_module.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/templates/core_parser_app/common/module_manager.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/templates/core_parser_app/common/module_manager_box.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/templates/core_parser_app/common/modules.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/exceptions.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/static/core_parser_app/css/builtin/checkboxes.css +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/static/core_parser_app/css/builtin/textarea.css +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/static/core_parser_app/js/builtin/autocomplete.js +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/static/core_parser_app/js/builtin/checkboxes.js +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/static/core_parser_app/js/builtin/input.js +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/static/core_parser_app/js/builtin/options.js +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/static/core_parser_app/js/builtin/popup.js +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/static/core_parser_app/js/builtin/sync_input.js +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/static/core_parser_app/js/builtin/textarea.js +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/static/core_parser_app/js/commons/file_uploader.js +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/static/core_parser_app/js/modules.js +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/static/core_parser_app/js/modules.raw.js +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/static/core_parser_app/xsl/xsd2html4modules.xsl +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/templates/core_parser_app/builtin/autocomplete.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/templates/core_parser_app/builtin/checkboxes.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/templates/core_parser_app/builtin/input.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/templates/core_parser_app/builtin/input_button.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/templates/core_parser_app/builtin/modal_wrapper.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/templates/core_parser_app/builtin/options.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/templates/core_parser_app/builtin/popup.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/templates/core_parser_app/builtin/sync_input.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/templates/core_parser_app/builtin/textarea.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/templates/core_parser_app/commons/file_uploader.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/templates/core_parser_app/module.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/urls.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/views/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/views/builtin/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/modules/xpathaccessor.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/exceptions.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/static/core_parser_app/css/use.css +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/static/core_parser_app/js/autosave.js +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/static/core_parser_app/js/autosave.raw.js +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/static/core_parser_app/js/autosave_checkbox.js +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/static/core_parser_app/js/buttons.js +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/static/core_parser_app/js/choice.js +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/default/buttons/add.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/default/buttons/collapse.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/default/buttons/delete.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/default/form-error.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/default/inputs/boolean.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/default/inputs/checkbox.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/default/inputs/date.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/default/inputs/input.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/default/inputs/select.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/default/test/sample_no_data.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/default/test/sample_with_data.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/default/ul.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/default/warning.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/list/attributes.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/list/li.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/list/ul.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/table/table.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/table/tr.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/table/wrap.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/templates/renderer/xml/element.html +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/utils/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/utils/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/utils/xml.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/views/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/views/admin/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/views/common/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/views/user/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app.egg-info/dependency_links.txt +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app.egg-info/top_level.txt +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/pyproject.toml +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/setup.cfg +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/access_control/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/access_control/test_unit.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/commands/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/components/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/components/data_structure/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/components/data_structure/tests_int.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/components/data_structure_element/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/components/data_structure_element/fixtures/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/components/module/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/components/module/tests_unit.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/discover/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/models.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/rights.py +0 -0
- {core_parser_app-2.10.0/tests/tools → core_parser_app-2.11.0/tests/tasks}/__init__.py +0 -0
- {core_parser_app-2.10.0/tests/tools/modules → core_parser_app-2.11.0/tests/tools}/__init__.py +0 -0
- {core_parser_app-2.10.0/tests/tools/modules/tests → core_parser_app-2.11.0/tests/tools/modules}/__init__.py +0 -0
- {core_parser_app-2.10.0/tests/tools/parser → core_parser_app-2.11.0/tests/tools/modules/tests}/__init__.py +0 -0
- {core_parser_app-2.10.0 → core_parser_app-2.11.0}/tests/tools/modules/tests/tests_unit_sanitize.py +0 -0
- {core_parser_app-2.10.0/tests/tools/parser/renderer/list → core_parser_app-2.11.0/tests/tools/parser/renderer}/__init__.py +0 -0
- {core_parser_app-2.10.0/tests/views → core_parser_app-2.11.0/tests/tools/parser/renderer/list}/__init__.py +0 -0
- {core_parser_app-2.10.0/tests/views/user/ajax → core_parser_app-2.11.0/tests/views/user}/__init__.py +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: core_parser_app
|
|
3
|
+
Version: 2.11.0
|
|
4
|
+
Summary: XSD parser tools for the curator core project
|
|
5
|
+
Home-page: https://github.com/usnistgov/core_parser_app
|
|
6
|
+
Author: NIST IT Lab
|
|
7
|
+
Author-email: itl_inquiries@nist.gov
|
|
8
|
+
License-File: LICENSE.md
|
|
9
|
+
Requires-Dist: celery
|
|
10
|
+
Requires-Dist: Django
|
|
11
|
+
Requires-Dist: djangorestframework
|
|
12
|
+
Requires-Dist: lxml==5.2.*
|
|
13
|
+
Requires-Dist: core-main-app==2.11.*
|
|
14
|
+
|
|
15
|
+
===============
|
|
16
|
+
Core Parser App
|
|
17
|
+
===============
|
|
18
|
+
|
|
19
|
+
XSD parser, renderers and modules for the curator core project.
|
|
20
|
+
|
|
21
|
+
Quick start
|
|
22
|
+
===========
|
|
23
|
+
|
|
24
|
+
1. Add "core_parser_app" to your INSTALLED_APPS setting
|
|
25
|
+
-------------------------------------------------------
|
|
26
|
+
|
|
27
|
+
.. code:: python
|
|
28
|
+
|
|
29
|
+
INSTALLED_APPS = [
|
|
30
|
+
...
|
|
31
|
+
"core_parser_app",
|
|
32
|
+
"core_parser_app.tools.modules",
|
|
33
|
+
"core_parser_app.tools.parser",
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
2. Include the core_parser_app URLconf in your project urls.py
|
|
37
|
+
--------------------------------------------------------------
|
|
38
|
+
|
|
39
|
+
.. code:: python
|
|
40
|
+
|
|
41
|
+
url(r'^parser/', include("core_parser_app.urls")),
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
Migration to the Bootstrap modal
|
|
45
|
+
================================
|
|
46
|
+
Breaking changes during the migration from the jQuery UI modal to the Bootstrap modal for the module :
|
|
47
|
+
|
|
48
|
+
- The JavaScript global variables **openModule**, **openPopUp** and **initialState** from the popup.js file have been deleted.
|
|
49
|
+
- The JavaScript variable **openModule** has been renamed to **moduleElement**.
|
|
50
|
+
- The modal management has been changed. JQuery UI reused the same DOM element for all modal loaded in the page. Bootstrap use a unique DOM element for each modal. Consequently the main modal container will have the following unique ID : **modal-{{module_id}}**.
|
|
51
|
+
- The save callback uses the new variable **openModule** to get the unique DOM container and get the value to save.
|
|
52
|
+
- The Django form id must be changed be because it is not unique and can create conflict if the page includes a module more than one time (example with the BLOBHostForm):
|
|
53
|
+
|
|
54
|
+
.. code:: python
|
|
55
|
+
|
|
56
|
+
form = BLOBHostForm()
|
|
57
|
+
form.fields["file"].widget.attrs.update(
|
|
58
|
+
{"id": "file-input-%s" % str(module_id)}
|
|
59
|
+
)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
""" Data structure model
|
|
2
2
|
"""
|
|
3
|
+
|
|
3
4
|
import logging
|
|
4
5
|
from abc import abstractmethod
|
|
5
6
|
|
|
@@ -8,7 +9,6 @@ from django.db import models
|
|
|
8
9
|
|
|
9
10
|
from core_main_app.commons import exceptions
|
|
10
11
|
from core_main_app.components.template.models import Template
|
|
11
|
-
from core_parser_app.tasks import delete_branch_task
|
|
12
12
|
|
|
13
13
|
logger = logging.getLogger(__name__)
|
|
14
14
|
|
|
@@ -204,15 +204,15 @@ class DataStructure(models.Model):
|
|
|
204
204
|
"No data structure found for the given id."
|
|
205
205
|
)
|
|
206
206
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
"""Pre delete operations
|
|
207
|
+
def delete_data_structure_with_elements(self):
|
|
208
|
+
"""delete_data_structure
|
|
210
209
|
|
|
211
210
|
Returns:
|
|
212
|
-
|
|
213
211
|
"""
|
|
214
|
-
|
|
215
|
-
|
|
212
|
+
from core_parser_app.tasks import delete_data_structure_task
|
|
213
|
+
|
|
214
|
+
# Delete data structure
|
|
215
|
+
delete_data_structure_task.apply_async((str(self.id),))
|
|
216
216
|
|
|
217
217
|
def delete_data_structure_elements_from_root(self):
|
|
218
218
|
"""Delete all data structure elements from the root
|
|
@@ -220,6 +220,8 @@ class DataStructure(models.Model):
|
|
|
220
220
|
Returns:
|
|
221
221
|
|
|
222
222
|
"""
|
|
223
|
+
from core_parser_app.tasks import delete_branch_task
|
|
224
|
+
|
|
223
225
|
if self.data_structure_element_root is not None:
|
|
224
226
|
delete_branch_task.apply_async(
|
|
225
227
|
(str(self.data_structure_element_root.id),)
|
|
@@ -2,14 +2,10 @@
|
|
|
2
2
|
"""
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
# TODO: look into using delete cascade
|
|
6
|
-
# FIXME: not removing all data structure elements
|
|
7
5
|
def delete_branch_from_db(element_id):
|
|
8
6
|
"""Delete a branch from the database
|
|
9
|
-
|
|
10
7
|
Args:
|
|
11
8
|
element_id:
|
|
12
|
-
|
|
13
9
|
Returns:
|
|
14
10
|
"""
|
|
15
11
|
from core_parser_app.components.data_structure.models import (
|
|
@@ -17,8 +13,19 @@ def delete_branch_from_db(element_id):
|
|
|
17
13
|
)
|
|
18
14
|
|
|
19
15
|
element = DataStructureElement.get_by_id(element_id)
|
|
20
|
-
|
|
21
16
|
for child in element.children.all():
|
|
22
17
|
delete_branch_from_db(str(child.pk))
|
|
23
|
-
|
|
24
18
|
element.delete()
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def get_data_structure_by_id(data_structure_id):
|
|
22
|
+
"""get_data_structure_by_id
|
|
23
|
+
Args:
|
|
24
|
+
data_structure_id:
|
|
25
|
+
Returns:
|
|
26
|
+
"""
|
|
27
|
+
from core_parser_app.components.data_structure.models import (
|
|
28
|
+
DataStructure,
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
return DataStructure.get_by_id(data_structure_id)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
""" Parser tasks
|
|
2
|
+
"""
|
|
3
|
+
|
|
4
|
+
from celery import shared_task
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@shared_task
|
|
8
|
+
def delete_branch_task(data_structure_element_root_id):
|
|
9
|
+
"""
|
|
10
|
+
Args:
|
|
11
|
+
data_structure_element_root_id: Data Structure Element Root id.
|
|
12
|
+
"""
|
|
13
|
+
from core_parser_app.system import api as system_api
|
|
14
|
+
|
|
15
|
+
system_api.delete_branch_from_db(data_structure_element_root_id)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@shared_task
|
|
19
|
+
def delete_data_structure_task(data_structure_id):
|
|
20
|
+
"""
|
|
21
|
+
Args:
|
|
22
|
+
data_structure_id: Data Structure id
|
|
23
|
+
"""
|
|
24
|
+
from core_parser_app.system import api as system_api
|
|
25
|
+
|
|
26
|
+
data_structure = system_api.get_data_structure_by_id(data_structure_id)
|
|
27
|
+
data_structure.delete()
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"""Parser class
|
|
2
2
|
"""
|
|
3
|
+
|
|
3
4
|
import logging
|
|
4
5
|
import numbers
|
|
5
6
|
import re
|
|
@@ -1883,7 +1884,7 @@ class XSDParser:
|
|
|
1883
1884
|
)
|
|
1884
1885
|
)
|
|
1885
1886
|
|
|
1886
|
-
for
|
|
1887
|
+
for counter, choiceChild in enumerate(list(element)):
|
|
1887
1888
|
# For unbounded choice, explicitly don't generate the choices not selected
|
|
1888
1889
|
if choiceChild.tag == "{0}element".format(
|
|
1889
1890
|
LXML_SCHEMA_NAMESPACE
|
|
@@ -1892,9 +1893,9 @@ class XSDParser:
|
|
|
1892
1893
|
xml_tree_str = XSDTree.tostring(xml_tree)
|
|
1893
1894
|
namespaces = get_namespaces(xml_tree_str)
|
|
1894
1895
|
# add the XSI prefix used by extensions
|
|
1895
|
-
namespaces[
|
|
1896
|
-
"
|
|
1897
|
-
|
|
1896
|
+
namespaces["xsi"] = (
|
|
1897
|
+
"http://www.w3.org/2001/XMLSchema-instance"
|
|
1898
|
+
)
|
|
1898
1899
|
(
|
|
1899
1900
|
target_namespace,
|
|
1900
1901
|
target_namespace_prefix,
|
|
@@ -2137,9 +2138,9 @@ class XSDParser:
|
|
|
2137
2138
|
"value": None,
|
|
2138
2139
|
"children": [],
|
|
2139
2140
|
"options": {
|
|
2140
|
-
"name":
|
|
2141
|
-
|
|
2142
|
-
|
|
2141
|
+
"name": (
|
|
2142
|
+
element.attrib["name"] if "name" in element.attrib else ""
|
|
2143
|
+
),
|
|
2143
2144
|
"xmlns": get_element_namespace(element, xml_tree),
|
|
2144
2145
|
},
|
|
2145
2146
|
}
|
|
@@ -2289,9 +2290,9 @@ class XSDParser:
|
|
|
2289
2290
|
"value": None,
|
|
2290
2291
|
"children": [],
|
|
2291
2292
|
"options": {
|
|
2292
|
-
"name":
|
|
2293
|
-
|
|
2294
|
-
|
|
2293
|
+
"name": (
|
|
2294
|
+
element.attrib["name"] if "name" in element.attrib else ""
|
|
2295
|
+
),
|
|
2295
2296
|
"xmlns": get_element_namespace(element, xml_tree),
|
|
2296
2297
|
},
|
|
2297
2298
|
}
|
|
@@ -2524,7 +2525,7 @@ class XSDParser:
|
|
|
2524
2525
|
}
|
|
2525
2526
|
self.check_in_memory_elements()
|
|
2526
2527
|
|
|
2527
|
-
for
|
|
2528
|
+
for counter, choiceChild in enumerate(list(element)):
|
|
2528
2529
|
|
|
2529
2530
|
if is_root:
|
|
2530
2531
|
if target_namespace_prefix != "":
|
|
@@ -2577,8 +2578,6 @@ class XSDParser:
|
|
|
2577
2578
|
|
|
2578
2579
|
if opt_label and ":" in opt_label:
|
|
2579
2580
|
opt_label = opt_label.split(":")[1]
|
|
2580
|
-
# if ":" in opt_label:
|
|
2581
|
-
# opt_label = opt_label.split(":")[1]
|
|
2582
2581
|
|
|
2583
2582
|
# look for active choice when editing
|
|
2584
2583
|
if self.editing:
|
{core_parser_app-2.10.0 → core_parser_app-2.11.0}/core_parser_app/tools/parser/renderer/__init__.py
RENAMED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"""Base Renderer class
|
|
2
2
|
"""
|
|
3
|
+
|
|
3
4
|
import logging
|
|
4
5
|
from os.path import join
|
|
5
6
|
|
|
@@ -226,9 +227,11 @@ class DefaultRenderer:
|
|
|
226
227
|
"select_class": select_class,
|
|
227
228
|
"option_list": option_list,
|
|
228
229
|
"fixed": is_fixed,
|
|
229
|
-
"tooltip":
|
|
230
|
-
|
|
231
|
-
|
|
230
|
+
"tooltip": (
|
|
231
|
+
element_options["tooltip"]
|
|
232
|
+
if "tooltip" in element_options
|
|
233
|
+
else ""
|
|
234
|
+
),
|
|
232
235
|
}
|
|
233
236
|
|
|
234
237
|
return self._load_template("select", data)
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: core_parser_app
|
|
3
|
+
Version: 2.11.0
|
|
4
|
+
Summary: XSD parser tools for the curator core project
|
|
5
|
+
Home-page: https://github.com/usnistgov/core_parser_app
|
|
6
|
+
Author: NIST IT Lab
|
|
7
|
+
Author-email: itl_inquiries@nist.gov
|
|
8
|
+
License-File: LICENSE.md
|
|
9
|
+
Requires-Dist: celery
|
|
10
|
+
Requires-Dist: Django
|
|
11
|
+
Requires-Dist: djangorestframework
|
|
12
|
+
Requires-Dist: lxml==5.2.*
|
|
13
|
+
Requires-Dist: core-main-app==2.11.*
|
|
14
|
+
|
|
15
|
+
===============
|
|
16
|
+
Core Parser App
|
|
17
|
+
===============
|
|
18
|
+
|
|
19
|
+
XSD parser, renderers and modules for the curator core project.
|
|
20
|
+
|
|
21
|
+
Quick start
|
|
22
|
+
===========
|
|
23
|
+
|
|
24
|
+
1. Add "core_parser_app" to your INSTALLED_APPS setting
|
|
25
|
+
-------------------------------------------------------
|
|
26
|
+
|
|
27
|
+
.. code:: python
|
|
28
|
+
|
|
29
|
+
INSTALLED_APPS = [
|
|
30
|
+
...
|
|
31
|
+
"core_parser_app",
|
|
32
|
+
"core_parser_app.tools.modules",
|
|
33
|
+
"core_parser_app.tools.parser",
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
2. Include the core_parser_app URLconf in your project urls.py
|
|
37
|
+
--------------------------------------------------------------
|
|
38
|
+
|
|
39
|
+
.. code:: python
|
|
40
|
+
|
|
41
|
+
url(r'^parser/', include("core_parser_app.urls")),
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
Migration to the Bootstrap modal
|
|
45
|
+
================================
|
|
46
|
+
Breaking changes during the migration from the jQuery UI modal to the Bootstrap modal for the module :
|
|
47
|
+
|
|
48
|
+
- The JavaScript global variables **openModule**, **openPopUp** and **initialState** from the popup.js file have been deleted.
|
|
49
|
+
- The JavaScript variable **openModule** has been renamed to **moduleElement**.
|
|
50
|
+
- The modal management has been changed. JQuery UI reused the same DOM element for all modal loaded in the page. Bootstrap use a unique DOM element for each modal. Consequently the main modal container will have the following unique ID : **modal-{{module_id}}**.
|
|
51
|
+
- The save callback uses the new variable **openModule** to get the unique DOM container and get the value to save.
|
|
52
|
+
- The Django form id must be changed be because it is not unique and can create conflict if the page includes a module more than one time (example with the BLOBHostForm):
|
|
53
|
+
|
|
54
|
+
.. code:: python
|
|
55
|
+
|
|
56
|
+
form = BLOBHostForm()
|
|
57
|
+
form.fields["file"].widget.attrs.update(
|
|
58
|
+
{"id": "file-input-%s" % str(module_id)}
|
|
59
|
+
)
|
|
@@ -160,6 +160,8 @@ tests/components/module/__init__.py
|
|
|
160
160
|
tests/components/module/tests_unit.py
|
|
161
161
|
tests/discover/__init__.py
|
|
162
162
|
tests/discover/tests_unit.py
|
|
163
|
+
tests/tasks/__init__.py
|
|
164
|
+
tests/tasks/tests_unit.py
|
|
163
165
|
tests/tools/__init__.py
|
|
164
166
|
tests/tools/modules/__init__.py
|
|
165
167
|
tests/tools/modules/tests/__init__.py
|
|
@@ -169,6 +171,7 @@ tests/tools/modules/tests/tests_unit_sanitize.py
|
|
|
169
171
|
tests/tools/parser/__init__.py
|
|
170
172
|
tests/tools/parser/parser/__init__.py
|
|
171
173
|
tests/tools/parser/parser/test_choice.py
|
|
174
|
+
tests/tools/parser/parser/test_choice_extensions.py
|
|
172
175
|
tests/tools/parser/parser/test_complex_content.py
|
|
173
176
|
tests/tools/parser/parser/test_complex_type.py
|
|
174
177
|
tests/tools/parser/parser/test_element.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
core-main-app==2.11.*
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
""" Setup for core parser app
|
|
2
2
|
"""
|
|
3
|
+
|
|
3
4
|
from os import chdir, pardir
|
|
4
5
|
from os.path import join, exists, dirname, normpath, abspath
|
|
5
6
|
from re import sub
|
|
@@ -41,7 +42,7 @@ required = [req_link(r) if r.startswith("https://") else r for r in required]
|
|
|
41
42
|
|
|
42
43
|
setup(
|
|
43
44
|
name="core_parser_app",
|
|
44
|
-
version="2.
|
|
45
|
+
version="2.11.0",
|
|
45
46
|
description="XSD parser tools for the curator core project",
|
|
46
47
|
long_description=long_desc,
|
|
47
48
|
author="NIST IT Lab",
|