예제 #1
0
파일: bd20x24x.py 프로젝트: blixhavn/dojson
def key_title(self, key, value):
    """Key Title."""
    valid_nonfiling_characters = [str(x) for x in range(10)]

    field_map = {
        'a': 'key_title',
        'b': 'qualifying_information',
        '6': 'linkage',
        '8': 'field_link_and_sequence_number',
    }

    order = utils.map_order(field_map, value)

    if key[4] in valid_nonfiling_characters:
        order.append('nonfiling_characters')

    return {
        '__order__': tuple(order) if len(order) else None,
        'key_title': value.get('a'),
        'field_link_and_sequence_number': utils.force_list(
            value.get('8')
        ),
        'qualifying_information': value.get('b'),
        'linkage': value.get('6'),
        'nonfiling_characters': utils.int_with_default(key[4], None),
    }
예제 #2
0
파일: bd20x24x.py 프로젝트: blixhavn/dojson
def title_statement(self, key, value):
    """Title Statement."""
    valid_nonfiling_characters = [str(x) for x in range(10)]

    indicator_map1 = {
        '0': 'No added entry',
        '1': 'Added entry',
    }

    field_map = {
        '6': 'linkage',
        '8': 'field_link_and_sequence_number',
        'a': 'title',
        'b': 'remainder_of_title',
        'c': 'statement_of_responsibility',
        'f': 'inclusive_dates',
        'g': 'bulk_dates',
        'h': 'medium',
        'k': 'form',
        'n': 'number_of_part_section_of_a_work',
        'p': 'name_of_part_section_of_a_work',
        's': 'version'
    }

    order = utils.map_order(field_map, value)
    if key[3] in indicator_map1:
        order.append('title_added_entry')
    if key[4] in valid_nonfiling_characters:
        order.append('nonfiling_characters')

    return {
        '__order__': tuple(order) if len(order) else None,
        'title': value.get('a'),
        'statement_of_responsibility': value.get('c'),
        'remainder_of_title': value.get('b'),
        'bulk_dates': value.get('g'),
        'inclusive_dates': value.get('f'),
        'medium': value.get('h'),
        'form': utils.force_list(
            value.get('k')
        ),
        'number_of_part_section_of_a_work': utils.force_list(
            value.get('n')
        ),
        'name_of_part_section_of_a_work': utils.force_list(
            value.get('p')
        ),
        'version': value.get('s'),
        'linkage': value.get('6'),
        'field_link_and_sequence_number': utils.force_list(
            value.get('8')
        ),
        'title_added_entry': indicator_map1.get(key[3]),
        'nonfiling_characters': utils.int_with_default(key[4], None),
    }
예제 #3
0
파일: bd20x24x.py 프로젝트: tind/dojson
def collective_uniform_title(self, key, value):
    """Collective Uniform Title."""
    valid_nonfiling_characters = [str(x) for x in range(10)]

    indicator_map1 = {
        '0': 'Not printed or displayed',
        '1': 'Printed or displayed',
    }

    field_map = {
        'a': 'uniform_title',
        'd': 'date_of_treaty_signing',
        'f': 'date_of_a_work',
        'g': 'miscellaneous_information',
        'h': 'medium',
        'k': 'form_subheading',
        'l': 'language_of_a_work',
        'm': 'medium_of_performance_for_music',
        'n': 'number_of_part_section_of_a_work',
        'o': 'arranged_statement_for_music',
        'p': 'name_of_part_section_of_a_work',
        'r': 'key_for_music',
        's': 'version',
        '6': 'linkage',
        '8': 'field_link_and_sequence_number',
    }

    order = utils.map_order(field_map, value)

    if key[3] in indicator_map1:
        order.append('uniform_title_printed_or_displayed')
    if key[4] in valid_nonfiling_characters:
        order.append('nonfiling_characters')

    return {
        '__order__': tuple(order) if len(order) else None,
        'uniform_title': value.get('a'),
        'date_of_treaty_signing': utils.force_list(value.get('d')),
        'miscellaneous_information': value.get('g'),
        'date_of_a_work': value.get('f'),
        'medium': value.get('h'),
        'form_subheading': utils.force_list(value.get('k')),
        'medium_of_performance_for_music': utils.force_list(value.get('m')),
        'language_of_a_work': value.get('l'),
        'arranged_statement_for_music': value.get('o'),
        'number_of_part_section_of_a_work': utils.force_list(value.get('n')),
        'name_of_part_section_of_a_work': utils.force_list(value.get('p')),
        'version': value.get('s'),
        'key_for_music': value.get('r'),
        'linkage': value.get('6'),
        'field_link_and_sequence_number': utils.force_list(value.get('8')),
        'uniform_title_printed_or_displayed': indicator_map1.get(key[3]),
        'nonfiling_characters': utils.int_with_default(key[4], None),
    }
