From 49e43b92b685711f3c7aa03f53c0931abdbfe0f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20R=C3=B6ggla?= Date: Fri, 17 Jul 2020 14:33:51 +0200 Subject: [PATCH] last column vd17 --- test/dataextractors/test_simple.py | 23 +++++++++++++++++-- travelogues_extraction/controller/main.py | 2 +- .../dataextractors/dataextractors/simple.py | 5 ++++ 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/test/dataextractors/test_simple.py b/test/dataextractors/test_simple.py index 89c8aaa..7e62618 100644 --- a/test/dataextractors/test_simple.py +++ b/test/dataextractors/test_simple.py @@ -10,7 +10,7 @@ from travelogues_extraction.getrecords.acnumber_extractor import extract_ac_from 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, \ - Standort + Standort, VD17 from travelogues_extraction.dataextractors.dataextractors.index import IndexSetter @@ -27,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, Standort.column] + BemerkungenZurSprache.column, ArtDesInhalts.column, Inhalt.column, Zusammenstellung.column, Standort.column, ] ) index_setter = IndexSetter(target_dataframe) volltext_and_barcode = VolltextAndBarcode(target_dataframe) @@ -253,3 +253,22 @@ async def test_standardnummer(): assert target_dataframe.at['AC10438476', standardnummer.column].__repr__() == 'nan' +@pytest.mark.asyncio +async def test_vd17(): + # AC07705435 whithout + # AC09682453 whith + reduced_series = dummy_data[ + dummy_data['Datensatznummer'].str.contains('AC07705435') | dummy_data['Datensatznummer'].str.contains( + 'AC09682453')]['Datensatznummer'] + session = httpx.AsyncClient() + record_retriever = RecordRetriever(extract_ac_from_series(reduced_series), session=session) + target_dataframe = pd.DataFrame([], columns=[IndexSetter.column, VD17.column]) + indexer = IndexSetter(target_dataframe) + vd17 = VD17(target_dataframe) + async for record in record_retriever.generate_records(): + await indexer.write(record) + await vd17.write(record) + + assert target_dataframe.shape == (2, 2) + assert target_dataframe.at['AC09682453', vd17.column] == 'VD18 14804557' + assert target_dataframe.at['AC07705435', vd17.column].__repr__() == 'nan' diff --git a/travelogues_extraction/controller/main.py b/travelogues_extraction/controller/main.py index 4be7592..2293b68 100644 --- a/travelogues_extraction/controller/main.py +++ b/travelogues_extraction/controller/main.py @@ -38,7 +38,7 @@ class FromAlmaOutputToExcel: Format, Anmerkungen, Sprache, OriginalSprache, BemerkungenZurSprache, Standardnummer, WeitereVerfasserGNDID, HerausgeberGNDID, ÜbersetzerGNDID, BeiträgerGNDID, WeitereBeteiligteGNDID, IllustratorenGNDID, WidmenderGNDID, WidmungsempfängerGNDID, ArtDesInhalts, Inhalt, WerkeInRelation, Schlagworte, Marker, Zusammenstellung, Signatur, - Standort, + Standort, VD17 ] 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 ddf0a03..e1a716a 100644 --- a/travelogues_extraction/dataextractors/dataextractors/simple.py +++ b/travelogues_extraction/dataextractors/dataextractors/simple.py @@ -213,4 +213,9 @@ class Standort(AbstractXpathJoinDirectlyToColumn): xpath = lxmletree.XPath('./marc:datafield[@tag="AVA" and @ind1=" " and @ind2=" "]/marc:subfield[@code="b"]', namespaces=namespaces) +class VD17(AbstractXpathJoinDirectlyToColumn): + column = 'VD17' + xpath = lxmletree.XPath('./marc:datafield[@tag="024"]/marc:subfield[@code="a"]', namespaces=namespaces) + + -- GitLab