eea.coremetadata 5.4__tar.gz → 6.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.
- {eea_coremetadata-5.4/eea.coremetadata.egg-info → eea_coremetadata-6.0}/PKG-INFO +12 -1
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/docs/HISTORY.txt +11 -0
- eea_coremetadata-6.0/eea/__init__.py +4 -0
- eea_coremetadata-6.0/eea/coremetadata/__init__.py +9 -0
- eea_coremetadata-6.0/eea/coremetadata/behaviors/__init__.py +1 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/behaviors/metadata.py +5 -11
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/behaviors/vocabulary.py +10 -22
- eea_coremetadata-6.0/eea/coremetadata/browser/__init__.py +1 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/index_modifiers.py +2 -4
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/indexer.py +3 -2
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/interfaces.py +49 -48
- eea_coremetadata-6.0/eea/coremetadata/locales/__init__.py +1 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/metadata.py +16 -21
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/setuphandlers.py +7 -11
- eea_coremetadata-6.0/eea/coremetadata/tests/__init__.py +1 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/tests/base.py +21 -21
- eea_coremetadata-6.0/eea/coremetadata/tests/test_doctests.py +31 -0
- eea_coremetadata-6.0/eea/coremetadata/tests/test_pure_functions.py +69 -0
- eea_coremetadata-6.0/eea/coremetadata/upgrades/__init__.py +1 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/upgrades/to_20.py +3 -2
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/upgrades/to_24.py +34 -27
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/upgrades/to_36.py +17 -13
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/upgrades/to_40.py +12 -9
- eea_coremetadata-6.0/eea/coremetadata/upgrades/to_50.py +26 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/upgrades/to_51.py +4 -5
- eea_coremetadata-6.0/eea/coremetadata/version.txt +1 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/vocabulary.py +2 -2
- {eea_coremetadata-5.4 → eea_coremetadata-6.0/eea.coremetadata.egg-info}/PKG-INFO +12 -1
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea.coremetadata.egg-info/SOURCES.txt +1 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/setup.py +18 -19
- eea_coremetadata-5.4/eea/__init__.py +0 -3
- eea_coremetadata-5.4/eea/coremetadata/__init__.py +0 -9
- eea_coremetadata-5.4/eea/coremetadata/behaviors/__init__.py +0 -2
- eea_coremetadata-5.4/eea/coremetadata/browser/__init__.py +0 -2
- eea_coremetadata-5.4/eea/coremetadata/locales/__init__.py +0 -2
- eea_coremetadata-5.4/eea/coremetadata/tests/__init__.py +0 -2
- eea_coremetadata-5.4/eea/coremetadata/tests/test_doctests.py +0 -29
- eea_coremetadata-5.4/eea/coremetadata/upgrades/__init__.py +0 -2
- eea_coremetadata-5.4/eea/coremetadata/upgrades/to_50.py +0 -24
- eea_coremetadata-5.4/eea/coremetadata/version.txt +0 -1
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/CONTRIBUTING.md +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/MANIFEST.in +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/README.rst +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/docs/LICENSE.GPL +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/docs/LICENSE.txt +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/README.txt +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/behaviors/configure.zcml +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/browser/configure.zcml +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/configure.zcml +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/bg/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/bg/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/bg/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/bg/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/cs/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/cs/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/cs/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/cs/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/da/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/da/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/da/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/da/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/de/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/de/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/de/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/de/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/eea.pot +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/el/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/el/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/el/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/el/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/en/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/en/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/en/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/en/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/es/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/es/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/es/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/es/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/et/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/et/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/et/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/et/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/eu/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/eu/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/eu/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/eu/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/fi/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/fi/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/fi/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/fi/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/fr/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/fr/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/fr/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/fr/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/hr/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/hr/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/hr/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/hr/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/hu/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/hu/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/hu/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/hu/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/is/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/is/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/is/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/is/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/it/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/it/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/it/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/it/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/kl/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/kl/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/kl/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/kl/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/lt/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/lt/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/lt/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/lt/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/lv/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/lv/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/lv/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/lv/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/mt/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/mt/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/mt/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/mt/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/nl/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/nl/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/nl/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/nl/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/no/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/no/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/no/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/no/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/pl/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/pl/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/pl/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/pl/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/plone-manual.pot +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/pt/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/pt/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/pt/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/pt/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/pt_BR/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/pt_BR/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/pt_BR/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/pt_BR/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/ro/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/ro/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/ro/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/ro/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/ru/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/ru/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/ru/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/ru/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/sk/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/sk/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/sk/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/sk/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/sl/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/sl/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/sl/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/sl/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/sv/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/sv/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/sv/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/sv/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/tr/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/tr/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/tr/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/tr/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/update.sh +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/zh_TW/LC_MESSAGES/eea.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/zh_TW/LC_MESSAGES/eea.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/zh_TW/LC_MESSAGES/plone.mo +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/locales/zh_TW/LC_MESSAGES/plone.po +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/profiles/default/browserlayer.xml +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/profiles/default/catalog.xml +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/profiles/default/metadata.xml +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/profiles/default/registry.xml +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/profiles/default/taxonomies/organisations.cfg +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/profiles/default/taxonomies/organisations.xml +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/profiles/default/taxonomies/publisher.cfg +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/profiles/default/taxonomies/publisher.xml +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/profiles/default/taxonomies/topics.cfg +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/profiles/default/taxonomies/topics.xml +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/profiles/uninstall/browserlayer.xml +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/profiles.zcml +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea/coremetadata/upgrades/configure.zcml +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea.coremetadata.egg-info/dependency_links.txt +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea.coremetadata.egg-info/entry_points.txt +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea.coremetadata.egg-info/namespace_packages.txt +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea.coremetadata.egg-info/not-zip-safe +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea.coremetadata.egg-info/requires.txt +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/eea.coremetadata.egg-info/top_level.txt +0 -0
- {eea_coremetadata-5.4 → eea_coremetadata-6.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: eea.coremetadata
|
|
3
|
-
Version:
|
|
3
|
+
Version: 6.0
|
|
4
4
|
Summary: An add-on for Plone
|
|
5
5
|
Home-page: https://github.com/eea/eea.coremetadata
|
|
6
6
|
Author: European Environment Agency: IDM2 A-Team
|
|
@@ -142,6 +142,17 @@ EEA_ - European Environment Agency (EU)
|
|
|
142
142
|
Changelog
|
|
143
143
|
=========
|
|
144
144
|
|
|
145
|
+
6.0 - (2026-06-25)
|
|
146
|
+
---------------------------
|
|
147
|
+
* Feature: Add IGeoCoverageField marker interface on geo_coverage field
|
|
148
|
+
for scoped serializer adapter registration in eea.volto.policy
|
|
149
|
+
[avoinea - refs #296992]
|
|
150
|
+
|
|
151
|
+
5.5 - (2026-04-15)
|
|
152
|
+
---------------------------
|
|
153
|
+
* Change: Add unit tests for seq_strip and tuplize functions
|
|
154
|
+
[avoinea]
|
|
155
|
+
|
|
145
156
|
5.4 - (2026-02-24)
|
|
146
157
|
---------------------------
|
|
147
158
|
* Bug fix: Lang support for taxonomies
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
+
6.0 - (2026-06-25)
|
|
5
|
+
---------------------------
|
|
6
|
+
* Feature: Add IGeoCoverageField marker interface on geo_coverage field
|
|
7
|
+
for scoped serializer adapter registration in eea.volto.policy
|
|
8
|
+
[avoinea - refs #296992]
|
|
9
|
+
|
|
10
|
+
5.5 - (2026-04-15)
|
|
11
|
+
---------------------------
|
|
12
|
+
* Change: Add unit tests for seq_strip and tuplize functions
|
|
13
|
+
[avoinea]
|
|
14
|
+
|
|
4
15
|
5.4 - (2026-02-24)
|
|
5
16
|
---------------------------
|
|
6
17
|
* Bug fix: Lang support for taxonomies
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Behaviors"""
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"""
|
|
2
|
-
|
|
1
|
+
"""Custom behavior that adds core metadata fields"""
|
|
2
|
+
|
|
3
3
|
# pylint: disable=line-too-long, E0102, C0111
|
|
4
4
|
import os
|
|
5
5
|
from plone import api
|
|
@@ -22,12 +22,8 @@ class CoreMetadata(MetadataBase):
|
|
|
22
22
|
|
|
23
23
|
topics = DCFieldProperty(ICoreMetadata["topics"])
|
|
24
24
|
|
|
25
|
-
effective = DCFieldProperty(
|
|
26
|
-
|
|
27
|
-
)
|
|
28
|
-
expires = DCFieldProperty(
|
|
29
|
-
ICoreMetadata["expires"], get_name="expiration_date"
|
|
30
|
-
)
|
|
25
|
+
effective = DCFieldProperty(ICoreMetadata["effective"], get_name="effective_date")
|
|
26
|
+
expires = DCFieldProperty(ICoreMetadata["expires"], get_name="expiration_date")
|
|
31
27
|
|
|
32
28
|
temporal_coverage = DCFieldProperty(ICoreMetadata["temporal_coverage"])
|
|
33
29
|
|
|
@@ -77,9 +73,7 @@ class CoreMetadata(MetadataBase):
|
|
|
77
73
|
DEFAULT_ORGANISATIONS = os.environ.get(organisations_env, [])
|
|
78
74
|
|
|
79
75
|
if len(DEFAULT_ORGANISATIONS) < 1:
|
|
80
|
-
DEFAULT_ORGANISATIONS = os.environ.get(
|
|
81
|
-
"DEFAULT_ORGANISATIONS", []
|
|
82
|
-
) # noqa
|
|
76
|
+
DEFAULT_ORGANISATIONS = os.environ.get("DEFAULT_ORGANISATIONS", []) # noqa
|
|
83
77
|
|
|
84
78
|
if isinstance(DEFAULT_ORGANISATIONS, str):
|
|
85
79
|
if "," in DEFAULT_ORGANISATIONS:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# pylint: disable=W0702
|
|
2
|
-
"""
|
|
2
|
+
"""vocabulary.py"""
|
|
3
|
+
|
|
3
4
|
from collective.taxonomy.interfaces import ITaxonomy
|
|
4
5
|
from zope.interface import provider # alsoProvides,
|
|
5
6
|
from zope.component import queryUtility
|
|
@@ -33,9 +34,8 @@ def get_catalog_values(context, index):
|
|
|
33
34
|
def eea_other_organisations(context):
|
|
34
35
|
"""other_organisations index data"""
|
|
35
36
|
catalog = getToolByName(context, "portal_catalog")
|
|
36
|
-
idx_object = catalog.Indexes[
|
|
37
|
-
terms = [SimpleTerm(item[0], item[0], item[0])
|
|
38
|
-
for item in idx_object.items()]
|
|
37
|
+
idx_object = catalog.Indexes["other_organisations"]
|
|
38
|
+
terms = [SimpleTerm(item[0], item[0], item[0]) for item in idx_object.items()]
|
|
39
39
|
return SimpleVocabulary(terms)
|
|
40
40
|
|
|
41
41
|
|
|
@@ -57,9 +57,7 @@ def index_organisations_vocabulary(context):
|
|
|
57
57
|
def publisher_vocabulary(context):
|
|
58
58
|
"""publisher_vocabulary"""
|
|
59
59
|
|
|
60
|
-
vocabulary = get_vocabulary(
|
|
61
|
-
context, "collective.taxonomy.eeapublishertaxonomy"
|
|
62
|
-
)
|
|
60
|
+
vocabulary = get_vocabulary(context, "collective.taxonomy.eeapublishertaxonomy")
|
|
63
61
|
|
|
64
62
|
terms = [
|
|
65
63
|
SimpleTerm(key, key, val.encode("ascii", "ignore").decode("ascii"))
|
|
@@ -74,20 +72,14 @@ def publisher_vocabulary(context):
|
|
|
74
72
|
def index_publisher_vocabulary(context):
|
|
75
73
|
"""index_publisher_vocabulary"""
|
|
76
74
|
|
|
77
|
-
catalog_values = get_catalog_values(
|
|
78
|
-
|
|
79
|
-
)
|
|
80
|
-
vocabulary = get_vocabulary(
|
|
81
|
-
context, "collective.taxonomy.eeapublishertaxonomy"
|
|
82
|
-
)
|
|
75
|
+
catalog_values = get_catalog_values(context, "taxonomy_eeapublishertaxonomy")
|
|
76
|
+
vocabulary = get_vocabulary(context, "collective.taxonomy.eeapublishertaxonomy")
|
|
83
77
|
terms = []
|
|
84
78
|
|
|
85
79
|
for val, key in vocabulary:
|
|
86
80
|
if key in catalog_values:
|
|
87
81
|
terms.append(
|
|
88
|
-
SimpleTerm(
|
|
89
|
-
key, key, val.encode("ascii", "ignore").decode("ascii")
|
|
90
|
-
)
|
|
82
|
+
SimpleTerm(key, key, val.encode("ascii", "ignore").decode("ascii"))
|
|
91
83
|
)
|
|
92
84
|
|
|
93
85
|
terms.sort(key=lambda t: t.title)
|
|
@@ -121,17 +113,13 @@ def index_topics_vocabulary(context):
|
|
|
121
113
|
"""index_topics_vocabulary"""
|
|
122
114
|
|
|
123
115
|
catalog_values = get_catalog_values(context, "taxonomy_eeatopicstaxonomy")
|
|
124
|
-
vocabulary = get_vocabulary(
|
|
125
|
-
context, "collective.taxonomy.eeatopicstaxonomy"
|
|
126
|
-
)
|
|
116
|
+
vocabulary = get_vocabulary(context, "collective.taxonomy.eeatopicstaxonomy")
|
|
127
117
|
terms = []
|
|
128
118
|
|
|
129
119
|
for val, key in vocabulary:
|
|
130
120
|
if key in catalog_values:
|
|
131
121
|
terms.append(
|
|
132
|
-
SimpleTerm(
|
|
133
|
-
key, key, val.encode("ascii", "ignore").decode("ascii")
|
|
134
|
-
)
|
|
122
|
+
SimpleTerm(key, key, val.encode("ascii", "ignore").decode("ascii"))
|
|
135
123
|
)
|
|
136
124
|
|
|
137
125
|
terms.sort(key=lambda t: t.title)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Browser"""
|
|
@@ -6,10 +6,8 @@ from zope.interface import implementer
|
|
|
6
6
|
|
|
7
7
|
@implementer(IParsedQueryIndexModifier)
|
|
8
8
|
class OtherOrganisations(object):
|
|
9
|
-
"""
|
|
10
|
-
"""
|
|
9
|
+
"""Get other_organisation index instead taxonomy_eeaorganisationstaxonomy"""
|
|
11
10
|
|
|
12
11
|
def __call__(self, value):
|
|
13
|
-
"""
|
|
14
|
-
"""
|
|
12
|
+
""" """
|
|
15
13
|
return ("other_organisations", value)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
"""
|
|
1
|
+
"""indexer.py"""
|
|
2
|
+
|
|
2
3
|
from plone.indexer import indexer
|
|
3
4
|
from Products.CMFCore.interfaces import IContentish
|
|
4
5
|
|
|
@@ -28,7 +29,7 @@ def data_provenance_indexer(obj):
|
|
|
28
29
|
return None
|
|
29
30
|
|
|
30
31
|
data = {}
|
|
31
|
-
for val in data_provenance.get(
|
|
32
|
+
for val in data_provenance.get("data", []):
|
|
32
33
|
organisation = val.get("organisation", "")
|
|
33
34
|
if organisation:
|
|
34
35
|
data[organisation] = organisation
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# pylint: disable=W0622
|
|
2
2
|
"""Module where all interfaces, events and exceptions live."""
|
|
3
|
+
|
|
4
|
+
from plone.schema import IJSONField
|
|
3
5
|
from zope.interface import Interface
|
|
4
6
|
from zope.publisher.interfaces.browser import IDefaultBrowserLayer
|
|
5
7
|
|
|
@@ -8,25 +10,28 @@ class IEeaCoremetadataLayer(IDefaultBrowserLayer):
|
|
|
8
10
|
"""Marker interface that defines a browser layer."""
|
|
9
11
|
|
|
10
12
|
|
|
13
|
+
class IGeoCoverageField(IJSONField):
|
|
14
|
+
"""Marker interface for the geo_coverage JSON field."""
|
|
15
|
+
|
|
16
|
+
|
|
11
17
|
class IMinimalCoreMetadata(Interface):
|
|
18
|
+
"""Minimal set of eea core metadata elements."""
|
|
12
19
|
|
|
13
|
-
|
|
14
|
-
"""
|
|
15
|
-
__module__ = 'eea.coremetadata.interfaces'
|
|
20
|
+
__module__ = "eea.coremetadata.interfaces"
|
|
16
21
|
|
|
17
22
|
def Title():
|
|
18
|
-
"""
|
|
23
|
+
"""Return a single string, the DCMI Title element (resource name).
|
|
19
24
|
o Permission: View
|
|
20
25
|
"""
|
|
21
26
|
|
|
22
27
|
def Description():
|
|
23
|
-
"""
|
|
28
|
+
"""Return the DCMI Description element (resource summary).
|
|
24
29
|
o Result is a natural language description of this object.
|
|
25
30
|
o Permission: View
|
|
26
31
|
"""
|
|
27
32
|
|
|
28
33
|
def Type():
|
|
29
|
-
"""
|
|
34
|
+
"""Return the DCMI Type element (resource type).
|
|
30
35
|
o Result a human-readable type name for the resource (typically
|
|
31
36
|
the Title of its type info object).
|
|
32
37
|
o Permission: View
|
|
@@ -34,37 +39,37 @@ class IMinimalCoreMetadata(Interface):
|
|
|
34
39
|
|
|
35
40
|
|
|
36
41
|
class ICoreMetadata(IMinimalCoreMetadata):
|
|
37
|
-
"""
|
|
38
|
-
|
|
39
|
-
__module__ =
|
|
42
|
+
"""Core metadata"""
|
|
43
|
+
|
|
44
|
+
__module__ = "eea.coremetadata.interfaces"
|
|
40
45
|
|
|
41
46
|
def listCreators():
|
|
42
|
-
"""
|
|
47
|
+
"""Return a sequence of DCMI Creator elements (resource authors).
|
|
43
48
|
o Depending on the implementation, this returns the full name(s) of the
|
|
44
49
|
author(s) of the content object or their ids.
|
|
45
50
|
o Permission: View
|
|
46
51
|
"""
|
|
47
52
|
|
|
48
53
|
def Creator():
|
|
49
|
-
"""
|
|
54
|
+
"""Return the first DCMI Creator element, or an empty string.
|
|
50
55
|
o Permission: View
|
|
51
56
|
"""
|
|
52
57
|
|
|
53
58
|
def Subject():
|
|
54
|
-
"""
|
|
59
|
+
"""Return a sequence of DCMI Subject elements (resource keywords).
|
|
55
60
|
o Result is zero or more keywords associated with the content object.
|
|
56
61
|
o Permission: View
|
|
57
62
|
"""
|
|
58
63
|
|
|
59
64
|
def Publisher():
|
|
60
|
-
"""
|
|
65
|
+
"""Return the DCMI Publisher element (resource publisher).
|
|
61
66
|
o Result is the full formal name of the entity or person responsible
|
|
62
67
|
for publishing the resource.
|
|
63
68
|
o Permission: View
|
|
64
69
|
"""
|
|
65
70
|
|
|
66
71
|
def listContributors():
|
|
67
|
-
"""
|
|
72
|
+
"""Return a sequence of DCMI Contributor elements (resource
|
|
68
73
|
collaborators).
|
|
69
74
|
o Return zero or more collaborators (beyond thos returned by
|
|
70
75
|
'listCreators').
|
|
@@ -72,12 +77,12 @@ class ICoreMetadata(IMinimalCoreMetadata):
|
|
|
72
77
|
"""
|
|
73
78
|
|
|
74
79
|
def Contributors():
|
|
75
|
-
"""
|
|
80
|
+
"""Deprecated alias for 'listContributors'.
|
|
76
81
|
o 'initial caps' names are reserved for strings.
|
|
77
82
|
"""
|
|
78
83
|
|
|
79
84
|
def Date(zone=None):
|
|
80
|
-
"""
|
|
85
|
+
"""Return the DCMI Date element (default resource date).
|
|
81
86
|
o Result is a string, formatted 'YYYY-MM-DD H24:MN:SS TZ'.
|
|
82
87
|
o If 'zone' is 'None', return the time in the system default
|
|
83
88
|
timezone.
|
|
@@ -85,7 +90,7 @@ class ICoreMetadata(IMinimalCoreMetadata):
|
|
|
85
90
|
"""
|
|
86
91
|
|
|
87
92
|
def CreationDate(zone=None):
|
|
88
|
-
"""
|
|
93
|
+
"""Return the DCMI Date element (date resource created).
|
|
89
94
|
o Result is a string, formatted 'YYYY-MM-DD H24:MN:SS TZ'.
|
|
90
95
|
o If 'zone' is 'None', return the time in the system default
|
|
91
96
|
timezone.
|
|
@@ -93,7 +98,7 @@ class ICoreMetadata(IMinimalCoreMetadata):
|
|
|
93
98
|
"""
|
|
94
99
|
|
|
95
100
|
def EffectiveDate(zone=None):
|
|
96
|
-
"""
|
|
101
|
+
"""Return the DCMI Date element (date resource becomes effective).
|
|
97
102
|
o Result is a string, formatted 'YYYY-MM-DD H24:MN:SS TZ', or
|
|
98
103
|
None.
|
|
99
104
|
o If 'zone' is 'None', return the time in the system default
|
|
@@ -102,7 +107,7 @@ class ICoreMetadata(IMinimalCoreMetadata):
|
|
|
102
107
|
"""
|
|
103
108
|
|
|
104
109
|
def ExpirationDate(zone=None):
|
|
105
|
-
"""
|
|
110
|
+
"""Return the DCMI Date element (date resource expires).
|
|
106
111
|
o Result is a string, formatted 'YYYY-MM-DD H24:MN:SS TZ', or
|
|
107
112
|
None.
|
|
108
113
|
o If 'zone' is 'None', return the time in the system default
|
|
@@ -111,7 +116,7 @@ class ICoreMetadata(IMinimalCoreMetadata):
|
|
|
111
116
|
"""
|
|
112
117
|
|
|
113
118
|
def ModificationDate(zone=None):
|
|
114
|
-
"""
|
|
119
|
+
"""DCMI Date element - date resource last modified.
|
|
115
120
|
o Result is a string, formatted 'YYYY-MM-DD H24:MN:SS TZ'.
|
|
116
121
|
o If 'zone' is 'None', return the time in the system default
|
|
117
122
|
timezone.
|
|
@@ -119,27 +124,27 @@ class ICoreMetadata(IMinimalCoreMetadata):
|
|
|
119
124
|
"""
|
|
120
125
|
|
|
121
126
|
def Format():
|
|
122
|
-
"""
|
|
127
|
+
"""Return the DCMI Format element (resource format).
|
|
123
128
|
o Result is the resource's MIME type (e.g. 'text/html',
|
|
124
129
|
'image/png', etc.).
|
|
125
130
|
o Permission: View
|
|
126
131
|
"""
|
|
127
132
|
|
|
128
133
|
def Identifier():
|
|
129
|
-
"""
|
|
134
|
+
"""Return the DCMI Identifier element (resource ID).
|
|
130
135
|
o Result is a unique ID (a URL) for the resource.
|
|
131
136
|
o Permission: View
|
|
132
137
|
"""
|
|
133
138
|
|
|
134
139
|
def Language():
|
|
135
|
-
"""
|
|
140
|
+
"""DCMI Language element (resource language).
|
|
136
141
|
o Result it the RFC language code (e.g. 'en-US', 'pt-BR') for the
|
|
137
142
|
resource.
|
|
138
143
|
o Permission: View
|
|
139
144
|
"""
|
|
140
145
|
|
|
141
146
|
def Rights():
|
|
142
|
-
"""
|
|
147
|
+
"""Return the DCMI Rights element (resource copyright).
|
|
143
148
|
o Return a string describing the intellectual property status, if
|
|
144
149
|
any, of the resource.
|
|
145
150
|
o Permission: View
|
|
@@ -147,92 +152,88 @@ class ICoreMetadata(IMinimalCoreMetadata):
|
|
|
147
152
|
|
|
148
153
|
|
|
149
154
|
class ICatalogCoreMetadata(Interface):
|
|
150
|
-
"""
|
|
151
|
-
"""
|
|
155
|
+
"""Provide Zope-internal date attributes for cataloging purposes."""
|
|
152
156
|
|
|
153
|
-
__module__ =
|
|
157
|
+
__module__ = "eea.coremetadata.interfaces"
|
|
154
158
|
|
|
155
159
|
def created():
|
|
156
|
-
"""
|
|
160
|
+
"""Return the DateTime form of CreationDate.
|
|
157
161
|
o Permission: View
|
|
158
162
|
"""
|
|
159
163
|
|
|
160
164
|
def effective():
|
|
161
|
-
"""
|
|
165
|
+
"""Return the DateTime form of EffectiveDate.
|
|
162
166
|
o Permission: View
|
|
163
167
|
"""
|
|
164
168
|
|
|
165
169
|
def expires():
|
|
166
|
-
"""
|
|
170
|
+
"""Return the DateTime form of ExpirationDate.
|
|
167
171
|
o Permission: View
|
|
168
172
|
"""
|
|
169
173
|
|
|
170
174
|
def modified():
|
|
171
|
-
"""
|
|
175
|
+
"""Return the DateTime form of ModificationDate
|
|
172
176
|
o Permission: View
|
|
173
177
|
"""
|
|
174
178
|
|
|
175
179
|
|
|
176
180
|
class IMutableMinimalCoreMetadata(IMinimalCoreMetadata):
|
|
181
|
+
"""Update interface for minimal set of mutable metadata."""
|
|
177
182
|
|
|
178
|
-
|
|
179
|
-
"""
|
|
180
|
-
__module__ = 'eea.coremetadata.interfaces'
|
|
183
|
+
__module__ = "eea.coremetadata.interfaces"
|
|
181
184
|
|
|
182
185
|
def setTitle(title):
|
|
183
|
-
"""
|
|
186
|
+
"""Set DCMI Title element - resource name.
|
|
184
187
|
o Permission: Modify portal content
|
|
185
188
|
"""
|
|
186
189
|
|
|
187
190
|
def setDescription(description):
|
|
188
|
-
"""
|
|
191
|
+
"""Set DCMI Description element - resource summary.
|
|
189
192
|
o Permission: Modify portal content
|
|
190
193
|
"""
|
|
191
194
|
|
|
192
195
|
|
|
193
196
|
class IMutableCoreMetadata(IMutableMinimalCoreMetadata, ICoreMetadata):
|
|
197
|
+
"""Update interface for mutable metadata."""
|
|
194
198
|
|
|
195
|
-
|
|
196
|
-
"""
|
|
197
|
-
|
|
198
|
-
__module__ = 'eea.coremetadata.interfaces'
|
|
199
|
+
__module__ = "eea.coremetadata.interfaces"
|
|
199
200
|
|
|
200
201
|
def setCreators(creators):
|
|
201
|
-
"""
|
|
202
|
+
"""Set DCMI Creator elements - resource authors.
|
|
202
203
|
o Permission: Modify portal content
|
|
203
204
|
"""
|
|
204
205
|
|
|
205
206
|
def setSubject(subject):
|
|
206
|
-
"""
|
|
207
|
+
"""Set DCMI Subject element - resource keywords.
|
|
207
208
|
o Permission: Modify portal content
|
|
208
209
|
"""
|
|
209
210
|
|
|
210
211
|
def setContributors(contributors):
|
|
211
|
-
"""
|
|
212
|
+
"""Set DCMI Contributor elements - resource collaborators.
|
|
212
213
|
o Permission: Modify portal content
|
|
213
214
|
"""
|
|
214
215
|
|
|
215
216
|
def setEffectiveDate(effective_date):
|
|
216
|
-
"""
|
|
217
|
+
"""Set DCMI Date element - date resource becomes effective.
|
|
217
218
|
o Permission: Modify portal content
|
|
218
219
|
"""
|
|
219
220
|
|
|
220
221
|
def setExpirationDate(expiration_date):
|
|
221
|
-
"""
|
|
222
|
+
"""Set DCMI Date element - date resource expires.
|
|
222
223
|
o Permission: Modify portal content
|
|
223
224
|
"""
|
|
224
225
|
|
|
225
226
|
def setFormat(format):
|
|
226
|
-
"""
|
|
227
|
+
"""Set DCMI Format element - resource format.
|
|
227
228
|
o Permission: Modify portal content
|
|
228
229
|
"""
|
|
229
230
|
|
|
230
231
|
def setLanguage(language):
|
|
231
|
-
"""
|
|
232
|
+
"""Set DCMI Language element - resource language.
|
|
232
233
|
o Permission: Modify portal content
|
|
233
234
|
"""
|
|
234
235
|
|
|
235
236
|
def setRights(rights):
|
|
236
|
-
"""
|
|
237
|
+
"""Set DCMI Rights element - resource copyright.
|
|
237
238
|
o Permission: Modify portal content
|
|
238
239
|
"""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""i18n"""
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# pylint: disable=C0412, C0301, C0111, W0622, W0102, C0321, W0110, R1706
|
|
2
2
|
"""Metadata schema"""
|
|
3
|
+
|
|
3
4
|
import os
|
|
4
5
|
import six
|
|
5
6
|
from AccessControl.class_init import InitializeClass
|
|
@@ -10,6 +11,7 @@ from App.special_dtml import DTMLFile
|
|
|
10
11
|
from DateTime.DateTime import DateTime
|
|
11
12
|
from eea.coremetadata.interfaces import ICatalogCoreMetadata
|
|
12
13
|
from eea.coremetadata.interfaces import ICoreMetadata as ICM
|
|
14
|
+
from eea.coremetadata.interfaces import IGeoCoverageField
|
|
13
15
|
from eea.coremetadata.interfaces import IMutableCoreMetadata
|
|
14
16
|
from OFS.PropertyManager import PropertyManager
|
|
15
17
|
from plone.app.z3cform.widget import DatetimeFieldWidget
|
|
@@ -22,7 +24,7 @@ from Products.CMFCore.utils import getToolByName
|
|
|
22
24
|
from Products.CMFPlone.utils import WWW_DIR
|
|
23
25
|
from z3c.form.interfaces import IAddForm, IEditForm
|
|
24
26
|
from zope.component.hooks import getSite
|
|
25
|
-
from zope.interface import Invalid, implementer, invariant, provider
|
|
27
|
+
from zope.interface import Invalid, implementer, invariant, provider, directlyProvides
|
|
26
28
|
from zope.schema import Choice, Datetime, Text, TextLine, Tuple
|
|
27
29
|
from zope.schema.interfaces import IContextAwareDefaultFactory
|
|
28
30
|
|
|
@@ -174,19 +176,19 @@ class ICoreMetadata(model.Schema):
|
|
|
174
176
|
directives.no_omit(IEditForm, "effective", "expires")
|
|
175
177
|
directives.no_omit(IAddForm, "effective", "expires")
|
|
176
178
|
|
|
177
|
-
directives.widget(
|
|
178
|
-
|
|
179
|
+
directives.widget(
|
|
180
|
+
"other_organisations", vocabulary="eea.coremetadata.other_organisations"
|
|
181
|
+
)
|
|
179
182
|
|
|
180
183
|
other_organisations = Tuple(
|
|
181
184
|
title=_("Other organisations involved"),
|
|
182
185
|
description=_(
|
|
183
|
-
"Select other organisations involved in the
|
|
184
|
-
"of this item"
|
|
186
|
+
"Select other organisations involved in the productionof this item"
|
|
185
187
|
), # noqa
|
|
186
188
|
required=False,
|
|
187
189
|
value_type=TextLine(),
|
|
188
190
|
missing_value=(),
|
|
189
|
-
default=tuple()
|
|
191
|
+
default=tuple(),
|
|
190
192
|
)
|
|
191
193
|
directives.widget("topics", SelectFieldWidget)
|
|
192
194
|
topics = Tuple(
|
|
@@ -207,13 +209,12 @@ class ICoreMetadata(model.Schema):
|
|
|
207
209
|
|
|
208
210
|
geo_coverage = JSONField(
|
|
209
211
|
title=_("Geographical coverage"),
|
|
210
|
-
description=_(
|
|
211
|
-
"Use the search to add more granular geographic coverage tags"
|
|
212
|
-
),
|
|
212
|
+
description=_("Use the search to add more granular geographic coverage tags"),
|
|
213
213
|
required=False,
|
|
214
214
|
widget="geolocation",
|
|
215
215
|
default={},
|
|
216
216
|
)
|
|
217
|
+
directlyProvides(geo_coverage, IGeoCoverageField)
|
|
217
218
|
|
|
218
219
|
rights = TextLine(
|
|
219
220
|
title=_("label_copyrights", default="Rights"),
|
|
@@ -257,8 +258,7 @@ class ICoreMetadata(model.Schema):
|
|
|
257
258
|
title=_("Creators fullname"),
|
|
258
259
|
description=_(
|
|
259
260
|
"help_creators",
|
|
260
|
-
default="Persons responsible for creating the content of "
|
|
261
|
-
"this item",
|
|
261
|
+
default="Persons responsible for creating the content of this item",
|
|
262
262
|
),
|
|
263
263
|
value_type=TextLine(),
|
|
264
264
|
required=False,
|
|
@@ -291,7 +291,6 @@ class ICoreMetadata(model.Schema):
|
|
|
291
291
|
|
|
292
292
|
@implementer(ICM, ICatalogCoreMetadata, IMutableCoreMetadata)
|
|
293
293
|
class DefaultCoreMetadataImpl(PropertyManager):
|
|
294
|
-
|
|
295
294
|
"""Mix-in class which provides eea core metadata methods."""
|
|
296
295
|
|
|
297
296
|
security = ClassSecurityInfo()
|
|
@@ -521,12 +520,8 @@ class DefaultCoreMetadataImpl(PropertyManager):
|
|
|
521
520
|
|
|
522
521
|
def isEffective(self, date):
|
|
523
522
|
# Is the date within the resource's effective range?
|
|
524
|
-
pastEffective =
|
|
525
|
-
|
|
526
|
-
)
|
|
527
|
-
beforeExpiration = (
|
|
528
|
-
self.expiration_date is None or self.expiration_date >= date
|
|
529
|
-
)
|
|
523
|
+
pastEffective = self.effective_date is None or self.effective_date <= date
|
|
524
|
+
beforeExpiration = self.expiration_date is None or self.expiration_date >= date
|
|
530
525
|
return pastEffective and beforeExpiration
|
|
531
526
|
|
|
532
527
|
#
|
|
@@ -736,9 +731,9 @@ class DefaultCoreMetadataImpl(PropertyManager):
|
|
|
736
731
|
rights,
|
|
737
732
|
)
|
|
738
733
|
REQUEST["RESPONSE"].redirect(
|
|
739
|
-
self.absolute_url()
|
|
740
|
-
"/manage_metadata"
|
|
741
|
-
"?manage_tabs_message=Metadata+updated."
|
|
734
|
+
self.absolute_url()
|
|
735
|
+
+ "/manage_metadata"
|
|
736
|
+
+ "?manage_tabs_message=Metadata+updated."
|
|
742
737
|
)
|
|
743
738
|
|
|
744
739
|
security.declareProtected(ModifyPortalContent, "editMetadata")
|
|
@@ -1,29 +1,25 @@
|
|
|
1
|
-
"""
|
|
2
|
-
|
|
1
|
+
"""Custom setup"""
|
|
2
|
+
|
|
3
3
|
from Products.CMFPlone.interfaces import INonInstallable
|
|
4
4
|
from zope.interface import implementer
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
@implementer(INonInstallable)
|
|
8
8
|
class HiddenProfiles(object):
|
|
9
|
-
"""
|
|
10
|
-
"""
|
|
9
|
+
"""Hidden profiles"""
|
|
11
10
|
|
|
12
11
|
def getNonInstallableProfiles(self):
|
|
13
|
-
"""
|
|
14
|
-
"""
|
|
12
|
+
"""Hide uninstall profile from site-creation and quickinstaller."""
|
|
15
13
|
return [
|
|
16
|
-
|
|
14
|
+
"eea.coremetadata:uninstall",
|
|
17
15
|
]
|
|
18
16
|
|
|
19
17
|
|
|
20
18
|
def post_install(context):
|
|
21
|
-
"""
|
|
22
|
-
"""
|
|
19
|
+
"""Post install script"""
|
|
23
20
|
# Do something at the end of the installation of this package.
|
|
24
21
|
|
|
25
22
|
|
|
26
23
|
def uninstall(context):
|
|
27
|
-
"""
|
|
28
|
-
"""
|
|
24
|
+
"""Uninstall script"""
|
|
29
25
|
# Do something at the end of the uninstallation of this package.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Tests"""
|