Metadata-Version: 2.0
Name: Flask-Z3950
Version: 0.1.1
Summary: A Flask plugin that provides Z39.50 integration.
Home-page: https://github.com/alexandermendes/Flask-Z3950
Author: Alexander Mendes
Author-email: alexanderhmendes@gmail.com
License: BSD
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Internet :: Z39.50
Requires-Dist: Flask (>=0.10.1)
Requires-Dist: lxml (>=3.5.0,<4.0)
Requires-Dist: ply (>=3.8.0,<4.0)
Requires-Dist: pymarc (>=3.0.4,<4.0)
Requires-Dist: PyZ3950

Flask-Z3950
***********

.. module:: flask_z3950


A `Flask`_ plugin for `Z3950`_ integration.


Installation
============

Flask-Z3950 is available on PyPi:

.. code-block:: console

    $ pip install Flask-Z3950


Quickstart
==========

Initialise a :class:`Z3950Manager` object and start performing searches with
your chosen :class:`Z3950Database`, like so:

.. code-block:: python

    from flask import Flask
    from flask_z3950 import Z3950Manager

    app = Flask(__name__)
    db_config = {"db": "Voyager", "host": "z3950.loc.gov", "port": 7090}
    app.config["Z3950_DATABASES"] = {"loc": db_config}

    z3950_manager = Z3950Manager(app)
    z3950_db = z3950_manager.databases['loc']
    records = z3850_db.search("ti=1066 and all that")

    print records.data

.. note::

   The default query syntax is `CCL`_, see :class:`Z3950Database` for all
   accepted syntaxes.


Configuration
=============

The following configration settings exist for Flask-Z3950:

=================================== ======================================
`Z3950_DATABASES`                   A dictionary containing Z39.50
                                    database configuration details, where
                                    keys are database identifiers and
                                    values a nested dictionaries
                                    containing configuration details for
                                    that database.

                                    Each nested dictionary is used to
                                    initialise a new
                                    :class:`Z3950Database`, so the
                                    dictionary keys should be named the
                                    same as the parameters used to
                                    initialise that class, taking note of
                                    any default values.
=================================== ======================================


API
===

.. autoclass:: Z3950Manager
   :members:

.. autoclass:: Z3950Database
   :members:

.. autoclass:: Dataset
   :members:


Changelog
=========

.. include:: ../CHANGES

.. _Flask: http://flask.pocoo.org/
.. _Z3950: https://en.wikipedia.org/wiki/Z39.50
.. _CCL: http://www.indexdata.dk/yaz/doc/tools.tkl#CCL



