Skip to content

Commit 28ddd5d

Browse files
author
ehanson8
committed
updates
1 parent f779c14 commit 28ddd5d

File tree

2 files changed

+52
-22
lines changed

2 files changed

+52
-22
lines changed

createItemMetadataFromCSV.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,21 @@ def createMetadataElementDirect (key, value, language):
3030
metadataGroup = []
3131
for row in reader:
3232
metadata = []
33-
createMetadataElementCSV('dc.creator', 'creator', '')
34-
createMetadataElementCSV('dc.date', 'date', '')
35-
createMetadataElementCSV('dc.subject', 'decade', 'en_US')
36-
createMetadataElementCSV('dc.description.abstract', 'description', 'en_US')
37-
createMetadataElementCSV('dc.description', 'notes', 'en_US')
38-
createMetadataElementCSV('dc.subject', 'photographType', 'en_US')
39-
createMetadataElementCSV('dc.relation.ispartof', 'location', 'en_US')
40-
createMetadataElementCSV('dc.identifier', 'identifier', '')
41-
createMetadataElementCSV('dc.format.extent', 'size', '')
42-
createMetadataElementCSV('dc.format.medium', 'medium', 'en_US')
43-
createMetadataElementCSV('dc.title', 'title', 'en_US')
44-
createMetadataElementCSV('dc.subject', 'subjectType', 'en_US')
33+
createMetadataElementCSV('dc.creator', 'Creator', '')
34+
createMetadataElementCSV('dc.date.issued', 'structuredDate', '')
35+
createMetadataElementCSV('dc.title', 'fullTitle', 'en_US')
36+
createMetadataElementCSV('dc.description.abstract', 'Description', 'en_US')
37+
createMetadataElementCSV('dc.description', 'Notes:', 'en_US')
38+
createMetadataElementCSV('dc.identifier.other', 'File name', 'en_US')
39+
createMetadataElementDirect('dc.language.iso', 'en_US', 'en_US')
40+
createMetadataElementDirect('dc.type', 'Text', 'en_US')
41+
createMetadataElementDirect('dc.format.mimetype','application/pdf', 'en_US')
42+
# createMetadataElementCSV('dc.relation.ispartof', 'location', 'en_US')
43+
# createMetadataElementCSV('dc.identifier', 'identifier', '')
44+
# createMetadataElementCSV('dc.format.extent', 'size', '')
45+
# createMetadataElementCSV('dc.format.medium', 'medium', 'en_US')
46+
# createMetadataElementCSV('dc.title', 'title', 'en_US')
47+
# createMetadataElementCSV('dc.subject', 'subjectType', 'en_US')
4548

4649
item = {'metadata': metadata}
4750
metadataGroup.append(item)

postCollection.py

Lines changed: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
import requests
33
import secrets
44
import datetime
5+
import time
6+
import os
57

68
secretsVersion = raw_input('To edit production server, enter the name of the secrets file: ')
79
if secretsVersion != '':
@@ -19,11 +21,12 @@
1921

2022
requests.packages.urllib3.disable_warnings()
2123

22-
directory = filePath+raw_input('Enter directory name: ')
24+
directory = raw_input('Enter directory name: ')
2325
fileExtension = '.'+raw_input('Enter file extension: ')
24-
communityName = raw_input('Enter community name: ')
25-
collectionName = raw_input('Enter collectionn name: ')
26+
communityHandle = raw_input('Enter community handle: ')
27+
collectionName = raw_input('Enter collection name: ')
2628

29+
startTime = time.time()
2730
data = json.dumps({'email':email,'password':password})
2831
header = {'content-type':'application/json','accept':'application/json'}
2932
session = requests.post(baseURL+'/rest/login', headers=header, verify=verify, data=data).content
@@ -33,18 +36,29 @@
3336
userFullName = status['fullname']
3437
print 'authenticated'
3538

36-
#Post community
37-
community = json.dumps({'name': communityName})
38-
post = requests.post(baseURL+'/rest/communities', headers=headerAuth, verify=verify, data=community).json()
39-
communityID = post['link']
39+
#Get community ID
40+
endpoint = baseURL+'/rest/handle/'+communityHandle
41+
community = requests.get(endpoint, headers=headerAuth, verify=verify).json()
42+
communityID = str(community['id'])
4043

4144
#Post collection
4245
collection = json.dumps({'name': collectionName})
43-
post = requests.post(baseURL+communityID+'/collections', headers=headerAuth, verify=verify, data=collection).json()
46+
post = requests.post(baseURL+'/rest/communities/'+communityID+'/collections', headers=headerAuth, verify=verify, data=collection).json()
4447
collectionID = post['link']
4548

4649
#Post items
47-
collectionMetadata = json.load(open(directory+'/'+'collectionMetadata.json'))
50+
fileList = {}
51+
for root, dirs, files in os.walk(directory, topdown=True):
52+
for file in files:
53+
if file.endswith(fileExtension):
54+
fileList[file.replace('.pdf','')] = os.path.join(root, file).replace('\\','/')
55+
print file
56+
elapsedTime = time.time() - startTime
57+
m, s = divmod(elapsedTime, 60)
58+
h, m = divmod(m, 60)
59+
print 'File list creation time: ','%d:%02d:%02d' % (h, m, s)
60+
61+
collectionMetadata = json.load(open(directory+'/'+'metadata.json'))
4862
for itemMetadata in collectionMetadata:
4963
for element in itemMetadata['metadata']:
5064
if element['key'] == 'dc.identifier.other':
@@ -55,12 +69,20 @@
5569
itemID = post['link']
5670

5771
#Post bitstream
58-
bitstream = directory+'/'+fileIdentifier+fileExtension
72+
bitstream = fileList[fileIdentifier]
5973
fileName = bitstream[bitstream.rfind('/')+1:]
6074
data = open(bitstream, 'rb')
6175
files = {'file': open(bitstream, 'rb')}
6276
post = requests.post(baseURL+itemID+'/bitstreams?name='+fileName, headers=headerAuthFileUpload, verify=verify, data=data).json()
6377

78+
79+
# #Post bitstream
80+
# bitstream = directory+'/'+fileIdentifier+fileExtension
81+
# fileName = bitstream[bitstream.rfind('/')+1:]
82+
# data = open(bitstream, 'rb')
83+
# files = {'file': open(bitstream, 'rb')}
84+
# post = requests.post(baseURL+itemID+'/bitstreams?name='+fileName, headers=headerAuthFileUpload, verify=verify, data=data).json()
85+
6486
#Create provenance notes
6587
provNote = {}
6688
provNote['key'] = 'dc.description.provenance'
@@ -97,3 +119,8 @@
97119
print post
98120

99121
logout = requests.post(baseURL+'/rest/logout', headers=headerAuth, verify=verify)
122+
123+
elapsedTime = time.time() - startTime
124+
m, s = divmod(elapsedTime, 60)
125+
h, m = divmod(m, 60)
126+
print 'Total script run time: ','%d:%02d:%02d' % (h, m, s)

0 commit comments

Comments
 (0)