예제 #4
0
파일: bd1xx.py 프로젝트: blixhavn/dojson
def main_entry_uniform_title(self, key, value):
    """Main Entry-Uniform Title."""
    nonfiling_characters = [str(x) for x in range(10)]

    field_map = {
        "a": "uniform_title",
        "d": "date_of_treaty_signing",
        "f": "date_of_a_work",
        "g": "miscellaneous_information",
        "h": "medium",
        "k": "form_subheading",
        "l": "language_of_a_work",
        "m": "medium_of_performance_for_music",
        "n": "number_of_part_section_of_a_work",
        "o": "arranged_statement_for_music",
        "p": "name_of_part_section_of_a_work",
        "r": "key_for_music",
        "s": "version",
        "t": "title_of_a_work",
        "0": "authority_record_control_number_or_standard_number",
        "6": "linkage",
        "8": "field_link_and_sequence_number",
    }

    order = utils.map_order(field_map, value)

    if key[3] in nonfiling_characters:
        order.append("nonfiling_characters")

    return {
        "__order__": tuple(order) if len(order) else None,
        "uniform_title": value.get("a"),
        "name_of_part_section_of_a_work": utils.force_list(value.get("p")),
        "date_of_treaty_signing": utils.force_list(value.get("d")),
        "miscellaneous_information": value.get("g"),
        "date_of_a_work": value.get("f"),
        "medium": value.get("h"),
        "form_subheading": utils.force_list(value.get("k")),
        "medium_of_performance_for_music": utils.force_list(value.get("m")),
        "language_of_a_work": value.get("l"),
        "arranged_statement_for_music": value.get("o"),
        "number_of_part_section_of_a_work": utils.force_list(value.get("n")),
        "authority_record_control_number_or_standard_number": utils.force_list(value.get("0")),
        "version": value.get("s"),
        "key_for_music": value.get("r"),
        "title_of_a_work": value.get("t"),
        "linkage": value.get("6"),
        "field_link_and_sequence_number": utils.force_list(value.get("8")),
        "nonfiling_characters": utils.int_with_default(key[3], None),
    }
예제 #5
0
파일: bd20x24x.py 프로젝트: blixhavn/dojson
def translation_of_title_by_cataloging_agency(self, key, value):
    """Translation of Title by Cataloging Agency."""
    valid_nonfiling_characters = [str(x) for x in range(10)]

    indicator_map1 = {
        '0': 'No added entry',
        '1': 'Added entry',
    }

    field_map = {
        'a': 'title',
        'b': 'remainder_of_title',
        'c': 'statement_of_responsibility_etc.',
        'h': 'medium',
        'n': 'number_of_part_section_of_a_work',
        'p': 'name_of_part_section_of_a_work',
        'y': 'language_code_of_translated_title',
        '6': 'linkage',
        '8': 'field_link_and_sequence_number',
    }

    order = utils.map_order(field_map, value)

    if key[3] in indicator_map1:
        order.append('title_added_entry')
    if key[4] in valid_nonfiling_characters:
        order.append('nonfiling_characters')

    return {
        '__order__': tuple(order) if len(order) else None,
        'title': value.get('a'),
        'statement_of_responsibility': value.get('c'),
        'remainder_of_title': value.get('b'),
        'medium': value.get('h'),
        'number_of_part_section_of_a_work': utils.force_list(
            value.get('n')
        ),
        'name_of_part_section_of_a_work': utils.force_list(
            value.get('p')
        ),
        'linkage': value.get('6'),
        'language_code_of_translated_title': value.get('y'),
        'field_link_and_sequence_number': utils.force_list(
            value.get('8')
        ),
        'title_added_entry': indicator_map1.get(key[3]),
        'nonfiling_characters': utils.int_with_default(key[4], None),
    }
