Skip to content
Snippets Groups Projects
Commit c6b75a02 authored by philip.roeggla's avatar philip.roeggla
Browse files

Spalte Inhalt

parent e47e9028
No related branches found
No related tags found
No related merge requests found
......@@ -9,7 +9,7 @@ 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
Sprache, OriginalSprache, BemerkungenZurSprache, Standardnummer, ArtDesInhalts, Inhalt
from travelogues_extraction.dataextractors.dataextractors.index import IndexSetter
......@@ -26,7 +26,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]
BemerkungenZurSprache.column, ArtDesInhalts.column, Inhalt.column]
)
index_setter = IndexSetter(target_dataframe)
volltext_and_barcode = VolltextAndBarcode(target_dataframe)
......@@ -43,6 +43,7 @@ async def test_volltext_and_barcode_and_ausgabe_and_verlagsort_and_verleger_druc
originalsprache = OriginalSprache(target_dataframe)
bemerkungenZurSprache = BemerkungenZurSprache(target_dataframe)
artDesInhalts = ArtDesInhalts(target_dataframe)
inhalt = Inhalt(target_dataframe)
index = 0
stop = 3
......@@ -106,6 +107,7 @@ async def test_volltext_and_barcode_and_ausgabe_and_verlagsort_and_verleger_druc
await originalsprache.write(record)
await bemerkungenZurSprache.write(record)
await artDesInhalts.write(record)
await inhalt.write(record)
assert target_dataframe.shape[0] == index + 1
assert target_dataframe.iat[index, 1].__class__ is str
......@@ -201,6 +203,16 @@ async def test_volltext_and_barcode_and_ausgabe_and_verlagsort_and_verleger_druc
elif index == 2:
assert artDesInhalts_val.__repr__() == 'nan'
inhalt_val: typing.Union[str, float] = target_dataframe.at[record.ac_number, inhalt.column]
if index == 0:
assert inhalt_val.__repr__() == 'nan'
elif index == 1:
assert inhalt_val.__class__ == str
inhalt_list = inhalt_val.split(inhalt.join_string)
assert len(inhalt_list) == 2
assert inhalt_list[0][0].isalpha()
assert inhalt_list[1][0].isalpha()
index += 1
if index == stop:
break
......
......@@ -36,7 +36,8 @@ class FromAlmaOutputToExcel:
BandzählungTitelDesBandes, Ausgabe, Verlagsort, VerlagsOrtNormiertGND, DruckOrtNormiertGND, VerlegerDrucker,
VerlegerNormiertGNDID, DruckerGNDID, Erscheinungsjahr, ErscheinungsjahrSortierform, Kollation, Illustrationen,
Format, Anmerkungen, Sprache, OriginalSprache, BemerkungenZurSprache, Standardnummer, WeitereVerfasserGNDID,
HerausgeberGNDID, ÜbersetzerGNDID, BeiträgerGNDID, WeitereBeteiligteGNDID, IllustratorenGNDID,
HerausgeberGNDID, ÜbersetzerGNDID, BeiträgerGNDID, WeitereBeteiligteGNDID, IllustratorenGNDID, WidmenderGNDID,
WidmungsempfängerGNDID, ArtDesInhalts, Inhalt
]
def __init__(self, alma_output: str, target_output: str, slice: slice):
......
......@@ -183,5 +183,17 @@ class ArtDesInhalts(AbstractXpathJoinDirectlyToColumn):
xpath = lxmletree.XPath('./marc:datafield[@tag="655" and @ind1=" " and @ind2="7"]/marc:subfield[@code="a"]', namespaces=namespaces)
class Inhalt(AbstractXpathJoinDirectlyToColumn):
column = 'Inhalt'
xpath = lxmletree.XPath(
(
'./marc:datafield[@tag="505" and @ind1="8" and @ind2=" "]/marc:subfield[@code="a" or @code="t"]'
' | '
'./marc:datafield[@tag="249" and @ind1=" " and @ind2=" "]/marc:subfield[@code="a"]'
), namespaces=namespaces
)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment