[![Tests](https://github.com/DataShades/ckanext-iso19115/workflows/Tests/badge.svg?branch=main)](https://github.com/DataShades/ckanext-iso19115/actions)
# ckanext-iso19115
Export dataset into ISO 19115 XML.
## Requirements
Compatibility with core CKAN versions:
| CKAN version | Compatible? |
|--------------|-------------|
| 2.9 | yes |
| 2.10 | yes |
## Installation
To install ckanext-iso19115:
1. Install it into virtualenv:
```sh
pip install ckanext-iso19115
```
1. Add `iso19115` to the `ckan.plugins`.
## Config settings
None at present
```ini
# Storage path for pre-compiled schema definition
# (optional, default: somewhere inside system's tempdir).
ckanext.iso19115.misc.cache_dir = /var/data/iso19115_cache
```
## Usage
Customize the way of mapping dataset into ISO 19115 by implementing `IIso18115` interface.
```python
from ckanext.iso19115.interfaces import IIso19115
class Iso19115(p.SingletonPlugin):
p.implements(IIso19115, inherit=True)
def iso19115_metadata_converter(self, data_dict: dict[str, Any]):
return Converter(data_dict)
```
`Converter` must be defined as a sub-class of
`ckanext.iso19115.converter.Converter`. It already contains some basic logic
that can be used as a starting point for extension.
## API
### `iso19115_package_show`
Export dataset into ISO 19115 JsonML.
Format can be changed using `format` parameter of the action. Possible alternatives:
* xml
### `iso19115_package_check`
Check if the dataset can be rendered as a valid ISO 19115 document
## Tests
To run the tests, do:
pytest
## License
[AGPL](https://www.gnu.org/licenses/agpl-3.0.en.html)
Raw data
{
"_id": null,
"home_page": "https://github.com/DataShades/ckanext-iso19115",
"name": "ckanext-iso19115",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "CKAN",
"author": "Sergey Motornyuk",
"author_email": "sergey.motornyuk@linkdigital.com.au",
"download_url": "https://files.pythonhosted.org/packages/8c/75/799f757835ee4fb9df50badf7302220353e0a4e3f858db53f09d694e0fba/ckanext-iso19115-0.1.1.tar.gz",
"platform": null,
"description": "[![Tests](https://github.com/DataShades/ckanext-iso19115/workflows/Tests/badge.svg?branch=main)](https://github.com/DataShades/ckanext-iso19115/actions)\n\n# ckanext-iso19115\n\nExport dataset into ISO 19115 XML.\n\n\n## Requirements\n\nCompatibility with core CKAN versions:\n\n| CKAN version | Compatible? |\n|--------------|-------------|\n| 2.9 | yes |\n| 2.10 | yes |\n\n\n## Installation\n\nTo install ckanext-iso19115:\n\n1. Install it into virtualenv:\n ```sh\n pip install ckanext-iso19115\n ```\n\n1. Add `iso19115` to the `ckan.plugins`.\n\n## Config settings\n\nNone at present\n\n```ini\n# Storage path for pre-compiled schema definition\n# (optional, default: somewhere inside system's tempdir).\nckanext.iso19115.misc.cache_dir = /var/data/iso19115_cache\n```\n\n## Usage\n\nCustomize the way of mapping dataset into ISO 19115 by implementing `IIso18115` interface.\n\n```python\nfrom ckanext.iso19115.interfaces import IIso19115\n\nclass Iso19115(p.SingletonPlugin):\n p.implements(IIso19115, inherit=True)\n\n def iso19115_metadata_converter(self, data_dict: dict[str, Any]):\n return Converter(data_dict)\n```\n\n`Converter` must be defined as a sub-class of\n`ckanext.iso19115.converter.Converter`. It already contains some basic logic\nthat can be used as a starting point for extension.\n\n## API\n\n### `iso19115_package_show`\n\nExport dataset into ISO 19115 JsonML.\n\nFormat can be changed using `format` parameter of the action. Possible alternatives:\n\n* xml\n\n### `iso19115_package_check`\n\nCheck if the dataset can be rendered as a valid ISO 19115 document\n\n## Tests\n\nTo run the tests, do:\n\n pytest\n\n\n\n## License\n\n[AGPL](https://www.gnu.org/licenses/agpl-3.0.en.html)\n",
"bugtrack_url": null,
"license": "AGPL",
"summary": "",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/DataShades/ckanext-iso19115"
},
"split_keywords": [
"ckan"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2a8b35ba9895ef5cd22685270db428091b28d42e1b779ad9878d5bd920dc5e07",
"md5": "1e988a004cb006202edf084ab7303621",
"sha256": "65a6b8b9c16d0b87a0ffe886ab7508ace10c6b4370f5ad25fcc927cace9ad781"
},
"downloads": -1,
"filename": "ckanext_iso19115-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1e988a004cb006202edf084ab7303621",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 587463,
"upload_time": "2023-05-27T15:20:09",
"upload_time_iso_8601": "2023-05-27T15:20:09.433594Z",
"url": "https://files.pythonhosted.org/packages/2a/8b/35ba9895ef5cd22685270db428091b28d42e1b779ad9878d5bd920dc5e07/ckanext_iso19115-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8c75799f757835ee4fb9df50badf7302220353e0a4e3f858db53f09d694e0fba",
"md5": "447945e533519aeb06be10ca1de9ec02",
"sha256": "b478b3b7b64ee0baba700267550a7ab828f0800fb7387a2a3726cbf63b58e875"
},
"downloads": -1,
"filename": "ckanext-iso19115-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "447945e533519aeb06be10ca1de9ec02",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 375838,
"upload_time": "2023-05-27T15:20:13",
"upload_time_iso_8601": "2023-05-27T15:20:13.054503Z",
"url": "https://files.pythonhosted.org/packages/8c/75/799f757835ee4fb9df50badf7302220353e0a4e3f858db53f09d694e0fba/ckanext-iso19115-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-27 15:20:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DataShades",
"github_project": "ckanext-iso19115",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [],
"lcname": "ckanext-iso19115"
}