예제 #6
0
파일: bd20x24x.py 프로젝트: tind/dojson
def title_statement(self, key, value):
    """Title Statement."""
    valid_nonfiling_characters = [str(x) for x in range(10)]

    indicator_map1 = {
        '0': 'No added entry',
        '1': 'Added entry',
    }

    field_map = {
        '6': 'linkage',
        '8': 'field_link_and_sequence_number',
        'a': 'title',
        'b': 'remainder_of_title',
        'c': 'statement_of_responsibility',
        'f': 'inclusive_dates',
        'g': 'bulk_dates',
        'h': 'medium',
        'k': 'form',
        'n': 'number_of_part_section_of_a_work',
        'p': 'name_of_part_section_of_a_work',
        's': 'version'
    }

    order = utils.map_order(field_map, value)
    if key[3] in indicator_map1:
        order.append('title_added_entry')
    if key[4] in valid_nonfiling_characters:
        order.append('nonfiling_characters')

    return {
        '__order__': tuple(order) if len(order) else None,
        'title': value.get('a'),
        'statement_of_responsibility': value.get('c'),
        'remainder_of_title': value.get('b'),
        'bulk_dates': value.get('g'),
        'inclusive_dates': value.get('f'),
        'medium': value.get('h'),
        'form': utils.force_list(value.get('k')),
        'number_of_part_section_of_a_work': utils.force_list(value.get('n')),
        'name_of_part_section_of_a_work': utils.force_list(value.get('p')),
        'version': value.get('s'),
        'linkage': value.get('6'),
        'field_link_and_sequence_number': utils.force_list(value.get('8')),
        'title_added_entry': indicator_map1.get(key[3]),
        'nonfiling_characters': utils.int_with_default(key[4], None),
    }
예제 #7
0
def series_statement_added_entry_title(self, key, value):
    """Series Statement/Added Entry-Title."""
    valid_nonfiling_characters = [str(x) for x in range(10)]

    field_map = {
        'a': 'title',
        'n': 'number_of_part_section_of_a_work',
        'p': 'name_of_part_section_of_a_work',
        'v': 'volume_sequential_designation',
        'w': 'bibliographic_record_control_number',
        'x': 'international_standard_serial_number',
        '0': 'authority_record_control_number_or_standard_number',
        '6': 'linkage',
        '8': 'field_link_and_sequence_number',
    }

    order = utils.map_order(field_map, value)

    if key[4] in valid_nonfiling_characters:
        order.append('nonfiling_characters')

    return {
        '__order__':
        tuple(order) if len(order) else None,
        'title':
        value.get('a'),
        'number_of_part_section_of_a_work':
        utils.force_list(value.get('n')),
        'name_of_part_section_of_a_work':
        utils.force_list(value.get('p')),
        'volume_sequential_designation':
        value.get('v'),
        'bibliographic_record_control_number':
        utils.force_list(value.get('w')),
        'international_standard_serial_number':
        value.get('x'),
        'authority_record_control_number_or_standard_number':
        utils.force_list(value.get('0')),
        'linkage':
        value.get('6'),
        'field_link_and_sequence_number':
        utils.force_list(value.get('8')),
        'nonfiling_characters':
        utils.int_with_default(key[4], None),
    }
