Files
BibAPI/src/bibapi/__init__.py

93 lines
2.8 KiB
Python

from .schemas.api_types import (
ALMASchema,
DNBSchema,
HBZSchema,
HebisSchema,
KOBVSchema,
OEVKSchema,
SWBSchema,
)
from .sru import Api as _Api
__all__ = [
"DNB",
"HBZ",
"HEBIS",
"KOBV",
"OEVK",
"SWB",
]
class SWB(_Api):
def __init__(self) -> None:
self.site = SWBSchema.NAME.value
self.url = SWBSchema.URL.value
self.prefix = SWBSchema.ARGSCHEMA.value
self.library_identifier = SWBSchema.LIBRARY_NAME_LOCATION_FIELD.value
super().__init__(self.site, self.url, self.prefix, self.library_identifier)
class DNB(_Api):
def __init__(self) -> None:
self.site = DNBSchema.NAME.value
self.url = DNBSchema.URL.value
self.prefix = DNBSchema.ARGSCHEMA.value
super().__init__(self.site, self.url, self.prefix, self.library_identifier)
class KOBV(_Api):
def __init__(self) -> None:
self.site = KOBVSchema.NAME.value
self.url = KOBVSchema.URL.value
self.prefix = KOBVSchema.ARGSCHEMA.value
self.library_identifier = KOBVSchema.LIBRARY_NAME_LOCATION_FIELD.value
super().__init__(self.site, self.url, self.prefix, self.library_identifier)
class HEBIS(_Api):
def __init__(self) -> None:
self.site = HebisSchema.NAME.value
self.url = HebisSchema.URL.value
self.prefix = HebisSchema.ARGSCHEMA.value
self.replace = HebisSchema.REPLACE.value
self.library_identifier = HebisSchema.LIBRARY_NAME_LOCATION_FIELD.value
self.notsupported_args = HebisSchema.NOTSUPPORTEDARGS.value
super().__init__(
site=self.site,
url=self.url,
prefix=self.prefix,
library_identifier=self.library_identifier,
notsupported_args=self.notsupported_args,
replace=self.replace,
)
class OEVK(_Api):
def __init__(self) -> None:
self.site = OEVKSchema.NAME.value
self.url = OEVKSchema.URL.value
self.prefix = OEVKSchema.ARGSCHEMA.value
self.library_identifier = OEVKSchema.LIBRARY_NAME_LOCATION_FIELD.value
super().__init__(self.site, self.url, self.prefix, self.library_identifier)
class HBZ(_Api):
"""Small wrapper of the SRU API used to retrieve data from the HBZ libraries.
All fields are available [here](https://eu04.alma.exlibrisgroup.com/view/sru/49HBZ_NETWORK?version=1.2)
Schema
------
HBZSchema: "HBZSchema"
query prefix: alma.
"""
def __init__(self) -> None:
self.site = HBZSchema.NAME.value
self.url = HBZSchema.URL.value
self.prefix = HBZSchema.ARGSCHEMA.value
self.library_identifier = HBZSchema.LIBRARY_NAME_LOCATION_FIELD.value
super().__init__(self.site, self.url, self.prefix, self.library_identifier)