Beispiel #1
0
def test_rero_authorized_access_point_representing_a_person():
    """Test Authorized access point representing a person 100 $adc"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="100">
            <subfield code="a">Brontë, Charlotte,</subfield>
            <subfield code="d">1816-1855</subfield>
            <subfield code="c">écrivain</subfield>
        </datafield>
     """
    trans = trans_prep('rero', xml_part_to_add)
    trans.trans_rero_authorized_access_point_representing_a_person()
    assert trans.json == {
        'authorized_access_point_representing_a_person':
        'Brontë, Charlotte, 1816-1855, écrivain'
    }

    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="100">
            <subfield code="a">Paul</subfield>
            <subfield code="b">VI</subfield>
            <subfield code="c">pape</subfield>
            <subfield code="d">1897-1978</subfield>
        </datafield>
     """
    trans = trans_prep('rero', xml_part_to_add)
    trans.trans_rero_authorized_access_point_representing_a_person()
    assert trans.json == {
        'authorized_access_point_representing_a_person':
        'Paul, VI, pape, 1897-1978'
    }
Beispiel #2
0
def test_bnf_birth_and_death_dates_in_two_fields():
    """Test date of birth 103 $a pos. 1-8 YYYYMMDD AND 200 $f pos. 1-4"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="103">
            <subfield code="a"> 18160421  18550331 </subfield>
        </datafield>
          <datafield ind1=" " ind2=" " tag="200">
            <subfield code="f">1816-1855</subfield>
        </datafield>
     """
    trans = trans_prep('bnf', xml_part_to_add)
    trans.trans_bnf_birth_and_death_dates()
    assert trans.json == {
        'date_of_birth': '1816-04-21',
        'date_of_death': '1855-03-31'
    }

    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="103">
            <subfield code="a"> 1525    ? 16010723 </subfield>
        </datafield>
          <datafield ind1=" " ind2=" " tag="200">
            <subfield code="f">1525?-1601</subfield>
        </datafield>
     """
    trans = trans_prep('bnf', xml_part_to_add)
    trans.trans_bnf_birth_and_death_dates()
    assert trans.json == {
        'date_of_birth': '1525?',
        'date_of_death': '1601-07-23'
    }
Beispiel #3
0
def test_bnf_birth_and_death_from_field_103():
    """Test date of birth 103 $a pos. 1-8 YYYYMMDD"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="103">
            <subfield code="a"> 18160421  18550331 </subfield>
        </datafield>
     """
    trans = trans_prep('bnf', xml_part_to_add)
    trans.trans_bnf_birth_and_death_dates()
    assert trans.json == {
        'date_of_birth': '1816-04-21',
        'date_of_death': '1855-03-31'
    }

    #  format: "XXXXXXXX  XXXX    ?"
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="103">
            <subfield code="a"> 18160421  1855    ?</subfield>
        </datafield>
     """
    trans = trans_prep('bnf', xml_part_to_add)
    trans.trans_bnf_birth_and_death_dates()
    assert trans.json == {
        'date_of_birth': '1816-04-21',
        'date_of_death': '1855?'
    }

    #  format: "XXX.      XXXX    ?"
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="103">
            <subfield code="a"> 181.      1855    ?</subfield>
        </datafield>
     """
    trans = trans_prep('bnf', xml_part_to_add)
    trans.trans_bnf_birth_and_death_dates()
    assert trans.json == {'date_of_birth': '181.', 'date_of_death': '1855?'}

    #  format: "XX..      XXX.XXXX "
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="103">
            <subfield code="a"> 18..      185.0625 </subfield>
        </datafield>
     """
    trans = trans_prep('bnf', xml_part_to_add)
    trans.trans_bnf_birth_and_death_dates()
    assert trans.json == {
        'date_of_birth': '18..',
        'date_of_death': '185.-06-25'
    }

    #  format: "XX..      XXX.XXXX XX"  with bad suffix
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="103">
            <subfield code="a"> 18..      185.0625 12</subfield>
        </datafield>
     """
    trans = trans_prep('bnf', xml_part_to_add)
    trans.trans_bnf_birth_and_death_dates()
    assert trans.json == {}
def test_gnd_authorized_access_point_representing_a_person_missing():
    """Test Authorized access point representing a person 100 $abcd missing
    """
    xml_part_to_add = ""
    trans = trans_prep('gnd', xml_part_to_add)
    trans.trans_gnd_authorized_access_point_representing_a_person()
    assert trans.json == {}
