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)