예제 #8
0
파일: bd4xx.py 프로젝트: blixhavn/dojson
def series_statement_added_entry_title(self, key, value):
    """Series Statement/Added Entry-Title."""
    valid_nonfiling_characters = [str(x) for x in range(10)]

    field_map = {
        'a': 'title',
        'n': 'number_of_part_section_of_a_work',
        'p': 'name_of_part_section_of_a_work',
        'v': 'volume_sequential_designation',
        'w': 'bibliographic_record_control_number',
        'x': 'international_standard_serial_number',
        '0': 'authority_record_control_number_or_standard_number',
        '6': 'linkage',
        '8': 'field_link_and_sequence_number',
    }

    order = utils.map_order(field_map, value)

    if key[4] in valid_nonfiling_characters:
        order.append('nonfiling_characters')

    return {
        '__order__': tuple(order) if len(order) else None,
        'title': value.get('a'),
        'number_of_part_section_of_a_work': utils.force_list(
            value.get('n')
        ),
        'name_of_part_section_of_a_work': utils.force_list(
            value.get('p')
        ),
        'volume_sequential_designation': value.get('v'),
        'bibliographic_record_control_number': utils.force_list(
            value.get('w')
        ),
        'international_standard_serial_number': value.get('x'),
        'authority_record_control_number_or_standard_number': utils.force_list(
            value.get('0')
        ),
        'linkage': value.get('6'),
        'field_link_and_sequence_number': utils.force_list(
            value.get('8')
        ),
        'nonfiling_characters': utils.int_with_default(key[4], None),
    }
예제 #9
0
파일: bd20x24x.py 프로젝트: tind/dojson
def translation_of_title_by_cataloging_agency(self, key, value):
    """Translation of Title by Cataloging Agency."""
    valid_nonfiling_characters = [str(x) for x in range(10)]

    indicator_map1 = {
        '0': 'No added entry',
        '1': 'Added entry',
    }

    field_map = {
        'a': 'title',
        'b': 'remainder_of_title',
        'c': 'statement_of_responsibility_etc.',
        'h': 'medium',
        'n': 'number_of_part_section_of_a_work',
        'p': 'name_of_part_section_of_a_work',
        'y': 'language_code_of_translated_title',
        '6': 'linkage',
        '8': 'field_link_and_sequence_number',
    }

    order = utils.map_order(field_map, value)

    if key[3] in indicator_map1:
        order.append('title_added_entry')
    if key[4] in valid_nonfiling_characters:
        order.append('nonfiling_characters')

    return {
        '__order__': tuple(order) if len(order) else None,
        'title': value.get('a'),
        'statement_of_responsibility': value.get('c'),
        'remainder_of_title': value.get('b'),
        'medium': value.get('h'),
        'number_of_part_section_of_a_work': utils.force_list(value.get('n')),
        'name_of_part_section_of_a_work': utils.force_list(value.get('p')),
        'linkage': value.get('6'),
        'language_code_of_translated_title': value.get('y'),
        'field_link_and_sequence_number': utils.force_list(value.get('8')),
        'title_added_entry': indicator_map1.get(key[3]),
        'nonfiling_characters': utils.int_with_default(key[4], None),
    }
예제 #10
0
def added_entry_uncontrolled_related_analytical_title(self, key, value):
    """Added Entry-Uncontrolled Related/Analytical Title."""
    valid_nonfiling_characters = [str(x) for x in range(10)]

    indicator_map2 = {
        '_': 'No information provided',
        '2': 'Analytical entry',
    }

    field_map = {
        'a': 'uncontrolled_related_analytical_title',
        'h': 'medium',
        'n': 'number_of_part_section_of_a_work',
        'p': 'name_of_part_section_of_a_work',
        '5': 'institution_to_which_field_applies',
        '6': 'linkage',
        '8': 'field_link_and_sequence_number',
    }

    order = utils.map_order(field_map, value)

    if key[3] in valid_nonfiling_characters:
        order.append('nonfiling_characters')
    if key[4] in indicator_map2:
        order.append('type_of_added_entry')

    return {
        '__order__': tuple(order) if len(order) else None,
        'uncontrolled_related_analytical_title': value.get('a'),
        'medium': value.get('h'),
        'number_of_part_section_of_a_work': utils.force_list(value.get('n')),
        'name_of_part_section_of_a_work': utils.force_list(value.get('p')),
        'institution_to_which_field_applies': value.get('5'),
        'linkage': value.get('6'),
        'field_link_and_sequence_number': utils.force_list(value.get('8')),
        'nonfiling_characters': utils.int_with_default(key[3], None),
        'type_of_added_entry': indicator_map2.get(key[4]),
    }