def test_rero_identifier_for_person():
    """Test identifier for person 001"""
    xml_part_to_add = """
        <controlfield tag="001">vtls020260472</controlfield>
     """
    trans = trans_prep('rero', xml_part_to_add)
    trans.trans_rero_identifier_for_person()
    assert trans.json == {"identifier_for_person": "020260472"}
def test_gnd_identifier_for_person():
    """Test identifier for person 001"""
    xml_part_to_add = """
        <controlfield tag="001">118577166</controlfield>
     """
    trans = trans_prep('gnd', xml_part_to_add)
    trans.trans_gnd_identifier_for_person()
    assert trans.json == {"identifier_for_person": "118577166"}
Beispiel #7
0
def test_bnf_birth_and_death_dates_year_birth():
    """Test date of birth 103 $a pos. 1-8 YYYYMMDD"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="103">
            <subfield code="a"> 1816               </subfield>
        </datafield>
     """
    trans = trans_prep('bnf', xml_part_to_add)
    trans.trans_bnf_birth_and_death_dates()
    assert trans.json == {'date_of_birth': '1816'}
Beispiel #8
0
def test_bnf_identifier_for_person():
    """Test identifier for person 001"""
    xml_part_to_add = """
        <controlfield tag="001">FRBNF170842162</controlfield>
     """
    trans = trans_prep('bnf', xml_part_to_add)
    trans.trans_bnf_identifier_for_person()
    assert trans.json == {
        "identifier_for_person": "17084216"
    }
def test_gnd_gender_male():
    """Test gender 375 $a 1 = male, 2 = female, " " = not known."""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="375">
            <subfield code="a">1</subfield>
        </datafield>
     """
    trans = trans_prep('gnd', xml_part_to_add)
    trans.trans_gnd_gender()
    assert trans.json == {'gender': 'male'}
def test_rero_birth_and_death_dates():
    """Test date of birth 100 $d pos. 1-4 YYYY"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="100">
            <subfield code="d">1816 1855</subfield>
        </datafield>
     """
    trans = trans_prep('rero', xml_part_to_add)
    trans.trans_rero_birth_and_death_dates()
    assert trans.json == {"date_of_birth": "1816", "date_of_death": "1855"}
def test_gnd_birth_and_death_dates_year_birth():
    """Test date of birth 100 $d YYYY-"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="100">
            <subfield code="d">1816-</subfield>
        </datafield>
     """
    trans = trans_prep('gnd', xml_part_to_add)
    trans.trans_gnd_birth_and_death_dates()
    assert trans.json == {"date_of_birth": "1816"}
def test_rero_preferred_name_for_person():
    """Test Preferred Name for Person 100 $a"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="100">
            <subfield code="a">Brontë, Charlotte</subfield>
        </datafield>
     """
    trans = trans_prep('rero', xml_part_to_add)
    trans.trans_rero_preferred_name_for_person()
    assert trans.json == {"preferred_name_for_person": "Brontë, Charlotte"}
Beispiel #13
0
def test_bnf_gender_male():
    """Test gender 120 $a a = female, b = male, - = not known."""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="120">
            <subfield code="a">b</subfield>
        </datafield>
     """
    trans = trans_prep('bnf', xml_part_to_add)
    trans.trans_bnf_gender()
    assert trans.json == {'gender': 'male'}
def test_gnd_birth_and_death_dates_year_death():
    """Test date of birth 100 $d -YYYY"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="100">
            <subfield code="d">-1855</subfield>
        </datafield>
     """
    trans = trans_prep('gnd', xml_part_to_add)
    trans.trans_gnd_birth_and_death_dates()
    assert trans.json == {'date_of_death': '1855'}
def test_gnd_language_of_person():
    """Test language of person 377 $a (language 3 characters) ISO 639-2b"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="377">
            <subfield code="a">fre</subfield>
            <subfield code="a">eng</subfield>
        </datafield>
     """
    trans = trans_prep('gnd', xml_part_to_add)
    trans.trans_gnd_language_of_person()
    assert trans.json == {'language_of_person': ['fre', 'eng']}
