PyZ3950/zoom (version 1.0)
index
/home/asl2/src/PyZ2/PyZ3950/PyZ3950/zoom.py

Implements the ZOOM 1.4 API (http://zoom.z3950.org/api)
for Z39.50.
 
Some global notes on the binding (these will only make sense when read
after the API document):
 
Get/Set Option is implemented as member attribute access or
assignment.  Implementations are encouraged to throw an AttributeError
for unsupported (or, possibly, mistyped) attributes.  (Production
applications are encouraged to catch such errors.)
 
All errors are reported as exceptions deriving from ZoomError (or, at
least, it's a bug if they aren't).  Bib1Err is defined as part of the
binding; all the rest are specific to this implementation.
 
ResultSet provides a sequence interface, with standard Python
iteration, indexing, and slicing.  So if rs is a ResultSet, use len
(rs) for Get_Size and rs[i] for Get_Record, or iterate with for r in
rs: foo(r).  Any attempt to access a record for which the server
returned a surrogate diagnostic will raise the appropriate Bib1Err
exception.
 
For Record, Render_Record is implemented as Python __str__.  The
'syntax' member contains the string-format record syntax, and the
'data' member contains the raw data.
 
The following query types are supported:
- "CCL", ISO 8777, (http://www.indexdata.dk/yaz/doc/tools.tkl#CCL)
- "S-CCL", the same, but interpreted on the server side
- "CQL", the Common Query Language, (http://www.loc.gov/z3950/agency/zing/cql/)
- "S-CQL", the same, but interpreted on the server side
- "PQF", Index Data's Prefix