Skip to content

Commit 0933681

Browse files
authored
Merge pull request #15 from mjanowiecki/master
add new script and update readme
2 parents 1b0878c + b3e3901 commit 0933681

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed

Diff for: README.md

+3
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ Creates instances (consisting of top_containers) from a separate CSV file. The C
8181
#### [postContainerLinksToRecords.py](/postContainerLinksToRecords.py)
8282
Based on user input, posts containers to a specified record based on a specified CSV file.
8383

84+
#### [postContainerLinksToRecordsFromCSV.py](/postContainerLinksToRecordsFromCSV.py)
85+
Based on user input, posts containers to a specified record based on a specified CSV file of top container and resource URIs.
86+
8487
#### [postCorporateAgentsFromCSV.py](/postCorporateAgentsFromCSV.py)
8588
Based on user input, posts corporate agents based on a specified CSV file.
8689

Diff for: postContainerLinksToRecordsFromCSV.py

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import json
2+
import requests
3+
import secrets
4+
import csv
5+
6+
secretsVersion = raw_input('To edit production server, enter the name of the secrets file: ')
7+
if secretsVersion != '':
8+
try:
9+
secrets = __import__(secretsVersion)
10+
print 'Editing Production'
11+
except ImportError:
12+
print 'Editing Development'
13+
else:
14+
print 'Editing Development'
15+
16+
targetFile = raw_input('Enter file name: ')
17+
18+
baseURL = secrets.baseURL
19+
user = secrets.user
20+
password = secrets.password
21+
repository = secrets.repository
22+
23+
auth = requests.post(baseURL + '/users/'+user+'/login?password='+password).json()
24+
session = auth["session"]
25+
headers = {'X-ArchivesSpace-Session':session, 'Content_Type':'application/json'}
26+
27+
csvfile = csv.DictReader(open(targetFile))
28+
29+
f=csv.writer(open('containerLinksPostedFromCSV.csv', 'wb'))
30+
f.writerow(['topContainer']+['resource']+['post'])
31+
32+
for row in csvfile:
33+
uri = row['uri']
34+
resourceUri = row['resourceuri']
35+
print baseURL+resourceUri
36+
asRecord = requests.get(baseURL+resourceUri, headers=headers).json()
37+
instanceArray = asRecord['instances']
38+
top_container = {}
39+
top_container['ref'] = uri
40+
sub_container = {}
41+
sub_container['top_container'] = top_container
42+
instance = {}
43+
instance['sub_container'] = sub_container
44+
instance['instance_type'] = 'mixed_materials'
45+
instanceArray.append(instance)
46+
asRecord['instances'] = instanceArray
47+
asRecord = json.dumps(asRecord)
48+
post = requests.post(baseURL+resourceUri, headers=headers, data=asRecord).json()
49+
print post
50+
f.writerow([uri]+[resourceUri]+[post])

0 commit comments

Comments
 (0)