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)
Example #11
0
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))
Example #13
0
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)