예제 #11
0
파일: bd20x24x.py 프로젝트: tind/dojson
def key_title(self, key, value):
    """Key Title."""
    valid_nonfiling_characters = [str(x) for x in range(10)]

    field_map = {
        'a': 'key_title',
        'b': 'qualifying_information',
        '6': 'linkage',
        '8': 'field_link_and_sequence_number',
    }

    order = utils.map_order(field_map, value)

    if key[4] in valid_nonfiling_characters:
        order.append('nonfiling_characters')

    return {
        '__order__': tuple(order) if len(order) else None,
        'key_title': value.get('a'),
        'field_link_and_sequence_number': utils.force_list(value.get('8')),
        'qualifying_information': value.get('b'),
        'linkage': value.get('6'),
        'nonfiling_characters': utils.int_with_default(key[4], None),
    }
예제 #12
0
def subject_added_entry_uniform_title(self, key, value):
    """Subject Added Entry-Uniform Title."""
    valid_nonfiling_characters = [str(x) for x in range(10)]

    indicator_map2 = {
        '0': 'Library of Congress Subject Headings',
        '1': 'LC subject headings for children\'s literature',
        '2': 'Medical Subject Headings',
        '3': 'National Agricultural Library subject authority file',
        '4': 'Source not specified',
        '5': 'Canadian Subject Headings',
        '6': 'Répertoire de vedettes-matière',
        '7': 'Source specified in subfield $2',
    }

    field_map = {
        'a': 'uniform_title',
        'd': 'date_of_treaty_signing',
        'e': 'relator_term',
        'f': 'date_of_a_work',
        'g': 'miscellaneous_information',
        'h': 'medium',
        'k': 'form_subheading',
        'l': 'language_of_a_work',
        'm': 'medium_of_performance_for_music',
        'n': 'number_of_part_section_of_a_work',
        'o': 'arranged_statement_for_music',
        'p': 'name_of_part_section_of_a_work',
        'r': 'key_for_music',
        's': 'version',
        't': 'title_of_a_work',
        'v': 'form_subdivision',
        'x': 'general_subdivision',
        'y': 'chronological_subdivision',
        'z': 'geographic_subdivision',
        '0': 'authority_record_control_number_or_standard_number',
        '2': 'source_of_heading_or_term',
        '3': 'materials_specified',
        '4': 'relator_code',
        '6': 'linkage',
        '8': 'field_link_and_sequence_number',
    }

    order = utils.map_order(field_map, value)

    if key[3] in valid_nonfiling_characters:
        order.append('nonfiling_characters')
    if key[4] in indicator_map2:
        order.append('thesaurus')

    if key[4] != '7':
        try:
            order.remove('source_of_heading_or_term')
        except ValueError:
            pass

    return {
        '__order__': tuple(order) if len(order) else None,
        'uniform_title': value.get('a'),
        'date_of_treaty_signing': utils.force_list(
            value.get('d')
        ),
        'relator_term': utils.force_list(
            value.get('e')
        ),
        'date_of_a_work': value.get('f'),
        'miscellaneous_information': value.get('g'),
        'medium': value.get('h'),
        'form_subheading': utils.force_list(
            value.get('k')
        ),
        'language_of_a_work': value.get('l'),
        'medium_of_performance_for_music': utils.force_list(
            value.get('m')
        ),
        'number_of_part_section_of_a_work': utils.force_list(
            value.get('n')
        ),
        'arranged_statement_for_music': value.get('o'),
        'name_of_part_section_of_a_work': utils.force_list(
            value.get('p')
        ),
        'key_for_music': value.get('r'),
        'version': value.get('s'),
        'title_of_a_work': value.get('t'),
        'form_subdivision': utils.force_list(
            value.get('v')
        ),
        'general_subdivision': utils.force_list(
            value.get('x')
        ),
        'chronological_subdivision': utils.force_list(
            value.get('y')
        ),
        'geographic_subdivision': utils.force_list(
            value.get('z')
        ),
        'authority_record_control_number_or_standard_number': utils.force_list(
            value.get('0')
        ),
        'source_of_heading_or_term': value.get('2'),
        'materials_specified': value.get('3'),
        'relator_code': utils.force_list(
            value.get('4')
        ),
        'linkage': value.get('6'),
        'field_link_and_sequence_number': utils.force_list(
            value.get('8')
        ),
        'nonfiling_characters': utils.int_with_default(key[3], None),
        'thesaurus': indicator_map2.get(key[4]),
    }
