Skip to content

Commit dd62072

Browse files
author
ehanson8
committed
updates
1 parent 2d4499b commit dd62072

File tree

4 files changed

+279
-0
lines changed

4 files changed

+279
-0
lines changed

postCorporateAgentsFromCSV.py

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
import json
2+
import requests
3+
import csv
4+
import secrets
5+
import time
6+
7+
startTime = time.time()
8+
9+
baseURL = secrets.baseURL
10+
user = secrets.user
11+
password = secrets.password
12+
13+
targetFile = raw_input('Enter file name: ')
14+
15+
auth = requests.post(baseURL + '/users/'+user+'/login?password='+password).json()
16+
session = auth['session']
17+
headers = {'X-ArchivesSpace-Session':session, 'Content_Type':'application/json'}
18+
19+
f=csv.writer(open('postNewCorporateAgents.csv', 'wb'))
20+
f.writerow(['sortName']+['uri'])
21+
22+
csvfile = csv.DictReader(open(targetFile))
23+
24+
for row in csvfile:
25+
agentRecord = {}
26+
names = []
27+
name = {}
28+
name['primary_name'] = row['primary']
29+
name['sort_name'] = row['sortName']
30+
name['jsonmodel_type'] = 'name_corporate_entity'
31+
name['name_order'] = 'direct'
32+
name['rules'] = 'rda'
33+
try:
34+
name['subordinate_name_1'] = row['subordinate_1']
35+
except:
36+
pass
37+
try:
38+
name['subordinate_name_2'] = row['subordinate_2']
39+
except:
40+
pass
41+
try:
42+
name['authority_id'] = row['authorityID']
43+
name['source'] = 'viaf'
44+
except:
45+
pass
46+
names.append(name)
47+
agentRecord['names'] = names
48+
agentRecord['publish'] = True
49+
agentRecord['jsonmodel_type'] = 'agent_corporate_entity'
50+
agentRecord = json.dumps(agentRecord)
51+
post = requests.post(baseURL + '/agents/corporate_entities', headers=headers, data=agentRecord).json()
52+
print json.dumps(post)
53+
uri = post['uri']
54+
f.writerow([row['sortName']]+[uri])
55+
56+
elapsedTime = time.time() - startTime
57+
m, s = divmod(elapsedTime, 60)
58+
h, m = divmod(m, 60)
59+
print 'Total script run time: ', '%d:%02d:%02d' % (h, m, s)

postFamilyAgentsFromCSV.py

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
import json
2+
import requests
3+
import csv
4+
import secrets
5+
import time
6+
7+
startTime = time.time()
8+
9+
baseURL = secrets.baseURL
10+
user = secrets.user
11+
password = secrets.password
12+
13+
targetFile = raw_input('Enter file name: ')
14+
15+
auth = requests.post(baseURL + '/users/'+user+'/login?password='+password).json()
16+
session = auth['session']
17+
headers = {'X-ArchivesSpace-Session':session, 'Content_Type':'application/json'}
18+
19+
f=csv.writer(open('postNewFamilyAgents.csv', 'wb'))
20+
f.writerow(['sortName']+['uri'])
21+
22+
csvfile = csv.DictReader(open(targetFile))
23+
24+
for row in csvfile:
25+
agentRecord = {}
26+
names = []
27+
name = {}
28+
name['family_name'] = row['sortName']
29+
name['sort_name'] = row['sortName']
30+
name['jsonmodel_type'] = 'name_family'
31+
name['name_order'] = 'direct'
32+
name['rules'] = 'rda'
33+
try:
34+
name['dates'] = row['dates']
35+
except:
36+
pass
37+
try:
38+
name['qualifier'] = row['qualifier']
39+
except:
40+
pass
41+
names.append(name)
42+
if row['dates'] != '':
43+
dates = []
44+
date = {}
45+
date['label'] = 'existence'
46+
date['jsonmodel_type'] = 'date'
47+
if row['begin'] != '' and row['end'] != '':
48+
date['begin'] = row['begin']
49+
date['end'] = row['end']
50+
date['date_type'] = 'range'
51+
elif row['begin'] != '':
52+
date['begin'] = row['begin']
53+
date['date_type'] = 'single'
54+
elif row['end'] != '':
55+
date['end'] = row['end']
56+
date['date_type'] = 'single'
57+
dates.append(date)
58+
agentRecord['dates_of_existence'] = dates
59+
60+
agentRecord['names'] = names
61+
agentRecord['publish'] = True
62+
agentRecord['jsonmodel_type'] = 'agent_family'
63+
agentRecord = json.dumps(agentRecord)
64+
print agentRecord
65+
post = requests.post(baseURL + '/agents/families', headers=headers, data=agentRecord).json()
66+
print json.dumps(post)
67+
uri = post['uri']
68+
f.writerow([row['sortName']]+[uri])
69+
70+
elapsedTime = time.time() - startTime
71+
m, s = divmod(elapsedTime, 60)
72+
h, m = divmod(m, 60)
73+
print 'Total script run time: ', '%d:%02d:%02d' % (h, m, s)

