core-parser-app 2.8.0__tar.gz → 2.9.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.8.0 → core_parser_app-2.9.0}/PKG-INFO +1 -1
- core_parser_app-2.9.0/core_parser_app/management/commands/loadmodules.py +25 -0
- core_parser_app-2.9.0/core_parser_app/tools/modules/discover.py +101 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/views/module.py +0 -1
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/static/core_parser_app/js/buttons.js +2 -2
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app.egg-info/PKG-INFO +1 -1
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app.egg-info/SOURCES.txt +7 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app.egg-info/requires.txt +1 -1
- core_parser_app-2.9.0/requirements.core.txt +1 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/setup.py +1 -1
- core_parser_app-2.9.0/tests/commands/tests_unit.py +15 -0
- core_parser_app-2.9.0/tests/discover/tests_unit.py +128 -0
- {core_parser_app-2.8.0/tests/tools/parser/parser → core_parser_app-2.9.0/tests/tools}/__init__.py +0 -0
- core_parser_app-2.9.0/tests/views/__init__.py +0 -0
- core_parser_app-2.9.0/tests/views/common/__init__.py +0 -0
- core_parser_app-2.9.0/tests/views/user/__init__.py +0 -0
- core_parser_app-2.9.0/tests/views/user/ajax/__init__.py +0 -0
- core_parser_app-2.8.0/core_parser_app/tools/modules/discover.py +0 -77
- core_parser_app-2.8.0/requirements.core.txt +0 -1
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/LICENSE.md +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/MANIFEST.in +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/README.rst +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/access_control.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/admin.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/apps.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/components/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/components/data_structure/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/components/data_structure/admin_site.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/components/data_structure/api.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/components/data_structure/models.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/components/data_structure_element/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/components/data_structure_element/admin_site.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/components/data_structure_element/api.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/components/module/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/components/module/admin_site.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/components/module/api.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/components/module/models.py +0 -0
- {core_parser_app-2.8.0/core_parser_app/migrations → core_parser_app-2.9.0/core_parser_app/management}/__init__.py +0 -0
- {core_parser_app-2.8.0/core_parser_app/system → core_parser_app-2.9.0/core_parser_app/management/commands}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/migrations/0001_initial.py +0 -0
- {core_parser_app-2.8.0/core_parser_app/tools → core_parser_app-2.9.0/core_parser_app/migrations}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/settings.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/static/core_parser_app/common/css/modules.css +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/static/core_parser_app/common/js/module_manager.js +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/static/core_parser_app/common/js/module_manager.raw.js +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/static/core_parser_app/common/xsd/annotations.xsd +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/static/core_parser_app/common/xsd/boolean.xsd +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/static/core_parser_app/common/xsd/date.xsd +0 -0
- {core_parser_app-2.8.0/core_parser_app/tools/modules → core_parser_app-2.9.0/core_parser_app/system}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/system/api.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tasks.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/templates/core_parser_app/common/modals/add_module.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/templates/core_parser_app/common/module_manager.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/templates/core_parser_app/common/module_manager_box.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/templates/core_parser_app/common/modules.html +0 -0
- {core_parser_app-2.8.0/core_parser_app/tools/modules/views → core_parser_app-2.9.0/core_parser_app/tools}/__init__.py +0 -0
- {core_parser_app-2.8.0/core_parser_app/tools/modules/views/builtin → core_parser_app-2.9.0/core_parser_app/tools/modules}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/exceptions.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/sanitize.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/static/core_parser_app/css/builtin/checkboxes.css +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/static/core_parser_app/css/builtin/textarea.css +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/static/core_parser_app/js/builtin/autocomplete.js +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/static/core_parser_app/js/builtin/checkboxes.js +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/static/core_parser_app/js/builtin/input.js +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/static/core_parser_app/js/builtin/options.js +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/static/core_parser_app/js/builtin/popup.js +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/static/core_parser_app/js/builtin/sync_input.js +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/static/core_parser_app/js/builtin/textarea.js +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/static/core_parser_app/js/commons/file_uploader.js +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/static/core_parser_app/js/modules.js +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/static/core_parser_app/js/modules.raw.js +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/static/core_parser_app/xsl/xsd2html4modules.xsl +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/templates/core_parser_app/builtin/autocomplete.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/templates/core_parser_app/builtin/checkboxes.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/templates/core_parser_app/builtin/input.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/templates/core_parser_app/builtin/input_button.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/templates/core_parser_app/builtin/modal_wrapper.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/templates/core_parser_app/builtin/options.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/templates/core_parser_app/builtin/popup.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/templates/core_parser_app/builtin/sync_input.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/templates/core_parser_app/builtin/textarea.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/templates/core_parser_app/commons/file_uploader.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/templates/core_parser_app/module.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/urls.py +0 -0
- {core_parser_app-2.8.0/core_parser_app/tools/parser → core_parser_app-2.9.0/core_parser_app/tools/modules/views}/__init__.py +0 -0
- {core_parser_app-2.8.0/core_parser_app/tools/parser/utils → core_parser_app-2.9.0/core_parser_app/tools/modules/views/builtin}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/views/builtin/autocomplete_module.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/views/builtin/checkboxes_module.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/views/builtin/input_button_module.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/views/builtin/input_module.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/views/builtin/options_module.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/views/builtin/popup_module.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/views/builtin/sync_input_module.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/views/builtin/textarea_module.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/views/views.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/xpathaccessor.py +0 -0
- {core_parser_app-2.8.0/core_parser_app/utils → core_parser_app-2.9.0/core_parser_app/tools/parser}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/exceptions.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/parser.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/renderer/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/renderer/checkbox.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/renderer/list.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/renderer/table.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/renderer/xml.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/static/core_parser_app/css/use.css +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/static/core_parser_app/js/autosave.js +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/static/core_parser_app/js/autosave.raw.js +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/static/core_parser_app/js/autosave_checkbox.js +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/static/core_parser_app/js/choice.js +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/default/buttons/add.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/default/buttons/collapse.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/default/buttons/delete.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/default/form-error.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/default/inputs/boolean.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/default/inputs/checkbox.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/default/inputs/date.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/default/inputs/input.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/default/inputs/select.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/default/test/sample_no_data.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/default/test/sample_with_data.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/default/ul.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/default/warning.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/list/attributes.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/list/li.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/list/ul.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/table/table.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/table/tr.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/table/wrap.html +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/templates/renderer/xml/element.html +0 -0
- {core_parser_app-2.8.0/core_parser_app/views → core_parser_app-2.9.0/core_parser_app/tools/parser/utils}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/utils/rendering.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/utils/xml.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/urls.py +0 -0
- {core_parser_app-2.8.0/core_parser_app/views/admin → core_parser_app-2.9.0/core_parser_app/utils}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/utils/xml.py +0 -0
- {core_parser_app-2.8.0/core_parser_app/views/common → core_parser_app-2.9.0/core_parser_app/views}/__init__.py +0 -0
- {core_parser_app-2.8.0/core_parser_app/views/user → core_parser_app-2.9.0/core_parser_app/views/admin}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/views/admin/views.py +0 -0
- {core_parser_app-2.8.0/tests → core_parser_app-2.9.0/core_parser_app/views/common}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/views/common/ajax.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/views/common/views.py +0 -0
- {core_parser_app-2.8.0/tests/access_control → core_parser_app-2.9.0/core_parser_app/views/user}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/views/user/ajax.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app.egg-info/dependency_links.txt +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app.egg-info/top_level.txt +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/pyproject.toml +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/requirements.txt +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/setup.cfg +0 -0
- {core_parser_app-2.8.0/tests/components → core_parser_app-2.9.0/tests}/__init__.py +0 -0
- {core_parser_app-2.8.0/tests/components/data_structure → core_parser_app-2.9.0/tests/access_control}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/access_control/test_unit.py +0 -0
- {core_parser_app-2.8.0/tests/components/data_structure_element → core_parser_app-2.9.0/tests/commands}/__init__.py +0 -0
- {core_parser_app-2.8.0/tests/components/data_structure_element/fixtures → core_parser_app-2.9.0/tests/components}/__init__.py +0 -0
- {core_parser_app-2.8.0/tests/components/module → core_parser_app-2.9.0/tests/components/data_structure}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/components/data_structure/tests_int.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/components/data_structure/tests_unit.py +0 -0
- {core_parser_app-2.8.0/tests/tools → core_parser_app-2.9.0/tests/components/data_structure_element}/__init__.py +0 -0
- {core_parser_app-2.8.0/tests/tools/modules → core_parser_app-2.9.0/tests/components/data_structure_element/fixtures}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/components/data_structure_element/fixtures/fixtures.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/components/data_structure_element/test_int_access_control.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/components/data_structure_element/tests_int.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/components/data_structure_element/tests_unit.py +0 -0
- {core_parser_app-2.8.0/tests/tools/modules/tests → core_parser_app-2.9.0/tests/components/module}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/components/module/tests_unit.py +0 -0
- {core_parser_app-2.8.0/tests/tools/parser → core_parser_app-2.9.0/tests/discover}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/fixtures_utils.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/models.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/rights.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/test_settings.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/test_utils.py +0 -0
- {core_parser_app-2.8.0/tests/tools/parser/renderer → core_parser_app-2.9.0/tests/tools/modules}/__init__.py +0 -0
- {core_parser_app-2.8.0/tests/tools/parser/renderer/list → core_parser_app-2.9.0/tests/tools/modules/tests}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/modules/tests/tests_unit_checkboxes_module.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/modules/tests/tests_unit_module.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/modules/tests/tests_unit_sanitize.py +0 -0
- {core_parser_app-2.8.0/tests/views → core_parser_app-2.9.0/tests/tools/parser}/__init__.py +0 -0
- {core_parser_app-2.8.0/tests/views/common → core_parser_app-2.9.0/tests/tools/parser/parser}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/parser/parser/test_choice.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/parser/parser/test_complex_content.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/parser/parser/test_complex_type.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/parser/parser/test_element.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/parser/parser/test_extension.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/parser/parser/test_parser.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/parser/parser/test_restriction.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/parser/parser/test_sequence.py +0 -0
- {core_parser_app-2.8.0/tests/views/user → core_parser_app-2.9.0/tests/tools/parser/renderer}/__init__.py +0 -0
- {core_parser_app-2.8.0/tests/views/user/ajax → core_parser_app-2.9.0/tests/tools/parser/renderer/list}/__init__.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/parser/renderer/list/tests_unit.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/parser/renderer/tests_unit.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/views/common/test_unit.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/views/user/ajax/fixtures.py +0 -0
- {core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/views/user/ajax/test_int_access_control.py +0 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"""Load modules command
|
|
2
|
+
"""
|
|
3
|
+
from django.core.management.base import BaseCommand
|
|
4
|
+
from django.urls import get_resolver
|
|
5
|
+
|
|
6
|
+
from core_parser_app.tools.modules.discover import reload_modules
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class Command(BaseCommand):
|
|
10
|
+
help = "Reload modules from list of urls"
|
|
11
|
+
|
|
12
|
+
def handle(self, *args, **options):
|
|
13
|
+
"""handle
|
|
14
|
+
|
|
15
|
+
Args:
|
|
16
|
+
*args:
|
|
17
|
+
**options:
|
|
18
|
+
|
|
19
|
+
Returns:
|
|
20
|
+
|
|
21
|
+
"""
|
|
22
|
+
reload_modules(get_resolver().url_patterns)
|
|
23
|
+
self.stdout.write(
|
|
24
|
+
self.style.SUCCESS("Modules were reloaded in database.")
|
|
25
|
+
)
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"""Auto discovery of modules
|
|
2
|
+
"""
|
|
3
|
+
import logging
|
|
4
|
+
|
|
5
|
+
from django.db import IntegrityError
|
|
6
|
+
from django.urls import URLPattern, URLResolver
|
|
7
|
+
|
|
8
|
+
from core_main_app.commons.exceptions import ModelError
|
|
9
|
+
from core_parser_app.components.module import api as module_api
|
|
10
|
+
from core_parser_app.components.module.models import Module
|
|
11
|
+
from core_parser_app.tools.modules.exceptions import ModuleError
|
|
12
|
+
from core_parser_app.tools.modules.views.module import AbstractModule
|
|
13
|
+
|
|
14
|
+
logger = logging.getLogger(__name__)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def reload_modules(urls):
|
|
18
|
+
"""Reload modules in database
|
|
19
|
+
|
|
20
|
+
:return:
|
|
21
|
+
"""
|
|
22
|
+
logger.info("START discover modules.")
|
|
23
|
+
|
|
24
|
+
try:
|
|
25
|
+
# Remove all existing modules
|
|
26
|
+
module_api.delete_all()
|
|
27
|
+
except Exception as exc:
|
|
28
|
+
logger.warning(str(exc))
|
|
29
|
+
return
|
|
30
|
+
|
|
31
|
+
# Look for modules in project urls
|
|
32
|
+
try:
|
|
33
|
+
for url in urls:
|
|
34
|
+
if isinstance(url, URLPattern):
|
|
35
|
+
_save_module(url)
|
|
36
|
+
elif isinstance(url, URLResolver):
|
|
37
|
+
for url_pattern in url.url_patterns:
|
|
38
|
+
_save_module(url_pattern)
|
|
39
|
+
except ModelError:
|
|
40
|
+
# something went wrong, delete already added modules
|
|
41
|
+
error_msg = (
|
|
42
|
+
"A validation error occurred during the module discovery. "
|
|
43
|
+
"Please provide a name to all modules urls using the name argument."
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
logger.error(
|
|
47
|
+
"Discover modules failed with error %s. All modules will be deleted.",
|
|
48
|
+
error_msg,
|
|
49
|
+
)
|
|
50
|
+
module_api.delete_all()
|
|
51
|
+
raise ModuleError(error_msg)
|
|
52
|
+
except Exception as exception:
|
|
53
|
+
# something went wrong, delete already added modules
|
|
54
|
+
logger.error(
|
|
55
|
+
"Discover modules failed with error %s. All modules will be deleted.",
|
|
56
|
+
str(exception),
|
|
57
|
+
)
|
|
58
|
+
module_api.delete_all()
|
|
59
|
+
raise exception
|
|
60
|
+
|
|
61
|
+
logger.info("FINISH discover modules.")
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def _save_module(url_pattern):
|
|
65
|
+
"""Save module from a URL pattern
|
|
66
|
+
|
|
67
|
+
Args:
|
|
68
|
+
url_pattern:
|
|
69
|
+
|
|
70
|
+
Returns:
|
|
71
|
+
|
|
72
|
+
"""
|
|
73
|
+
module_view_name = _get_module_view_name_from_url(url_pattern)
|
|
74
|
+
if module_view_name.startswith("core_module_"):
|
|
75
|
+
module_view = AbstractModule.get_view_from_view_path(module_view_name)
|
|
76
|
+
if issubclass(module_view, AbstractModule):
|
|
77
|
+
module_object = Module(
|
|
78
|
+
url=url_pattern.pattern.regex.pattern,
|
|
79
|
+
name=url_pattern.name,
|
|
80
|
+
view=module_view_name,
|
|
81
|
+
multiple=module_view.is_managing_occurrences,
|
|
82
|
+
)
|
|
83
|
+
try:
|
|
84
|
+
module_api.upsert(module_object)
|
|
85
|
+
except IntegrityError:
|
|
86
|
+
logger.info(
|
|
87
|
+
"The module %s is already present in the database.",
|
|
88
|
+
url_pattern.name,
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
def _get_module_view_name_from_url(url_pattern):
|
|
93
|
+
"""
|
|
94
|
+
|
|
95
|
+
Args:
|
|
96
|
+
url_pattern:
|
|
97
|
+
|
|
98
|
+
Returns:
|
|
99
|
+
|
|
100
|
+
"""
|
|
101
|
+
return url_pattern.lookup_str if hasattr(url_pattern, "lookup_str") else ""
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
// If new modules are included, we need to load the resources
|
|
61
61
|
initModules();
|
|
62
62
|
|
|
63
|
-
console.log("Element " + elementId + "
|
|
63
|
+
console.log("Element " + elementId + " created");
|
|
64
64
|
},
|
|
65
65
|
error: function() {
|
|
66
66
|
console.error("An error occurred while generating a new element.");
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
$element.remove();
|
|
112
|
-
console.log("Element " + elementId + "
|
|
112
|
+
console.log("Element " + elementId + " removed");
|
|
113
113
|
},
|
|
114
114
|
error: function() {
|
|
115
115
|
console.error("An error occurred while generating a new element.");
|
|
@@ -29,6 +29,9 @@ core_parser_app/components/module/__init__.py
|
|
|
29
29
|
core_parser_app/components/module/admin_site.py
|
|
30
30
|
core_parser_app/components/module/api.py
|
|
31
31
|
core_parser_app/components/module/models.py
|
|
32
|
+
core_parser_app/management/__init__.py
|
|
33
|
+
core_parser_app/management/commands/__init__.py
|
|
34
|
+
core_parser_app/management/commands/loadmodules.py
|
|
32
35
|
core_parser_app/migrations/0001_initial.py
|
|
33
36
|
core_parser_app/migrations/__init__.py
|
|
34
37
|
core_parser_app/static/core_parser_app/common/css/modules.css
|
|
@@ -141,6 +144,8 @@ tests/test_settings.py
|
|
|
141
144
|
tests/test_utils.py
|
|
142
145
|
tests/access_control/__init__.py
|
|
143
146
|
tests/access_control/test_unit.py
|
|
147
|
+
tests/commands/__init__.py
|
|
148
|
+
tests/commands/tests_unit.py
|
|
144
149
|
tests/components/__init__.py
|
|
145
150
|
tests/components/data_structure/__init__.py
|
|
146
151
|
tests/components/data_structure/tests_int.py
|
|
@@ -153,6 +158,8 @@ tests/components/data_structure_element/fixtures/__init__.py
|
|
|
153
158
|
tests/components/data_structure_element/fixtures/fixtures.py
|
|
154
159
|
tests/components/module/__init__.py
|
|
155
160
|
tests/components/module/tests_unit.py
|
|
161
|
+
tests/discover/__init__.py
|
|
162
|
+
tests/discover/tests_unit.py
|
|
156
163
|
tests/tools/__init__.py
|
|
157
164
|
tests/tools/modules/__init__.py
|
|
158
165
|
tests/tools/modules/tests/__init__.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
core-main-app==2.9.*
|
|
@@ -41,7 +41,7 @@ required = [req_link(r) if r.startswith("https://") else r for r in required]
|
|
|
41
41
|
|
|
42
42
|
setup(
|
|
43
43
|
name="core_parser_app",
|
|
44
|
-
version="2.
|
|
44
|
+
version="2.9.0",
|
|
45
45
|
description="XSD parser tools for the curator core project",
|
|
46
46
|
long_description=long_desc,
|
|
47
47
|
author="NIST IT Lab",
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"""Module command unit testing
|
|
2
|
+
"""
|
|
3
|
+
from io import StringIO
|
|
4
|
+
from unittest.case import TestCase
|
|
5
|
+
|
|
6
|
+
from django.core.management import call_command
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class TestLoadModulesCommand(TestCase):
|
|
10
|
+
"""Test Load Modules command"""
|
|
11
|
+
|
|
12
|
+
def test_command_output(self):
|
|
13
|
+
out = StringIO()
|
|
14
|
+
call_command("loadmodules", stdout=out)
|
|
15
|
+
self.assertIn("Modules were reloaded in database.", out.getvalue())
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"""Module discover unit testing
|
|
2
|
+
"""
|
|
3
|
+
from unittest.case import TestCase
|
|
4
|
+
from unittest.mock import patch
|
|
5
|
+
|
|
6
|
+
from django.db import IntegrityError
|
|
7
|
+
from django.urls import re_path
|
|
8
|
+
|
|
9
|
+
from core_main_app.commons.exceptions import ModelError
|
|
10
|
+
from core_parser_app.tools.modules.discover import reload_modules
|
|
11
|
+
from core_parser_app.tools.modules.exceptions import ModuleError
|
|
12
|
+
from core_parser_app.tools.modules.views.module import AbstractModule
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class TestDiscoverModules(TestCase):
|
|
16
|
+
"""Test Discover Modules"""
|
|
17
|
+
|
|
18
|
+
@patch("core_parser_app.components.module.api.delete_all")
|
|
19
|
+
def test_discover_modules_stops_if_an_error_occurs_when_deleting_modules(
|
|
20
|
+
self, mock_delete_all
|
|
21
|
+
):
|
|
22
|
+
"""test_discover_modules_stops_if_an_error_occurs_when_deleting_modules
|
|
23
|
+
|
|
24
|
+
Returns:
|
|
25
|
+
|
|
26
|
+
"""
|
|
27
|
+
mock_delete_all.side_effect = Exception()
|
|
28
|
+
reload_modules([])
|
|
29
|
+
self.assertTrue(mock_delete_all.called)
|
|
30
|
+
|
|
31
|
+
@patch(
|
|
32
|
+
"core_parser_app.tools.modules.views.module.AbstractModule.get_view_from_view_path"
|
|
33
|
+
)
|
|
34
|
+
@patch(
|
|
35
|
+
"core_parser_app.tools.modules.discover._get_module_view_name_from_url"
|
|
36
|
+
)
|
|
37
|
+
@patch("core_parser_app.components.module.api.delete_all")
|
|
38
|
+
@patch("core_parser_app.components.module.api.upsert")
|
|
39
|
+
def test_discover_modules_deletes_modules_if_model_errors(
|
|
40
|
+
self,
|
|
41
|
+
mock_upsert,
|
|
42
|
+
mock_delete_all,
|
|
43
|
+
mock_get_module_view_name_from_url,
|
|
44
|
+
mock_get_view_from_view_path,
|
|
45
|
+
):
|
|
46
|
+
"""test_discover_modules_deletes_modules_if_model_errors
|
|
47
|
+
|
|
48
|
+
Returns:
|
|
49
|
+
|
|
50
|
+
"""
|
|
51
|
+
mock_upsert.side_effect = ModelError("error")
|
|
52
|
+
mock_get_module_view_name_from_url.return_value = "core_module_test"
|
|
53
|
+
mock_get_view_from_view_path.return_value = ModuleTest
|
|
54
|
+
with self.assertRaises(ModuleError):
|
|
55
|
+
reload_modules(
|
|
56
|
+
[re_path("module-test", ModuleTest, name="core_module_test")]
|
|
57
|
+
)
|
|
58
|
+
self.assertEqual(mock_delete_all.call_count, 2)
|
|
59
|
+
|
|
60
|
+
@patch(
|
|
61
|
+
"core_parser_app.tools.modules.views.module.AbstractModule.get_view_from_view_path"
|
|
62
|
+
)
|
|
63
|
+
@patch(
|
|
64
|
+
"core_parser_app.tools.modules.discover._get_module_view_name_from_url"
|
|
65
|
+
)
|
|
66
|
+
@patch("core_parser_app.components.module.api.delete_all")
|
|
67
|
+
@patch("core_parser_app.components.module.api.upsert")
|
|
68
|
+
def test_discover_modules_deletes_modules_if_exception(
|
|
69
|
+
self,
|
|
70
|
+
mock_upsert,
|
|
71
|
+
mock_delete_all,
|
|
72
|
+
mock_get_module_view_name_from_url,
|
|
73
|
+
mock_get_view_from_view_path,
|
|
74
|
+
):
|
|
75
|
+
"""test_discover_modules_deletes_modules_if_exception
|
|
76
|
+
|
|
77
|
+
Returns:
|
|
78
|
+
|
|
79
|
+
"""
|
|
80
|
+
mock_upsert.side_effect = Exception("error")
|
|
81
|
+
mock_get_module_view_name_from_url.return_value = "core_module_test"
|
|
82
|
+
mock_get_view_from_view_path.return_value = ModuleTest
|
|
83
|
+
with self.assertRaises(Exception):
|
|
84
|
+
reload_modules(
|
|
85
|
+
[re_path("module-test", ModuleTest, name="core_module_test")]
|
|
86
|
+
)
|
|
87
|
+
self.assertEqual(mock_delete_all.call_count, 2)
|
|
88
|
+
|
|
89
|
+
@patch(
|
|
90
|
+
"core_parser_app.tools.modules.views.module.AbstractModule.get_view_from_view_path"
|
|
91
|
+
)
|
|
92
|
+
@patch(
|
|
93
|
+
"core_parser_app.tools.modules.discover._get_module_view_name_from_url"
|
|
94
|
+
)
|
|
95
|
+
@patch("core_parser_app.components.module.api.delete_all")
|
|
96
|
+
@patch("core_parser_app.components.module.api.upsert")
|
|
97
|
+
def test_discover_continues_if_integrity_error(
|
|
98
|
+
self,
|
|
99
|
+
mock_upsert,
|
|
100
|
+
mock_delete_all,
|
|
101
|
+
mock_get_module_view_name_from_url,
|
|
102
|
+
mock_get_view_from_view_path,
|
|
103
|
+
):
|
|
104
|
+
"""test_discover_modules_deletes_modules_if_integrity_error
|
|
105
|
+
|
|
106
|
+
Returns:
|
|
107
|
+
|
|
108
|
+
"""
|
|
109
|
+
mock_upsert.side_effect = IntegrityError("error")
|
|
110
|
+
mock_get_module_view_name_from_url.return_value = "core_module_test"
|
|
111
|
+
mock_get_view_from_view_path.return_value = ModuleTest
|
|
112
|
+
reload_modules(
|
|
113
|
+
[re_path("module-test", ModuleTest, name="core_module_test")]
|
|
114
|
+
)
|
|
115
|
+
self.assertEqual(mock_delete_all.call_count, 1)
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
class ModuleTest(AbstractModule):
|
|
119
|
+
"""ModuleTest"""
|
|
120
|
+
|
|
121
|
+
def _render_module(self, request):
|
|
122
|
+
pass
|
|
123
|
+
|
|
124
|
+
def _retrieve_data(self, request):
|
|
125
|
+
pass
|
|
126
|
+
|
|
127
|
+
def _render_data(self, request):
|
|
128
|
+
pass
|
{core_parser_app-2.8.0/tests/tools/parser/parser → core_parser_app-2.9.0/tests/tools}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"""Auto discovery of modules
|
|
2
|
-
"""
|
|
3
|
-
import logging
|
|
4
|
-
|
|
5
|
-
from django.db import IntegrityError
|
|
6
|
-
|
|
7
|
-
from core_main_app.commons.exceptions import ModelError
|
|
8
|
-
from core_parser_app.components.module import api as module_api
|
|
9
|
-
from core_parser_app.components.module.models import Module
|
|
10
|
-
from core_parser_app.tools.modules.exceptions import ModuleError
|
|
11
|
-
from core_parser_app.tools.modules.views.module import AbstractModule
|
|
12
|
-
|
|
13
|
-
logger = logging.getLogger(__name__)
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
def discover_modules(urls):
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
:return:
|
|
20
|
-
"""
|
|
21
|
-
logger.info("START discover modules.")
|
|
22
|
-
|
|
23
|
-
try:
|
|
24
|
-
# Remove all existing modules
|
|
25
|
-
module_api.delete_all()
|
|
26
|
-
except Exception:
|
|
27
|
-
logger.warning("Module table is not ready yet")
|
|
28
|
-
return
|
|
29
|
-
|
|
30
|
-
# Look for modules in project urls
|
|
31
|
-
try:
|
|
32
|
-
for url in urls:
|
|
33
|
-
if hasattr(url, "url_patterns"):
|
|
34
|
-
for url_pattern in url.url_patterns:
|
|
35
|
-
module_view_name = (
|
|
36
|
-
url_pattern.lookup_str
|
|
37
|
-
if hasattr(url_pattern, "lookup_str")
|
|
38
|
-
else ""
|
|
39
|
-
)
|
|
40
|
-
if module_view_name.startswith("core_module_"):
|
|
41
|
-
module_view = AbstractModule.get_view_from_view_path(
|
|
42
|
-
module_view_name
|
|
43
|
-
)
|
|
44
|
-
if issubclass(module_view, AbstractModule):
|
|
45
|
-
# FIXME: do not use private field
|
|
46
|
-
module_object = Module(
|
|
47
|
-
url=url_pattern.pattern._regex,
|
|
48
|
-
name=url_pattern.name,
|
|
49
|
-
view=module_view_name,
|
|
50
|
-
multiple=module_view.is_managing_occurrences,
|
|
51
|
-
)
|
|
52
|
-
try:
|
|
53
|
-
module_api.upsert(module_object)
|
|
54
|
-
except IntegrityError:
|
|
55
|
-
logger.info(
|
|
56
|
-
"The module %s is already present in the database.",
|
|
57
|
-
url_pattern.name,
|
|
58
|
-
)
|
|
59
|
-
except ModelError:
|
|
60
|
-
# something went wrong, delete already added modules
|
|
61
|
-
module_api.delete_all()
|
|
62
|
-
|
|
63
|
-
error_msg = (
|
|
64
|
-
"A validation error occurred during the module discovery. "
|
|
65
|
-
"Please provide a name to all modules urls using the name argument."
|
|
66
|
-
)
|
|
67
|
-
|
|
68
|
-
logger.error("Discover modules failed with %s.", error_msg)
|
|
69
|
-
|
|
70
|
-
raise ModuleError(error_msg)
|
|
71
|
-
except Exception as exception:
|
|
72
|
-
# something went wrong, delete already added modules
|
|
73
|
-
module_api.delete_all()
|
|
74
|
-
logger.error("Discover modules failed with %s.", str(exception))
|
|
75
|
-
raise exception
|
|
76
|
-
|
|
77
|
-
logger.info("FINISH discover modules.")
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
core-main-app==2.8.*
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/components/data_structure/api.py
RENAMED
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/components/data_structure/models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/components/module/__init__.py
RENAMED
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/components/module/admin_site.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/views/views.py
RENAMED
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/modules/xpathaccessor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/renderer/__init__.py
RENAMED
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/renderer/checkbox.py
RENAMED
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/renderer/list.py
RENAMED
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/renderer/table.py
RENAMED
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/renderer/xml.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app/tools/parser/utils/rendering.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{core_parser_app-2.8.0/tests → core_parser_app-2.9.0/core_parser_app/views/common}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/core_parser_app.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/components/data_structure/tests_int.py
RENAMED
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/components/data_structure/tests_unit.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/components/data_structure_element/tests_int.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{core_parser_app-2.8.0/tests/tools/parser → core_parser_app-2.9.0/tests/discover}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/modules/tests/tests_unit_module.py
RENAMED
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/modules/tests/tests_unit_sanitize.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/parser/parser/test_complex_content.py
RENAMED
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/parser/parser/test_complex_type.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/parser/parser/test_restriction.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/tools/parser/renderer/list/tests_unit.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{core_parser_app-2.8.0 → core_parser_app-2.9.0}/tests/views/user/ajax/test_int_access_control.py
RENAMED
|
File without changes
|