93 lines
2.8 KiB
Python
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)
|