Beispiel #16
0
def test_bnf_preferred_name_for_person_1():
    """Test Preferred Name for Person 200 $ab"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="200">
            <subfield code="a">Brontë</subfield>
            <subfield code="b">Charlotte</subfield>
        </datafield>
     """
    trans = trans_prep('bnf', xml_part_to_add)
    trans.trans_bnf_preferred_name_for_person()
    assert trans.json == {'preferred_name_for_person': 'Brontë, Charlotte'}
Beispiel #17
0
def test_rero_birth_and_death_dates():
    """Test date of birth 100 $d"""
    xml_part_to_add = ""
    trans = trans_prep('rero', xml_part_to_add)
    trans.trans_rero_birth_and_death_dates()
    assert trans.json == {}

    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="100">
            <subfield code="d">1816-1855</subfield>
        </datafield>
     """
    trans = trans_prep('rero', xml_part_to_add)
    trans.trans_rero_birth_and_death_dates()
    assert trans.json == {'date_of_birth': '1816', 'date_of_death': '1855'}
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="100">
            <subfield code="d">1816-</subfield>
        </datafield>
     """
    trans = trans_prep('rero', xml_part_to_add)
    trans.trans_rero_birth_and_death_dates()
    assert trans.json == {'date_of_birth': '1816'}

    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="100">
            <subfield code="d">?-1855</subfield>
        </datafield>
     """
    trans = trans_prep('rero', xml_part_to_add)
    trans.trans_rero_birth_and_death_dates()
    assert trans.json == {'date_of_birth': '?', 'date_of_death': '1855'}

    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="100">
            <subfield code="d">ca. 1800-1855</subfield>
        </datafield>
     """
    trans = trans_prep('rero', xml_part_to_add)
    trans.trans_rero_birth_and_death_dates()
    assert trans.json == {'date_of_birth': 'ca. 1800', 'date_of_death': '1855'}
def test_rero_biographical_information():
    """Test biographical information 680 $a"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="680">
            <subfield code="a">Romancière. - Charlotte Brontë.</subfield>
        </datafield>
     """
    trans = trans_prep('rero', xml_part_to_add)
    trans.trans_rero_biographical_information()
    assert trans.json == {
        "biographical_information": ["Romancière. - Charlotte Brontë."]
    }
def test_gnd_preferred_name_for_person():
    """Test Preferred Name for Person 100 $a"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="100">
            <subfield code="a">Bauer, Johann Gottfried</subfield>
        </datafield>
     """
    trans = trans_prep('gnd', xml_part_to_add)
    trans.trans_gnd_preferred_name_for_person()
    assert trans.json == {
        'preferred_name_for_person': 'Bauer, Johann Gottfried'
    }
Beispiel #20
0
def test_bnf_identifier_for_person():
    """Test identifier for person"""
    xml_part_to_add = """
        <controlfield
        tag="003">http://catalogue.bnf.fr/ark:/12148/cb13615969g</controlfield>
     """
    trans = trans_prep('bnf', xml_part_to_add)
    trans.trans_bnf_identifier_for_person()
    assert trans.json == {
        'identifier_for_person':
        'http://catalogue.bnf.fr/ark:/12148/cb13615969g',
        'pid': '13615969'
    }
Beispiel #21
0
def test_bnf_birth_and_death_dates_birth_death():
    """Test date of birth 103 $a pos. 1-8 YYYYMMDD"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="103">
            <subfield code="a">18160421 18550331</subfield>
        </datafield>
     """
    trans = trans_prep('bnf', xml_part_to_add)
    trans.trans_bnf_birth_and_death_dates()
    assert trans.json == {
        "date_of_birth": "1816-04-21",
        "date_of_death": "1855-03-31"
    }
Beispiel #22
0
def test_bnf_birth_and_death_dates_year_birth_date():
    """Test date of birth 200 $f pos. 1-4"""
    xml_part_to_add = """
          <datafield ind1=" " ind2=" " tag="200">
            <subfield code="f">1816-1855</subfield>
        </datafield>
     """
    trans = trans_prep('bnf', xml_part_to_add)
    trans.trans_bnf_birth_and_death_dates()
    assert trans.json == {
        "date_of_birth": "1816",
        "date_of_death": "1855"
    }
Beispiel #23
0
def test_rero_identifier_for_person():
    """Test identifier for person 035"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="035">
            <subfield code="a">A000070488</subfield>
        </datafield>
     """
    trans = trans_prep('rero', xml_part_to_add)
    trans.trans_rero_identifier_for_person()
    assert trans.json == {
        'pid': 'A000070488',
        'identifier_for_person': 'http://data.rero.ch/02-A000070488'
    }
