Skip to content

Instantly share code, notes, and snippets.

@elizoller
Last active May 16, 2016 15:08
Show Gist options
  • Save elizoller/c54b2e7dd3ec73bbdb8efefd08bafc36 to your computer and use it in GitHub Desktop.
Save elizoller/c54b2e7dd3ec73bbdb8efefd08bafc36 to your computer and use it in GitHub Desktop.
mods mappings to spreadsheet rows
core_file.mods.type_of_resource = row_results["type_of_resource"]
core_file.mods.genre = row_results["genre"]
# core_file.mods.genre.authority = #need authority, usually aat
core_file.mods.origin_info.copyright = row_results["copyright_date"]
core_file.mods.origin_info.date_issued = row_results["date_issued"]
core_file.mods.origin_info.publisher = row_results["publisher_name"]
core_file.mods.origin_info.place.place_term = row_results["place_of_publication"]
core_file.mods.origin_info.edition = row_results["edition"]
core_file.mods.origin_info.issuance = row_results["issuance"]
core_file.mods.origin_info.frequency = row_results["frequency"]
# core_file.mods.origin_info.frequency.authority = #need authority
core_file.mods.physical_description.extent = row_results["extent"]
core_file.mods.physical_description.digital_origin = row_results["digital_origin"]
core_file.mods.physical_description.reformatting_quality = row_results["reformatting_quality"]
core_file.mods.language.language_term = row_results["language"] #need type, authority, potentially authorityURI and valueURI
core_file.mods.table_of_contents = row_results["table_of_contents"]
access_conditions = {"use and reproduction"=>row_results["acess_condition_use_and_reproduction"], "restriction on access"=>row_results["acess_condition_use_and_reproduction"]}
core_file.mods.access_conditions = access_conditions
# note the type in the row_results name here - also may need check for blank field before building hash
notes = {"provenance"=>row_results["provenance"], "other"=>row_results["other_notes"]}
core_file.mods.notes = notes
# same as access_conditions, may need to check for blank field before building hash, also not sure on label for "other notes"
# for related items - three separate related items based on different fields at the end of the spreadsheet
# perhaps it will make sense to make a hash of hashes...or different methods for the difference related item "types"
# related_item - type = original
# location.physical_location = row_results["physical_location"]
# identifier = row_results["identifier"]
# title = row_results["title"] #not unique yet
# related_item - type = host ("collection")
# title = row_results["title"] #not unique yet
# related_item - type = series
# title = row_results["title"] #not unique yet
# timestamp - does not need to be recorded, it is a google generated timestamp
# default values inserted on every record
core_file.mods.record_info.record_content_source = "Northeastern University Libraries"
core_file.mods.record_info.record_origin = "Generated from spreadsheet"
core_file.mods.record_info.language_of_cataloging.language_term = "English"
core_file.mods.record_info.language_of_cataloging.language_term.language_authority = "iso639-2b"
core_file.mods.record_info.language_of_cataloging.language_term.language_authority_uri = "http://id.loc.gov/vocabulary/iso639-2"
core_file.mods.record_info.language_of_cataloging.language_term.language_term_type = "text"
core_file.mods.record_info.language_of_cataloging.language_term.language_value_uri = "http://id.loc.gov/vocabulary/iso639-2/eng"
core_file.mods.record_info.description_standard = "RDA"
core_file.mods.record_info.description_standard.authority = "marcdescription"
core_file.mods.physical_description.form = "electronic"
core_file.mods.physical_description.form.authority = "marcform"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment