Source code for digital_milliet.lib.catalog
# coding utf-8
import requests
[docs]class Catalog(object):
""" Provides an interface to a Catalog API Endpoint
which can lookup author and work records by CTS URN
"""
[docs] def __init__(self, app=None):
""" Constructor
:param app: The Flask App
:type app: Flask
"""
self.app = app
self.api_endpoint = app.config['CATALOG_API_URL']
[docs] def lookup_author(self, urn=None):
""" Looks up an Author by authority id in the remote Catalog API endpoint
:param urn: The authority id (i.e textgroup CTS URN)
:type urn: string
:return: response from the API (this should be abstracted)
:rtype: dict
"""
url = str(
self.api_endpoint +
'/authors/search?canonical_id=' +
urn +
'&format=json')
return requests.get(url).json()
[docs] def lookup_work(self, urn=None):
""" Looks up an Work by authority id in the remote Catalog API endpoint
:param urn: The authority id (i.e work CTS URN)
:type urn: string
:return: response from the API (we should abstract this)
:rtype: dict
"""
url = str(
self.api_endpoint +
'/works/search?work=' +
urn +
"&format=json")
return requests.get(url).json()