postPeopleAgentsFromCSV.py

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
import json
2+
import requests
3+
import time
4+
import csv
5+
import secrets
6+
7+
startTime = time.time()
8+
9+
baseURL = secrets.baseURL
10+
user = secrets.user
11+
password = secrets.password
12+
13+
targetFile = raw_input('Enter file name: ')
14+
15+
auth = requests.post(baseURL + '/users/'+user+'/login?password='+password).json()
16+
session = auth['session']
17+
headers = {'X-ArchivesSpace-Session':session, 'Content_Type':'application/json'}
18+
19+
f=csv.writer(open('postNewPersonalAgents.csv', 'wb'))
20+
f.writerow(['sortName']+['uri'])
21+
22+
csvfile = csv.DictReader(open(targetFile))
23+
24+
for row in csvfile:
25+
agentRecord = {}
26+
names = []
27+
name = {}
28+
name['primary_name'] = row['primaryName']
29+
name['name_order'] = 'inverted'
30+
name['jsonmodel_type'] = 'name_person'
31+
name['rules'] = 'rda'
32+
name['sort_name'] = row['sortName']
33+
try:
34+
name['authority_id'] = row['authorityID']
35+
name['source'] = 'viaf'
36+
except:
37+
pass
38+
try:
39+
name['rest_of_name'] = row['restOfName']
40+
except:
41+
name['name_order'] = 'direct'
42+
try:
43+
name['fuller_form'] = row['fullerForm']
44+
except:
45+
pass
46+
try:
47+
name['title'] = row['title']
48+
except:
49+
pass
50+
try:
51+
name['prefix'] = row['prefix']
52+
except:
53+
pass
54+
try:
55+
name['suffix'] = row['suffix']
56+
except:
57+
pass
58+
try:
59+
name['dates'] = row['date']
60+
except:
61+
pass
62+
names.append(name)
63+
64+
if row['date'] != '':
65+
dates = []
66+
date = {}
67+
date['label'] = 'existence'
68+
date['jsonmodel_type'] = 'date'
69+
if row['expression'] != '':
70+
date['expression'] = row['expression']
71+
date['date_type'] = 'single'
72+
elif row['begin'] != '' and row['end'] != '':
73+
date['begin'] = row['begin']
74+
date['end'] = row['end']
75+
date['date_type'] = 'range'
76+
elif row['begin'] != '':
77+
date['begin'] = row['begin']
78+
date['date_type'] = 'single'
79+
elif row['end'] != '':
80+
date['end'] = row['end']
81+
date['date_type'] = 'single'
82+
dates.append(date)
83+
agentRecord['dates_of_existence'] = dates
84+
print dates
85+
agentRecord['names'] = names
86+
agentRecord['publish'] = True
87+
agentRecord['jsonmodel_type'] = 'agent_person'
88+
agentRecord = json.dumps(agentRecord)
89+
print agentRecord
90+
post = requests.post(baseURL + '/agents/people', headers=headers, data=agentRecord).json()
91+
print json.dumps(post)
92+
uri = post['uri']
93+
f.writerow([row['sortName']]+[uri])
94+
95+
elapsedTime = time.time() - startTime
96+
m, s = divmod(elapsedTime, 60)
97+
h, m = divmod(m, 60)
98+
print 'Total script run time: ', '%d:%02d:%02d' % (h, m, s)

postSubjectsFromCSV.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import json
2+
import requests
3+
import time
4+
import csv
5+
import secrets
6+
7+
startTime = time.time()
8+
9+
baseURL = secrets.baseURL
10+
user = secrets.user
11+
password = secrets.password
12+
13+
targetFile = raw_input('Enter file name: ')
14+
15+
auth = requests.post(baseURL + '/users/'+user+'/login?password='+password).json()
16+
session = auth['session']
17+
headers = {'X-ArchivesSpace-Session':session, 'Content_Type':'application/json'}
18+
19+
f=csv.writer(open('postNewSubjects.csv', 'wb'))
20+
f.writerow(['sortName']+['uri'])
21+
22+
csvfile = csv.DictReader(open(targetFile))
23+
24+
for row in csvfile:
25+
subjectRecord = {}
26+
terms = []
27+
term = {}
28+
term['term'] = row['label']
29+
term['term_type'] = row['type']
30+
term['vocabulary'] = '/vocabularies/1'
31+
terms.append(term)
32+
33+
subjectRecord['terms'] = terms
34+
subjectRecord['publish'] = True
35+
subjectRecord['jsonmodel_type'] = 'subject'
36+
subjectRecord['source'] = 'fast'
37+
subjectRecord['vocabulary'] = '/vocabularies/1'
38+
subjectRecord['authority_id'] = row['uri']
39+
subjectRecord = json.dumps(subjectRecord)
40+
print subjectRecord
41+
post = requests.post(baseURL + '/subjects', headers=headers, data=subjectRecord).json()
42+
print json.dumps(post)
43+
uri = post['uri']
44+
f.writerow([row['label']]+[uri])
45+
46+
elapsedTime = time.time() - startTime
47+
m, s = divmod(elapsedTime, 60)
48+
h, m = divmod(m, 60)
49+
print 'Total script run time: ', '%d:%02d:%02d' % (h, m, s)

0 commit comments

Comments
 (0)