- Jun 09, 2022
-
-
Toni Sissala authored
Render subject in oai_dc metadata regardless if the study.keyword has a value (Fixes #31).
-
- Mar 16, 2022
-
-
Toni Sissala authored
Added ^^^^^ * Support for deleted records. (Implements `#3`_) * The deletedRecords value (in response to Identify-verb) is configurable via ``--oai-pmh-deleted-records`` and defaults to value `transient`. * Configuration option to limit the list size of each metadataformat separately. (Implements `#2`_) * New metadataformat OAI Datacite with prefix `oai_datacite`. * Plugin architecture for developing arbitrary metadataformats & OAI-sets. * Support insecure (unverified SSL certificate chain) https connections in list_records.py via configuration flag ``--insecure``. Default is to reject insecure connections. * Generate setName values for ``language`` and ``data_kind`` sets which do not have one. (Implements `#24`_) * Command line entrypoint `kuha_list_records` outputs deleted record count and supports HTTP Basic Authentication. (Implements `#25`_) Changed ^^^^^^^ * Require Kuha Common 1.0.0. * Plenty of API changes to facilitate the developing of metadataformats as plugins: * Delete configure.py. Serve-endpoint configuration is now declared in serve.py. Modules declare configurations via their respective add_cli_args functions. * Add controller.py. The controller is responsible for gathering the OAI responses from metadataformats. * Add http_api.py. This module declares the HTTP interface and dispatches requests to the configured controller. The module contains minimum amount of non-server imports and calls to controller. * Add metadataformats-package, which replaces the oai/metadata_formats.py and oai/records.py modules. * serve.py loads and configures metadataformats using entrypoint-group ``kuha.oai.metadataformats``. No metadataformats are directly imported. * oai/__init__.py now contains add_cli_args & configure methods to configure package classes. It defines a Protocol-class which wraps all OAI-PMH protocol objects. * Update dependencies in requirements.txt. * Tornado 6.1.0 * ConfigArgParse 1.5.3 * six 1.16.0 Removed ^^^^^^^ * Drop support for Python versions below Python 3.8. Fixed ^^^^^ * Repeat EAD3 daterange element when a record has multiple date ranges. (Fixes `#20`_) * Metadata rendered by prefix `oai_ddi25` should place distrbtr-element before distDate-element in distStmt. (Fixes `#21`_)
-
- Dec 21, 2021
-
-
Toni Sissala authored
Document upgrade procedure Fix #29 at Bitbucket
-
- Nov 11, 2021
-
-
Toni Sissala authored
Render distrbtr before distDate in oai_ddi25.xml-template. Fixes #21 at Bitbucket.
-
Toni Sissala authored
Render distrbtr before distDate in oai_ddi25.xml-template. Add test to make sure the element order is correct. Write 0.14.1 changelog entry. Fixes #21 at Bitbucket.
-
- Sep 07, 2021
-
-
Toni Sissala authored
Fix changelog entry for 0.14.0 regarding a XPATH to /codeBook/stdyDscr/citation/holdings/@URI
-
Toni Sissala authored
Fix XPATH in 0.14.0 changelog entry. The correct XPATH is /codeBook/stdyDscr/citation/holdings/@URI No version bump since this is a documentation issue. Fix issue #23 at Bitbucket.
-
- Sep 06, 2021
-
-
Toni Sissala authored
Ensure future compatibility with CESSDA Data Catalogue * Require kuha_common 0.15.1 * Include elements `/codeBook/docDscr/citation/titlStmt/titl` and `/codeBook/stdyDscr/holdings@URI` to DDI 2.5 serializations. * Use `study.document_titles` to populate `/codeBook/docDscr/citation/titlStmt/titl` and `study.study_uris` to populate `/codeBook/stdyDscr/holdings@URI`. Drop testing with Python interpreters below py38.
-
Toni Sissala authored
* Dev / CI maintenance Drop tests with Python interpreters below Py38. Bump VERSION to 0.14.0 * DDI-C contains Study.document_title and Study.study_uri attributes Include elements `/codeBook/docDscr/citation/titlStmt/titl` and `/codeBook/stdyDscr/holdings@URI` to DDI 2.5 serializations. Use `study.document_titles` to populate `/codeBook/docDscr/citation/titlStmt/titl` and `study.study_uris` to populate `/codeBook/stdyDscr/holdings@URI`. * Require kuha_common 0.15.1 Fix #22 at BitBucket.
-
- Feb 02, 2021
-
-
Toni Sissala authored
Changes to EAD3 mapping: /ead/archdesc/dsc/c01/c02/did/daoset/dao/@daotype value is now "unknown" instead of "derived" study.principal_investigators are now divided into corpname & persname elements. If a principal investigator has an affiliated organization the value is placed into persname and the organization is placed into corpname. If a principal investigator has no affiliated organization, it's value is expected to be an organization and the value is placed into corpname. Lock pip version to 20.3.4 in install script, which is the latest pip that supports Python 3.5. The install script should be compatible with Ubuntu 16.04, which defaults to Python 3.5. The latest pip does not support Python 3.5 and therefore cannot be upgraded into. Use ''python-latest'' in Jenkinsfile. It is guaranteed to point to the latest python on the CI server. Note that this is a CI specific configuration and is not portable to some arbitrary Jenkins instance. Add py39 to tox environments and use it in Jenkinsfile. Upgrade to latest genshi 0.7.5 in requirements.txt. Python 3.9 introduced changes to ast module that were incompatible with previous genshi version 0.7.3 used. Add six to requirements.txt, since genshi 0.7.5 requires it.
-
Toni Sissala authored
CHANGES.rst: Add todays date to 0.13.0
-
Toni Sissala authored
-
Toni Sissala authored
The default pip (8.1.1) does not support upgrade-strategy, but we'll need it to upgrade dependencies. Lock the pip version to 20.3.4 when using the install script. Add six to requirements.txt, since genshi 0.7.5 requires it. Update documentation regarding versions of Python & Ubuntu
-
- Feb 01, 2021
-
-
Toni Sissala authored
/ead/archdesc/dsc/c01/c02/did/daoset/dao/@daotype value is now "unknown" instead of "derived" study.principal_investigators are now divided into corpname & persname elements. If a principal investigator has an affiliated organization the value is placed into persname and the organization is placed into corpname. If a principal investigator has no affiliated organization, it's value is expected to be an organization and the value is placed into corpname. Remove 'pip --upgrade pip' from install script. Since we are supporting Ubuntu 16.04, upgrading pip will not work since pip no longer supports py35, which is the default in Ubuntu 16.04. Use 'python-latest' in Jenkinsfile. Add py39 to tox environments and use it in Jenkinsfile. Add 'unreleased' changelog entry. Bump version. Upgrade genshi to 0.7.5. Python 3.9 and genshi 0.7.3 don't work together. Upgrade genshi to 0.7.5 to try to fix the error.
-
- Dec 08, 2020
-
-
Toni Sissala authored
* Fix unhandled AttributeError when requesting a list response with an unsupported set-parameter. Respond with OAI error code "noRecordsMatch". (Fixes #19)
-
Toni Sissala authored
Server now returns an OAI response with an error code "noRecordsMatch" when requesting a list response with an unsupported OAI-set. The fix treats the return value None of oai.records.get_record_query_field_by_setspec() as an unsupported set. If the returned value is None, the oai.records.get_query_filter_for_set() should also return None. Then the handler will handle the request correctly. Add unittests against the handler to confirm the fix. Bump version to 0.12.1 CHANGES.rst: Add today's date to 0.12.1 entry.
-
- Jun 12, 2020
-
-
Toni Sissala authored
* Support Python 3.8 * Require kuha_common 0.14.0
-
Toni Sissala authored
Support for Python 3.8 requires changes to test code and latest kuha_common. No new functionality, bug fixes or tests are introduced here. Require kuha_common 0.14.0 in requirements.txt and setup.py. Release versionlock of genshi in requirements-dev.txt. Update all copyright headers to 2020. Add py38 environment to tox.ini and use it in Jenkinsfile. Write changelog entry for 0.12.0. Bump version to 0.12.0
-
- Jun 05, 2020
-
-
Toni Sissala authored
* Check for query result item's set.record_field_setspec using item.get() since the item may not have such key and we wish to avoid KeyError. (Fixes #18) * Remove check for the record_field_setname since it is acceptable to have and OAI set without a setName.
-
Toni Sissala authored
Use dict.get for checking item's setspec value since an item may not have the required key. This way such record won't result in a KeyError but will be discarded from ListSets response. Add test against such condition using study_group. Write changelog entry for 0.11.1. Bump version to 0.11.1
-
- May 07, 2020
-
-
Toni Sissala authored
* Render relpubl elements in DDI 2.5. templates using Study.related_publications * Require kuha_common 0.13.0
-
Toni Sissala authored
Require kuha_common 0.13.0, which brings in support for Study.related_publications. Use Study.related_publications to render relpubl elements in DDI 2.5. templates. Bump version. Write changelog entry for 0.11.0
-
Toni Sissala authored
-
- May 06, 2020
-
-
Toni Sissala authored
-
Toni Sissala authored
Write entry to CHANGES.rst about release 0.11.0. Bump VERSION to 0.11.0.
-
Toni Sissala authored
DDI templates, ddi_c.xml and oai_ddi25.xml now use Study.related_publications to serialize relpubl elements and contents. Add Study.related_publications to DDIMetadataFormat.record_fields. Add OAIRecord.iter_relpubls() to iterate over related_publications by distinct description and lang. This way the templates can serialize DDI so that a relpubl element may have multiple citation child elements if the relpubls share same description and lang. Add tests to make sure the serialization is correct and queries to document store include Study.related_publications field.
-
- Apr 29, 2020
-
-
Toni Sissala authored
* Project source code management changed to git. Does not contain code changes to OAI-PMH Repo Handler. * INSTALL.rst now instructs to use Git instead of Mercurial. * requirements.txt: kuha_common 0.12.0
-
Toni Sissala authored
Change to git: Add .gitignore for Python-project. Jenkinsfile uses git to dig up commit authors. Update requirements.txt to use git instead of hg. INSTALL.rst instructs to use git instead of hg. Prepare 0.10.0: Bump version. Write changelog entry.
-
Toni Sissala authored
Bump version. Write changelog entry.
-
- Apr 28, 2020
-
-
Toni Sissala authored
Add .gitignore for Python-project. Jenkinsfile uses git to dig up commit authors. Update requirements.txt to use git instead of hg. INSTALL.rst instructs to use git instead of hg.
-
- Apr 07, 2020
-
-
Toni Sissala authored
-
- Mar 23, 2020
-
-
Toni Sissala authored
-
Toni Sissala authored
-
- Mar 20, 2020
-
-
Toni Sissala authored
Merge: stable <- fix false positive test in tests/unit/test_list_records.py::TestCliRuns::test_reads_optional_args
-
Toni Sissala authored
Fix failing false positive: tests/unit/test_list_records.py::TestCliRuns::test_reads_optional_args. Tests need to take into account that when unpacking a dict the order of keys is not consistent.
-
- Mar 19, 2020
-
-
Toni Sissala authored
-
Toni Sissala authored
-
Toni Sissala authored
-
Toni Sissala authored
-