diff --git a/test/dataextractors/test_simple.py b/test/dataextractors/test_simple.py index 40a91f4b0937d1dac8762d8c4af5b7dc457fcbbd..89c8aaa3ea8fbd47bb21d7de7ce6c2c1685de6c6 100644 --- a/test/dataextractors/test_simple.py +++ b/test/dataextractors/test_simple.py @@ -9,7 +9,8 @@ from travelogues_extraction.getrecords.session import RecordRetriever from travelogues_extraction.getrecords.acnumber_extractor import extract_ac_from_series from travelogues_extraction.dataextractors.dataextractors.simple import VolltextAndBarcode, Ausgabe, Verlagsort, \ VerlegerDrucker, Erscheinungsjahr, ErscheinungsjahrSortierform, Kollation, Illustrationen, Format, Anmerkungen, \ - Sprache, OriginalSprache, BemerkungenZurSprache, Standardnummer, ArtDesInhalts, Inhalt, Marker, Zusammenstellung + Sprache, OriginalSprache, BemerkungenZurSprache, Standardnummer, ArtDesInhalts, Inhalt, Marker, Zusammenstellung, \ + Standort from travelogues_extraction.dataextractors.dataextractors.index import IndexSetter @@ -26,7 +27,7 @@ async def test_volltext_and_barcode_and_ausgabe_and_verlagsort_and_verleger_druc [IndexSetter.column, ] + VolltextAndBarcode.get_columns_names_I_work_on() + [Ausgabe.column, Verlagsort.column, VerlegerDrucker.column, Erscheinungsjahr.column, ErscheinungsjahrSortierform.column, ] + Illustrationen.get_columns_names_I_work_on() \ + [Format.column, ] + Anmerkungen.get_columns_names_I_work_on() + [Sprache.column, OriginalSprache.column, - BemerkungenZurSprache.column, ArtDesInhalts.column, Inhalt.column, Zusammenstellung.column] + BemerkungenZurSprache.column, ArtDesInhalts.column, Inhalt.column, Zusammenstellung.column, Standort.column] ) index_setter = IndexSetter(target_dataframe) volltext_and_barcode = VolltextAndBarcode(target_dataframe) @@ -46,6 +47,7 @@ async def test_volltext_and_barcode_and_ausgabe_and_verlagsort_and_verleger_druc inhalt = Inhalt(target_dataframe) marker = Marker(target_dataframe) zusammenstellung = Zusammenstellung(target_dataframe) + standort = Standort(target_dataframe) index = 0 stop = 3 @@ -112,6 +114,7 @@ async def test_volltext_and_barcode_and_ausgabe_and_verlagsort_and_verleger_druc await inhalt.write(record) await marker.write(record) await zusammenstellung.write(record) + await standort.write(record) assert target_dataframe.shape[0] == index + 1 assert target_dataframe.iat[index, 1].__class__ is str @@ -226,6 +229,7 @@ async def test_volltext_and_barcode_and_ausgabe_and_verlagsort_and_verleger_druc else: assert zusammenstellung_val.startswith('Zusammenstellung') + assert target_dataframe.at[record.ac_number, standort.column].startswith('Z') index += 1 if index == stop: diff --git a/travelogues_extraction/controller/main.py b/travelogues_extraction/controller/main.py index a27e0c3353130c97d80fe3a70dbe033247bcf3ff..4be759248d0ca5443f6474c0cf0a41bf9e05301c 100644 --- a/travelogues_extraction/controller/main.py +++ b/travelogues_extraction/controller/main.py @@ -37,7 +37,8 @@ class FromAlmaOutputToExcel: VerlegerNormiertGNDID, DruckerGNDID, Erscheinungsjahr, ErscheinungsjahrSortierform, Kollation, Illustrationen, Format, Anmerkungen, Sprache, OriginalSprache, BemerkungenZurSprache, Standardnummer, WeitereVerfasserGNDID, HerausgeberGNDID, ÜbersetzerGNDID, BeiträgerGNDID, WeitereBeteiligteGNDID, IllustratorenGNDID, WidmenderGNDID, - WidmungsempfängerGNDID, ArtDesInhalts, Inhalt, WerkeInRelation, Schlagworte, Marker, Zusammenstellung, Signatur + WidmungsempfängerGNDID, ArtDesInhalts, Inhalt, WerkeInRelation, Schlagworte, Marker, Zusammenstellung, Signatur, + Standort, ] def __init__(self, alma_output: str, target_output: str, slice: slice): diff --git a/travelogues_extraction/dataextractors/dataextractors/simple.py b/travelogues_extraction/dataextractors/dataextractors/simple.py index 7640c3ffea1ce85c064fcd41ea8ecefe8a8cbd8f..ddf0a03f535015c76d3d29e6f09822ed4df21193 100644 --- a/travelogues_extraction/dataextractors/dataextractors/simple.py +++ b/travelogues_extraction/dataextractors/dataextractors/simple.py @@ -208,5 +208,9 @@ class Zusammenstellung(AbstractXpathJoinDirectlyToColumn): ), namespaces=namespaces) +class Standort(AbstractXpathJoinDirectlyToColumn): + column = 'Standort' + xpath = lxmletree.XPath('./marc:datafield[@tag="AVA" and @ind1=" " and @ind2=" "]/marc:subfield[@code="b"]', namespaces=namespaces) +