From 8d1e80192312fbdf89feb3832d67ce55b23fe085 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriele=20H=C3=B6fler?= Date: Tue, 18 Jun 2019 11:58:53 +0200 Subject: [PATCH] Rename single to unique for clarity --- sru/almasru.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/sru/almasru.py b/sru/almasru.py index d24e2d2..1107a0b 100644 --- a/sru/almasru.py +++ b/sru/almasru.py @@ -71,7 +71,7 @@ class RecordRetriever: 'marc': 'http://www.loc.gov/MARC21/slim' } - def get_single(self, alma_query: str) -> Element: + def get_unique(self, alma_query: str) -> Element: """Return one MARC XML record for a specific query. :param alma_query: URI-parameter query for SRU request @@ -87,7 +87,7 @@ class RecordRetriever: sru_url = self._create_url(alma_query, startrecord) sru_xml = self._response_to_xml(sru_url) - self._raise_errors_single_records(sru_xml) + self._raise_errors_unique_record(sru_xml) xml_list = self._extract_marc_xml(sru_xml) return xml_list[0] @@ -102,7 +102,14 @@ class RecordRetriever: return sru_url - def _raise_errors_single_records(self, sru_xml: Element): + def _response_to_xml(self, sru_url): + + response = request.urlopen(sru_url).read() + sru_xml = fromstring(response) + + return sru_xml + + def _raise_errors_unique_record(self, sru_xml: Element): num_recs = sru_xml.find("srw:numberOfRecords", self.namespaces) @@ -138,7 +145,7 @@ class RecordRetriever: """ alma_query = f'alma.local_control_field_009={marc_009}' - return self.get_single(alma_query) + return self.get_unique(alma_query) def by_barcode(self, barcode: str) -> Element: """Return record by barcode. @@ -146,7 +153,7 @@ class RecordRetriever: param barcode: Barcode of a specific item.""" alma_query = f'alma.barcode={barcode}' - return self.get_single(alma_query) + return self.get_unique(alma_query) def by_mms_id(self, mms_id: str) -> Element: """Return record by MMS-ID. @@ -154,4 +161,4 @@ class RecordRetriever: param mmsid: MMS-ID of a specific item.""" alma_query = f'alma.mms_id={mms_id}' - return self.get_single(alma_query) + return self.get_unique(alma_query) -- GitLab