herreio / liberopy

LIBERO Web Services SOAP API Client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

liberopy

This Python package provides a Libero Web Services SOAP API client.

Setup

Depending on your preferred installation scope, you may need to use sudo or pip’s --user flag when running the following setup commands. However, it is recommended to use a virtual environment that does not require either:

python3 -m venv env
. env/bin/activate

... via SSH

pip install -e git+ssh://git@github.com/herreio/liberopy.git#egg=liberopy

... or via HTTPS

pip install -e git+https://github.com/herreio/liberopy.git#egg=liberopy

Platform

API Packages

These webservices are provided to be used by third parties to design and write their own applications based on the Libero platform. (SOAP Protocol, Rev. 39)

Classes and Methods

  • Authenticate
    • Login
    • PatronLogin
    • Logout
  • CatalogueSearcher
    • Catalogue (Type=newitem)
    • Search
    • SearchCount
    • GetTitle (Deprecated)
    • GetRsnByRID
  • LibraryAPI
    • GetTitleDetails
    • GetItemDetails
    • GetMemberDetails
    • OrderStatus
    • OrderInformation
    • OrderLineInformation
    • Branch
  • OnlineCatalogue
    • GetItemByBarcode
    • GetALLItemsByRID
    • GetMABBlock
    • GetMARCBlock
  • OnlineILLService
    • GetMemberInformation

Usage Example

import liberopy
# Initialize client instance
libero = liberopy.WebServices("http://www.library.ACME.gov/libero", db="ACM")
# Retrieve items via barcode
item = libero.item("123456")
# Retrieve titles via RSN
title = libero.title("123456")
# Search for items by given term
result = libero.search("Harry Potter")
# Result count for given search term
result_count = libero.search_count("Harry Potter")
# Retrieve MAB data of titles via RID
mab = libero.mabblock("123456")
# Retrieve MARC data of titles via RID
marc = libero.marcblock("123456")
# Retrieve list of titles with new items
newlist = libero.newitems()
# Get RSN of title from the provided RID
rsn = libero.rid2rsn("123456")
# Get barcodes of items from the provided RID
bcs = libero.rid2bc("123456")
# Get information on member via member code
member = libero.memberinfo("10189")
# Log in before using methods of LibraryAPI
libero.login("GuestUser", "GuestPassword")
# Retrieve title details via RSN
titledetails = libero.titledetails("123456")
# Retrieve item details via barcode
itemdetails = libero.itemdetails("123456")
# Retrieve member details via member code (or ID of member)
memberdetails = libero.memberdetails(mc="10157")
# Retrieve header information for an order
orderinfo = libero.orderinfo("725")
# Retrieve the order’s line number information
orderlineinfo = libero.orderlineinfo("9", "1")
# Retrieve the current order status
orderstatus = libero.orderstatus("1", "1")
# Retrieve list of branches
branches = libero.branches()

Public Instances

According to the company’s website, the library management system Libero has more than 2,500 users worldwide. Some examples of users can be found in the following list.

cf. https://duckduckgo.com/?q=libero+webopac / https://www.google.com/search?q=libero+webopac

Run Tests

python -m unittest -v

You can also select a specific instance and/or define the search query using environment variables.

LIBEROPY_TEST_DB="HGB" LIBEROPY_TEST_QUERY="digitalkunst" python -m unittest -v

About

LIBERO Web Services SOAP API Client

License:GNU General Public License v3.0


Languages

Language:Python 99.4%Language:Shell 0.6%