예제 #13
0
파일: bd80x83x.py 프로젝트: blixhavn/dojson
def series_added_entry_uniform_title(self, key, value):
    """Series Added Entry-Uniform Title."""
    valid_nonfiling_characters = [str(x) for x in range(10)]

    field_map = {
        'a': 'uniform_title',
        'd': 'date_of_treaty_signing',
        'f': 'date_of_a_work',
        'g': 'miscellaneous_information',
        'h': 'medium',
        'k': 'form_subheading',
        'l': 'language_of_a_work',
        'm': 'medium_of_performance_for_music',
        'n': 'number_of_part_section_of_a_work',
        'o': 'arranged_statement_for_music',
        'p': 'name_of_part_section_of_a_work',
        'r': 'key_for_music',
        's': 'version',
        't': 'title_of_a_work',
        'v': 'volume_sequential_designation',
        'w': 'bibliographic_record_control_number',
        'x': 'international_standard_serial_number',
        '0': 'authority_record_control_number_or_standard_number',
        '3': 'materials_specified',
        '5': 'institution_to_which_field_applies',
        '6': 'linkage',
        '7': 'control_subfield',
        '8': 'field_link_and_sequence_number',
    }

    order = utils.map_order(field_map, value)

    if key[4] in valid_nonfiling_characters:
        order.append('nonfiling_characters')

    return {
        '__order__': tuple(order) if len(order) else None,
        'uniform_title': value.get('a'),
        'date_of_treaty_signing': utils.force_list(value.get('d')),
        'date_of_a_work': value.get('f'),
        'miscellaneous_information': value.get('g'),
        'medium': value.get('h'),
        'form_subheading': utils.force_list(value.get('k')),
        'language_of_a_work': value.get('l'),
        'medium_of_performance_for_music': utils.force_list(value.get('m')),
        'number_of_part_section_of_a_work': utils.force_list(value.get('n')),
        'arranged_statement_for_music': value.get('o'),
        'name_of_part_section_of_a_work': utils.force_list(value.get('p')),
        'key_for_music': value.get('r'),
        'version': value.get('s'),
        'title_of_a_work': value.get('t'),
        'volume_sequential_designation': value.get('v'),
        'bibliographic_record_control_number': utils.force_list(value.get('w')),
        'international_standard_serial_number': value.get('x'),
        'authority_record_control_number_or_standard_number': utils.force_list(value.get('0')),
        'materials_specified': value.get('3'),
        'institution_to_which_field_applies': utils.force_list(value.get('5')),
        'linkage': value.get('6'),
        'control_subfield': value.get('7'),
        'field_link_and_sequence_number': utils.force_list(value.get('8')),
        'nonfiling_characters': utils.int_with_default(key[4], None),
    }
예제 #14
0
파일: bd20x24x.py 프로젝트: blixhavn/dojson
def collective_uniform_title(self, key, value):
    """Collective Uniform Title."""
    valid_nonfiling_characters = [str(x) for x in range(10)]

    indicator_map1 = {
        '0': 'Not printed or displayed',
        '1': 'Printed or displayed',
    }

    field_map = {
        'a': 'uniform_title',
        'd': 'date_of_treaty_signing',
        'f': 'date_of_a_work',
        'g': 'miscellaneous_information',
        'h': 'medium',
        'k': 'form_subheading',
        'l': 'language_of_a_work',
        'm': 'medium_of_performance_for_music',
        'n': 'number_of_part_section_of_a_work',
        'o': 'arranged_statement_for_music',
        'p': 'name_of_part_section_of_a_work',
        'r': 'key_for_music',
        's': 'version',
        '6': 'linkage',
        '8': 'field_link_and_sequence_number',
    }

    order = utils.map_order(field_map, value)

    if key[3] in indicator_map1:
        order.append('uniform_title_printed_or_displayed')
    if key[4] in valid_nonfiling_characters:
        order.append('nonfiling_characters')

    return {
        '__order__': tuple(order) if len(order) else None,
        'uniform_title': value.get('a'),
        'date_of_treaty_signing': utils.force_list(
            value.get('d')
        ),
        'miscellaneous_information': value.get('g'),
        'date_of_a_work': value.get('f'),
        'medium': value.get('h'),
        'form_subheading': utils.force_list(
            value.get('k')
        ),
        'medium_of_performance_for_music': utils.force_list(
            value.get('m')
        ),
        'language_of_a_work': value.get('l'),
        'arranged_statement_for_music': value.get('o'),
        'number_of_part_section_of_a_work': utils.force_list(
            value.get('n')
        ),
        'name_of_part_section_of_a_work': utils.force_list(
            value.get('p')
        ),
        'version': value.get('s'),
        'key_for_music': value.get('r'),
        'linkage': value.get('6'),
        'field_link_and_sequence_number': utils.force_list(
            value.get('8')
        ),
        'uniform_title_printed_or_displayed': indicator_map1.get(key[3]),
        'nonfiling_characters': utils.int_with_default(key[4], None),
    }
