Skip to main content

E-Deposit AMQP module providing communication with Aleph

Project description

Introduction

This package provides an AMQP middle-ware for communication with Aleph. Aleph is a system used in libraries to store meta-data about books and authors.

Full module documentation is hosted at the ReadTheDocs.

Installation

Module is hosted at PYPI, and can be easily installed using PIP:

pip install edeposit.amqp.aleph

Source codes can be found at GitHub: https://github.com/jstavel/edeposit.amqp.aleph.

Content

Module provides several submodules:

edeposit.amqp.aleph.__init__

Data structures for (generic, not just AMQP) communication. It contains reaction function reactToAMQPMessage(), which detects what (serialized) structure was given to her, do some low-level interactions with Aleph and returns result structures.

Module provides also serialize/deserialze functions for generic python namedtuple structures.

edeposit.amqp.aleph.aleph

Used for raw communication with Aleph server. Communication is read-only and uses special API provided by Aleph X-Services module.

Can be queried using reactToAMQPMessage() defined in __init__.

edeposit.amqp.aleph.marcxml

MARC XML (de)serialization class, which provides some higher-level bindings to MARC records.

edeposit.amqp.aleph.convertor

Convertor from MARC XML records to Epublication structures defined in __init__.

edeposit.amqp.aleph.isbn

ISBN checksum validator.

Can be queried using reactToAMQPMessage() defined in __init__.

Acceptance tests

Robot Framework is used to test the sources, which are stored in src/edeposit/amqp/aleph/tests directory.

You can run them manually (from the root of the package):

$ pybot -W 80 --pythonpath src/edeposit/amqp/aleph/tests/:src src/edeposit/amqp/aleph/tests/

Or continuously using nosier:

$ nosier -p src -b 'export' "pybot -W 80 --pythonpath src/edeposit/amqp/aleph/tests/ --pythonpath src src/edeposit/amqp/aleph/tests/"

Command to run the test is wrapped in run_tests.sh in the root of the project.

Status of acceptance tests

You can see the results of the tests here:

http://edeposit-amqp-aleph.readthedocs.org/cs/latest/_downloads/log.html

http://edeposit-amqp-aleph.readthedocs.org/cs/latest/_downloads/report.html

Results are currently (12.03.2014) outdated, but some form of continuous integration framework will be used in the future.

Contributors

Changelog

1.4.4

  • Documentation of the whole package updated.

  • Fixed bugs in MARC XML parser and Aleph lowlevel API.

  • Added run_tests.sh.

  • Added TitleQuery.

1.4.3

  • Documentation of export.py updated.

1.4.2

  • Assertions in export.py are now annotated (useful for debugging).

1.4.1

  • Version of package and documentation is now automatically parsed from this file.

1.4.0

  • API change in reactToAMQPmessage(), which now takes just two parameters and returns values, instead of calling callbacks.

  • Documentation updated and made useful.

1.3.0

  • Serializers removed from convertors.py. (De)serialization will be handled in edeposit.amqp, because other packages also uses it.

1.2.5

  • Fixed bug with package installation, when the package couldn’t find README.rst.

1.2.4

  • Documentation is now even for settings.py’s attributes.

  • User defined JSON configuration is now supported.

1.2.3

  • Documentation is now generated automatically everytime the package is generated.

1.2.2

  • Tests and HTML help is now included in PYPI package.

1.2.1

  • All source files are now documented with google style docstrings.

1.2.0

  • Added experimental export support.

1.1.0

  • Project released at PYPI.

1.0 (unreleased)

  • Communication with Aleph is now working.

0.1-dev (unreleased)

  • Package created using templer.

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

edeposit.amqp.aleph-1.4.4.tar.gz (224.0 kB view hashes)

Uploaded Source

Supported by

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