def main(): project_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) aspace_ead_dir = join(project_dir, "eads") json_dir = join(project_dir, "json") migration_stats_dir = join(project_dir, "migration_stats") aspace_url, username, password = aspace_credentials() convert_ead_to_aspace_json(aspace_ead_dir, json_dir, migration_stats_dir, aspace_url, username, password)
def main(): project_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) json_dir = join(project_dir, "json") resources_dir = join(project_dir, "resources") migration_stats_dir = join(project_dir, "migration_stats") aspace_url, username, password = aspace_credentials() post_json_to_aspace(json_dir, resources_dir, migration_stats_dir, aspace_url, username, password)
def main(): aspace_ead_dir = join(ead_dir, 'eads') subjects_agents_dir = join(ead_dir, 'subjects_agents') digital_objects_dir = join(ead_dir, 'digital_objects') json_dir = join(ead_dir, 'json') resources_dir = join(ead_dir, 'resources') aspace_url, username, password = aspace_credentials() run_aspace_preliminary_postings(aspace_ead_dir, subjects_agents_dir, digital_objects_dir, json_dir, resources_dir, dspace_mets_dir, dspace_xoai_dir, aspace_url, username, password) print "*** RUN THE RUN_UNITDATE_UNITTITLE_FIX SCRIPT ***"
def main(): options = {"EAD":ead_dir, "MARC":marc_dir} for key in options: print "* {}".format(key) dir_to_migrate = raw_input("Which type? ") try: base_dir = options[dir_to_migrate] except: print "Please try again" quit() aspace_url, username, password = aspace_credentials() post_json_to_aspace(base_dir, aspace_url, username, password)
def main(): options = {"EAD":ead_dir, "MARC":marc_dir} aspace_ead_dirs = {"EAD":"eads", "MARC":"converted_eads"} for key in options: print "* {}".format(key) dir_to_migrate = raw_input("Which type? ") try: base_dir = options[dir_to_migrate] aspace_ead_dir = join(base_dir, aspace_ead_dirs[dir_to_migrate]) except: print "Please try again" quit() aspace_url, username, password = aspace_credentials() convert_ead_to_aspace_json(base_dir, aspace_ead_dir, aspace_url, username, password)
def main(): print "*************************************************************" print "YOU ARE ABOUT TO RUN THE ARCHIVESSPACE EAD MIGRATION SCRIPT" print "Before doing so, confirm that the following have been run:" print "* characterize_and_convert_marcxml" print "* past_marc_agents_and_subjects" print "*************************************************************" ready_to_go = raw_input("Has everything been run? (y/n): ") if ready_to_go.lower() == 'y': aspace_ead_dir = join(marc_dir, "converted_eads_working") aspace_url, username, password = aspace_credentials() run_aspace_ead_migration(marc_dir, aspace_ead_dir, aspace_url, username, password) else: print "Please run everything that needs to be run and then run this script again" quit()
def main(): print "*************************************************************" print "YOU ARE ABOUT TO RUN THE ARCHIVESSPACE EAD MIGRATION SCRIPT" print "Before doing so, confirm that the following have been run:" print "* run_pre_aspace_cleanup" print "* Walker's extent normalization script" print "* run_aspace_prep" print "* run_aspace_preliminary_postings" print "* run_unittitle_unitdate_fix" print "*************************************************************" ready_to_go = raw_input("Has everything been run? (y/n): ") if ready_to_go.lower() == 'y': aspace_url, username, password = aspace_credentials() aspace_ead_dir = join(ead_dir, "eads") run_aspace_ead_migration(ead_dir, aspace_ead_dir, aspace_url, username, password) else: print "Please run everything that needs to be run and then run this script again" quit()
def post_agents_to_aspace(aspace_ead_dir, subjects_agents_dir, aspace_url, username, password): session = authenticate(aspace_url, username, password) # extract agent data from eads agents = get_all_agents(aspace_ead_dir) # create json-formatted entries for each agent prepped_agents = prepare_agents(agents) with open(join(subjects_agents_dir, "agents_aspace.json"), mode="wb") as f: string = json.dumps(prepped_agents, ensure_ascii=False, encoding="utf-8", sort_keys=True, indent=4) f.write(string.encode("utf-8")) # send these formatted entries to aspace and retrieve their new IDs local_name_to_aspace_id_map = post_agents_and_record_ids(session, aspace_url, prepped_agents) session.post("{}/logout".format(aspace_url)) with open(join(subjects_agents_dir, "local_to_aspace_agent_name_map.p"),"wb") as pickle_out: pickle.dump(local_name_to_aspace_id_map, pickle_out) # add these ids to our EAD files to map properly ead_path = "" add_aspace_ids_to_all_agents_in_dir(local_name_to_aspace_id_map, path_to_eads=aspace_ead_dir) if __name__ == "__main__": aspace_ead_dir = join(ead_dir, "eads") subjects_agents_dir = join(ead_dir, "subjects_agents") aspace_url, username, password = aspace_credentials() post_agents_to_aspace(aspace_ead_dir, subjects_agents_dir, aspace_url, username, password)
def main(): aspace_url, username, password = aspace_credentials() post_defaults(aspace_url, username, password)
def main(): aspace_url, username, password = aspace_credentials() get_and_post_subjects(marc_dir, aspace_url, username, password)
def main(): aspace_ead_dir = join(ead_dir, 'eads') digital_objects_dir = join(ead_dir,'digital_objects') aspace_url, username, password = aspace_credentials() post_digital_objects(aspace_ead_dir, digital_objects_dir, dspace_mets_dir, dspace_xoai_dir, aspace_url, username, password, delete_csvs=True)
def main(): aspace_url, username, password = aspace_credentials() session = authenticate(aspace_url, username, password) print("loading data...") beal_export_dir = join(accessions_dir, "beal_exports") json_dir = join(accessions_dir, "json") convert_to_utf8_and_add_headers(join(beal_export_dir, "donor_records.tab")) donor_data = load_donor_data(join(beal_export_dir, "donor_records_clean.tab")) ead_agents_to_aspace_ids_file = join(ead_dir, "subjects_agents", "local_to_aspace_agent_name_map.p") ead_agents_to_aspace_ids = pickle.load(open(ead_agents_to_aspace_ids_file)) print("extracting donors...") person_donor_data, corp_donor_data = extract_agents(donor_data) agent_dict = {"persname": {}, "corpname": {}} updated_agents_dict = {} posted_donors_dict = {} for person in tqdm(person_donor_data, desc="creating person json data"): parsed_name = make_person_name(person) name = unicode(parsed_name) if not name or not name.strip(): continue full_name = u"{0}, {1} {2}".format(parsed_name.last, parsed_name.first, parsed_name.middle).rstrip() if full_name in ead_agents_to_aspace_ids or full_name+'.' in ead_agents_to_aspace_ids: try: agent_uri = ead_agents_to_aspace_ids[full_name] except: agent_uri = ead_agents_to_aspace_ids[full_name+"."] person_json = return_posted_agent(session, aspace_url, agent_uri) donor_detail = get_donor_detail(person) contact_detail = get_contact_detail(person) beal_contact_id = donor_detail[u"beal_contact_id"] person_json["donor_details"].append(donor_detail) person_json["agent_contacts"].append(contact_detail) update_posted_agent(session, aspace_url, agent_uri, person_json) updated_agents_dict[beal_contact_id] = agent_uri elif name in agent_dict["persname"]: person_json = json.loads(agent_dict["persname"][name]) donor_detail = get_donor_detail(person) contact_detail = get_contact_detail(person) person_json["donor_details"].append(donor_detail) person_json["agent_contacts"].append(contact_detail) agent_dict["persname"][name] = json.dumps(person_json) else: person_json = json.loads(Persname(name, "", "local").get_aspace_json()) person_json.update(get_donor_details(person)) person_json.update(get_contact_details(person)) agent_dict["persname"][name] = json.dumps(person_json) for corp in tqdm(corp_donor_data, desc="creating corp json data"): name = make_corporation_name(corp) if not name or not name.strip(): continue if name in ead_agents_to_aspace_ids or name+"." in ead_agents_to_aspace_ids: try: agent_uri = ead_agents_to_aspace_ids[name] except: agent_uri = ead_agents_to_aspace_ids[name+"."] corp_json = return_posted_agent(session, aspace_url, agent_uri) donor_detail = get_donor_detail(corp) contact_detail = get_contact_detail(corp) beal_contact_id = donor_detail[u"beal_contact_id"] corp_json["donor_details"].append(donor_detail) corp_json["agent_contacts"].append(contact_detail) update_posted_agent(session, aspace_url, agent_uri, corp_json) updated_agents_dict[beal_contact_id] = agent_uri elif name in agent_dict["corpname"]: corp_json = json.loads(agent_dict["corpname"][name]) donor_detail = get_donor_detail(corp) contact_detail = get_contact_detail(corp) corp_json["donor_details"].append(donor_detail) corp_json["agent_contacts"].append(contact_detail) agent_dict["corpname"][name] = json.dumps(corp_json) else: corp_json = json.loads(Corpname(name, "", "local").get_aspace_json()) corp_json.update(get_donor_details(corp)) corp_json.update(get_contact_details(corp)) agent_dict["corpname"][name] = json.dumps(corp_json) ids = post_donors_and_record_ids(session, aspace_url, agent_dict) for contact_id in updated_agents_dict: ids[contact_id] = updated_agents_dict[contact_id] with open(join(json_dir, "donor_name_to_aspace_id_map.json"), mode="w") as f: json.dump(ids, f, ensure_ascii=False, indent=4, sort_keys=True) session.post("{}/logout".format(aspace_url))
def main(): aspace_ead_dir = join(ead_dir, "eads") subjects_agents_dir = join(ead_dir, "subjects_agents") aspace_url, username, password = aspace_credentials() post_subjects(aspace_ead_dir, subjects_agents_dir, aspace_url, username, password)