예제 #15
0
파일: bd1xx.py 프로젝트: tind/dojson
def main_entry_uniform_title(self, key, value):
    """Main Entry-Uniform Title."""
    nonfiling_characters = [str(x) for x in range(10)]

    field_map = {
        'a': 'uniform_title',
        'd': 'date_of_treaty_signing',
        'f': 'date_of_a_work',
        'g': 'miscellaneous_information',
        'h': 'medium',
        'k': 'form_subheading',
        'l': 'language_of_a_work',
        'm': 'medium_of_performance_for_music',
        'n': 'number_of_part_section_of_a_work',
        'o': 'arranged_statement_for_music',
        'p': 'name_of_part_section_of_a_work',
        'r': 'key_for_music',
        's': 'version',
        't': 'title_of_a_work',
        '0': 'authority_record_control_number_or_standard_number',
        '6': 'linkage',
        '8': 'field_link_and_sequence_number',
    }

    order = utils.map_order(field_map, value)

    if key[3] in nonfiling_characters:
        order.append('nonfiling_characters')

    return {
        '__order__':
        tuple(order) if len(order) else None,
        'uniform_title':
        value.get('a'),
        'name_of_part_section_of_a_work':
        utils.force_list(value.get('p')),
        'date_of_treaty_signing':
        utils.force_list(value.get('d')),
        'miscellaneous_information':
        value.get('g'),
        'date_of_a_work':
        value.get('f'),
        'medium':
        value.get('h'),
        'form_subheading':
        utils.force_list(value.get('k')),
        'medium_of_performance_for_music':
        utils.force_list(value.get('m')),
        'language_of_a_work':
        value.get('l'),
        'arranged_statement_for_music':
        value.get('o'),
        'number_of_part_section_of_a_work':
        utils.force_list(value.get('n')),
        'authority_record_control_number_or_standard_number':
        utils.force_list(value.get('0')),
        'version':
        value.get('s'),
        'key_for_music':
        value.get('r'),
        'title_of_a_work':
        value.get('t'),
        'linkage':
        value.get('6'),
        'field_link_and_sequence_number':
        utils.force_list(value.get('8')),
        'nonfiling_characters':
        utils.int_with_default(key[3], None),
    }
