Skip to main content

PyCSW monkey patched for Slovak national catalogue service

Project description

PyCSW RPI pycsw-rpi

Monkey patched pycsw for Slovak national catalogue service.

Check original pycsw documentation for more details.


Setup

Use exactly like original pycsw

Install

pip install --user pycsw-rpi

Create configuration file

Configuration file is not distributed with package.

Sample configuration can be downloaded from <<url>>

Administrative command (CLI)

pycsw_rpi-admin script is installed with package in $PATH, this script is replacement for original pycsw-admin.py script supporting modified beahaviour and can be used exactly like original one.

Create database

pycsw_rpi-admin -c setup_db -f <<pconfiguration_file>>

Load records

pycsw_rpi-admin -c load_records -f <<pconfiguration_file>> -p <<path_to_records_directory>>

Check original documentation for pycsw-admin.py administrative command.

Run "dev" self contained (toy) server

python -m pycsw_rpi.wsgi

Deploy as WSGI application

pycsw_rpi.wsgi module contains WSGI application object (function) ready to be deployed with WSGI server (e.g. gunicorn, uwsgi). No WSGI server is installed with this package as dependecy.

To deploy with gunicorn:

# `gunicorn` package need to installed separately
pip install --user gunicorn
gunicorn pycsw_rpi.wsgi:application

Modifications implemented (via monkey patches) to original pycsw

Added queryables to APISO plugin:

  • rpi:OrganizationUUID
  • rpi:IsViewable
  • rpi:IsSearchable

Modified APISO queryables:

  • apiso:ParentIdentifier support for gmx:Anchor encoding added
  • apiso:SpecificationTitle support for gmx:Anchor encoding added
  • apiso:Subject support for gmx:Anchor encoding added in keywords parsing

Transaction web hook:

On succesfull insert/delete CSW transaction HTTP POST request is made on transactions_webhook_url set in manager section in configuration file. Request body contains json list of executed transaction description

[
    {
        "transaction": <transaction_type>,
        "id": <metadata_record_identifier>,
        "type": <metadata_record_type>,
        "record" <metadata_record_xml>
    },
    ...
]

record key is included only if insert transaction has been made

If transaction_webhook_url is not set in configuration file webhook is skipped.

Feature is implemented as monkey patch of pycsw.core.repository.Repository.insert and pycsw.core.repository.Repository.delete methods.

Contributions

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycsw_rpi-0.1.6.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pycsw_rpi-0.1.6-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file pycsw_rpi-0.1.6.tar.gz.

File metadata

  • Download URL: pycsw_rpi-0.1.6.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Linux/6.8.0-45-generic

File hashes

Hashes for pycsw_rpi-0.1.6.tar.gz
Algorithm Hash digest
SHA256 90e632a90edfbc6fadf1428c37a4643138dd83298f20f0785918707c5355b1c8
MD5 5de8f160ef7cdaf60e43dc8bc7e5dbdb
BLAKE2b-256 b7be7e4ddfc425a86befa5ce6c86d0d0469db77fd668f11aaf3ce493cbf50ae8

See more details on using hashes here.

File details

Details for the file pycsw_rpi-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: pycsw_rpi-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Linux/6.8.0-45-generic

File hashes

Hashes for pycsw_rpi-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 7017e6e5c4f523d764a1586376c2194ad48dd70e7367255d7588239240979685
MD5 30b3df0fe26f92ab501935c4914239c6
BLAKE2b-256 fb6aded4c3545528f495042c3d067017117fc0e28ac7e790ed3dffc286ca4485

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page