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), }
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), }
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), }
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), }
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), }
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), }
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), }
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), }
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), }
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]), }
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), }
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]), }
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), }
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), }
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), }
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), }
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]), }