def test_rero_authorized_access_point_representing_a_person():
    """Test Authorized access point representing a person 100 $adc"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="100">
            <subfield code="a">Brontë, Charlotte</subfield>
            <subfield code="d">1816-1855</subfield>
            <subfield code="c">écrivain</subfield>
        </datafield>
     """
    trans = trans_prep('rero', xml_part_to_add)
    trans.trans_rero_authorized_access_point_representing_a_person()
    assert trans.json == {
        "authorized_access_point_representing_a_person":
        "Brontë, Charlotte, 1816-1855, écrivain"
    }
def test_rero_variant_name_for_person():
    """Test Variant Name for Person 400 $a"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="400">
            <subfield code="a">Bell, Currer</subfield>
        </datafield>
         <datafield ind1=" " ind2=" " tag="400">
            <subfield code="a">Brontë, Carlotta</subfield>
        </datafield>
     """
    trans = trans_prep('rero', xml_part_to_add)
    trans.trans_rero_variant_name_for_person()
    assert trans.json == {
        "variant_name_for_person": ["Bell, Currer", "Brontë, Carlotta"]
    }
def test_gnd_birth_and_death_dates_birth():
    """Test date of birth 548 $a DD.MM.YYYY- $4 datx"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="548">
          <subfield code="a">06.06.1875-</subfield>
          <subfield code="4">datx</subfield>
        </datafield>
        <datafield ind1=" " ind2=" " tag="548">
            <subfield code="a">1875-</subfield>
            <subfield code="4">datl</subfield>
        </datafield>
     """
    trans = trans_prep('gnd', xml_part_to_add)
    trans.trans_gnd_birth_and_death_dates()
    assert trans.json == {"date_of_birth": "06.06.1875"}
def test_gnd_identifier_for_person():
    """Test identifier for person 001"""
    xml_part_to_add = """
       <controlfield tag="001">118577166</controlfield>
        <datafield ind1=" " ind2=" " tag="024">
            <subfield code="a">http://d-nb.info/gnd/100000193</subfield>
            <subfield code="2">uri</subfield>
        </datafield>
     """
    trans = trans_prep('gnd', xml_part_to_add)
    trans.trans_gnd_identifier_for_person()
    assert trans.json == {
        'identifier_for_person': 'http://d-nb.info/gnd/100000193',
        'pid': '118577166'
    }
def test_gnd_birth_and_death_dates_death():
    """Test date of birth 548 $a -DD.MM.YYYY $4 datx"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="548">
          <subfield code="a">-12.08.1955</subfield>
          <subfield code="4">datx</subfield>
        </datafield>
        <datafield ind1=" " ind2=" " tag="548">
            <subfield code="a">-1955</subfield>
            <subfield code="4">datl</subfield>
        </datafield>
     """
    trans = trans_prep('gnd', xml_part_to_add)
    trans.trans_gnd_birth_and_death_dates()
    assert trans.json == {'date_of_death': '12.08.1955'}
Beispiel #29
0
def test_bnf_language_of_person():
    """Test language of person 101 $a (language 3 characters) ISO 639-2"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="101">
            <subfield code="a">fre</subfield>
            <subfield code="a">eng</subfield>
        </datafield>
     """
    trans = trans_prep('bnf', xml_part_to_add)
    trans.trans_bnf_language_of_person()
    assert trans.json == {
        "language_of_person": [
            "fre",
            "eng"
        ]
    }
def test_gnd_variant_name_for_person():
    """Test Variant Name for Person 400 $a"""
    xml_part_to_add = """
        <datafield ind1=" " ind2=" " tag="400">
            <subfield code="a">Barbanson, Konstantin \u0098von\u009c</subfield>
        </datafield>
         <datafield ind1=" " ind2=" " tag="400">
            <subfield code="a">Barbanc\u0327on, Konstantyn</subfield>
        </datafield>
     """
    trans = trans_prep('gnd', xml_part_to_add)
    trans.trans_gnd_variant_name_for_person()
    assert trans.json == {
        'variant_name_for_person':
        ['Barbanson, Konstantin von', 'Barbanc\u0327on, Konstantyn']
    }