diff --git a/sru/onbsru.py b/sru/onbsru.py index e5935e87af8dff0f426e9bbfe9ce3d285f22a8f5..4f31370002e7e1ca7424792a081e7144f42ba973 100644 --- a/sru/onbsru.py +++ b/sru/onbsru.py @@ -6,8 +6,6 @@ from . import almasru class OnbRecordRetriever(almasru.RecordRetriever): - dtl_re = re.compile(r'dtl\/\d*') - pid_re = re.compile(r'\d+') def __init__(self, subdomain: str = 'obv-at-oenb', @@ -21,6 +19,9 @@ class OnbRecordRetriever(almasru.RecordRetriever): 'marc': 'http://www.loc.gov/MARC21/slim' } + self.dtl_re = re.compile(r'dtl\/\d*') + self.pid_re = re.compile(r'\d+') + # Create alias for querying AC-numbers def by_ac_num(self, ac_num: str): return self.by_marc_009(ac_num) @@ -41,16 +42,12 @@ class OnbRecordRetriever(almasru.RecordRetriever): for datafield in datafields: if datafield.attrib == {'tag': '856', 'ind1': '4', 'ind2': '2'}: - marc_856_u = self._get_subfield(datafield, 'u') - marc_856_url = marc_856_u.text - - marc_856_x = self._get_subfield(datafield, 'x') - marc_856_note = marc_856_x.text + marc_856_url = self._get_subfield(datafield, 'u').text + marc_856_note = self._get_subfield(datafield, 'x').text if 'ONB-DTL' in marc_856_note: dtl_suffix = self.dtl_re.findall(marc_856_url)[0] - print(dtl_suffix) - pids.append(self.pid_re.findall(dtl_suffix)) + pids.append(self.pid_re.findall(dtl_suffix)[-1]) return pids