예제 #16
0
파일: bd1xx.py 프로젝트: inspirehep/dojson
def main_entry_uniform_title(self, key, value):
    """Main Entry-Uniform Title."""
    nonfiling_characters = [str(x) for x in range(10)]

    field_map = {
        'a': 'uniform_title',
        'd': 'date_of_treaty_signing',
        'f': 'date_of_a_work',
        'g': 'miscellaneous_information',
        'h': 'medium',
        'k': 'form_subheading',
        'l': 'language_of_a_work',
        'm': 'medium_of_performance_for_music',
        'n': 'number_of_part_section_of_a_work',
        'o': 'arranged_statement_for_music',
        'p': 'name_of_part_section_of_a_work',
        'r': 'key_for_music',
        's': 'version',
        't': 'title_of_a_work',
        '0': 'authority_record_control_number_or_standard_number',
        '6': 'linkage',
        '8': 'field_link_and_sequence_number',
    }

    order = utils.map_order(field_map, value)

    if key[3] in nonfiling_characters:
        order.append('nonfiling_characters')

    return {
        '__order__': tuple(order) if len(order) else None,
        'uniform_title': value.get('a'),
        'name_of_part_section_of_a_work': utils.force_list(
            value.get('p')
        ),
        'date_of_treaty_signing': utils.force_list(
            value.get('d')
        ),
        'miscellaneous_information': value.get('g'),
        'date_of_a_work': value.get('f'),
        'medium': value.get('h'),
        'form_subheading': utils.force_list(
            value.get('k')
        ),
        'medium_of_performance_for_music': utils.force_list(
            value.get('m')
        ),
        'language_of_a_work': value.get('l'),
        'arranged_statement_for_music': value.get('o'),
        'number_of_part_section_of_a_work': utils.force_list(
            value.get('n')
        ),
        'authority_record_control_number_or_standard_number': utils.force_list(
            value.get('0')
        ),
        'version': value.get('s'),
        'key_for_music': value.get('r'),
        'title_of_a_work': value.get('t'),
        'linkage': value.get('6'),
        'field_link_and_sequence_number': utils.force_list(
            value.get('8')
        ),
        'nonfiling_characters': utils.int_with_default(key[3], None),
    }
예제 #17
0
def added_entry_uniform_title(self, key, value):
    """Added Entry-Uniform Title."""
    valid_nonfiling_characters = [str(x) for x in range(10)]

    indicator_map2 = {
        '_': 'No information provided',
        '2': 'Analytical entry',
    }

    field_map = {
        'a': 'uniform_title',
        'd': 'date_of_treaty_signing',
        'f': 'date_of_a_work',
        'g': 'miscellaneous_information',
        'h': 'medium',
        'i': 'relationship_information',
        'k': 'form_subheading',
        'l': 'language_of_a_work',
        'm': 'medium_of_performance_for_music',
        'n': 'number_of_part_section_of_a_work',
        'o': 'arranged_statement_for_music',
        'p': 'name_of_part_section_of_a_work',
        'r': 'key_for_music',
        's': 'version',
        't': 'title_of_a_work',
        'x': 'international_standard_serial_number',
        '0': 'authority_record_control_number_or_standard_number',
        '3': 'materials_specified',
        '5': 'institution_to_which_field_applies',
        '6': 'linkage',
        '8': 'field_link_and_sequence_number',
    }

    order = utils.map_order(field_map, value)

    if key[3] in valid_nonfiling_characters:
        order.append('nonfiling_characters')
    if key[4] in indicator_map2:
        order.append('type_of_added_entry')

    return {
        '__order__':
        tuple(order) if len(order) else None,
        'uniform_title':
        value.get('a'),
        'date_of_treaty_signing':
        utils.force_list(value.get('d')),
        'date_of_a_work':
        value.get('f'),
        'miscellaneous_information':
        value.get('g'),
        'medium':
        value.get('h'),
        'relationship_information':
        utils.force_list(value.get('i')),
        'form_subheading':
        utils.force_list(value.get('k')),
        'language_of_a_work':
        value.get('l'),
        'medium_of_performance_for_music':
        utils.force_list(value.get('m')),
        'number_of_part_section_of_a_work':
        utils.force_list(value.get('n')),
        'arranged_statement_for_music':
        value.get('o'),
        'name_of_part_section_of_a_work':
        utils.force_list(value.get('p')),
        'key_for_music':
        value.get('r'),
        'version':
        value.get('s'),
        'title_of_a_work':
        value.get('t'),
        'international_standard_serial_number':
        value.get('x'),
        'authority_record_control_number_or_standard_number':
        utils.force_list(value.get('0')),
        'materials_specified':
        value.get('3'),
        'institution_to_which_field_applies':
        value.get('5'),
        'linkage':
        value.get('6'),
        'field_link_and_sequence_number':
        utils.force_list(value.get('8')),
        'nonfiling_characters':
        utils.int_with_default(key[3], None),
        'type_of_added_entry':
        indicator_map2.get(key[4]),
    }