Skip to content

Commit f8d20df

Browse files
author
ehanson8
committed
updates
1 parent 6c97416 commit f8d20df

File tree

2 files changed

+85
-0
lines changed

2 files changed

+85
-0
lines changed

searchForUnassociatedContainers.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import json
2+
import requests
3+
import secrets
4+
import time
5+
import csv
6+
7+
startTime = time.time()
8+
9+
baseURL = secrets.baseURL
10+
user = secrets.user
11+
password = secrets.password
12+
13+
auth = requests.post(baseURL + '/users/'+user+'/login?password='+password).json()
14+
session = auth["session"]
15+
headers = {'X-ArchivesSpace-Session':session, 'Content_Type':'application/json'}
16+
17+
endpoint = '/search?page=1&page_size=2000&type[]=top_container&filter_term[]={"empty_u_sbool":true}&q="/repositories/3"'
18+
19+
results = requests.get(baseURL + endpoint, headers=headers).json()
20+
results = results['results']
21+
22+
f=csv.writer(open('unassociatedTopContainer.csv', 'wb'))
23+
f.writerow(['uri'])
24+
25+
for result in results:
26+
uri = result['uri']
27+
f.writerow([uri])
28+
29+
print len(results)

updateResourceWithCSV.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
import json
2+
import requests
3+
import secrets
4+
import time
5+
import csv
6+
7+
def firstLevelUpdateFromCSV (key, valueSource):
8+
uri = row['uri']
9+
value = row[valueSource]
10+
if value != '':
11+
asRecord = requests.get(baseURL+uri, headers=headers).json()
12+
asRecord[key] = value
13+
asRecord = json.dumps(asRecord)
14+
post = requests.post(baseURL + uri, headers=headers, data=asRecord).json()
15+
print post
16+
else:
17+
pass
18+
19+
def secondLevelUpdateFromCSV (key, valueSource, firstLevel):
20+
uri = row['uri']
21+
value = row[valueSource]
22+
if value != '':
23+
asRecord = requests.get(baseURL+uri, headers=headers).json()
24+
try:
25+
asRecord[firstLevel][key] = value
26+
except:
27+
asRecord[firstLevel]= {}
28+
asRecord[firstLevel][key] = value
29+
asRecord = json.dumps(asRecord)
30+
post = requests.post(baseURL + uri, headers=headers, data=asRecord).json()
31+
print post
32+
else:
33+
pass
34+
35+
startTime = time.time()
36+
37+
baseURL = secrets.baseURL
38+
user = secrets.user
39+
password = secrets.password
40+
41+
auth = requests.post(baseURL + '/users/'+user+'/login?password='+password).json()
42+
session = auth["session"]
43+
headers = {'X-ArchivesSpace-Session':session, 'Content_Type':'application/json'}
44+
45+
filename = raw_input('Enter filename (including \'.csv\'): ')
46+
filename = 'bibNumbers.csv'
47+
48+
with open(filename) as csvfile:
49+
reader = csv.DictReader(csvfile)
50+
for row in reader:
51+
secondLevelUpdateFromCSV('real_1', 'bib', 'user_defined')
52+
53+
elapsedTime = time.time() - startTime
54+
m, s = divmod(elapsedTime, 60)
55+
h, m = divmod(m, 60)
56+
print 'Total script run time: ', '%d:%02d:%02d' % (h, m, s)

0 commit comments

Comments
 (0)