This repository has been archived by the owner on Feb 12, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathcreateItemMetadataFromCSV.py
78 lines (71 loc) · 3.74 KB
/
createItemMetadataFromCSV.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# -*- coding: utf-8 -*-
import json
import csv
def createMetadataElementCSV (key, valueSource, language):
value = row[valueSource]
if value != '':
if language != '':
metadataElement = {'key': key, 'language': language, 'value': value}
metadata.append(metadataElement)
else:
metadataElement = {'key': key, 'value': value}
metadata.append(metadataElement)
else:
pass
def createMetadataElementCSVSplitField (key, valueSource, language):
if row[valueSource] != '':
if '|' in row[valueSource]:
values = row[valueSource].split('|')
for value in values:
if language != '':
metadataElement = {'key': key, 'language': language, 'value': value}
metadata.append(metadataElement)
else:
metadataElement = {'key': key, 'value': value}
metadata.append(metadataElement)
else:
value = row[valueSource]
if language != '':
metadataElement = {'key': key, 'language': language, 'value': value}
metadata.append(metadataElement)
else:
metadataElement = {'key': key, 'value': value}
metadata.append(metadataElement)
else:
pass
def createMetadataElementDirect (key, value, language):
if language != '':
metadataElement = {'key': key, 'language': language, 'value': value}
metadata.append(metadataElement)
else:
metadataElement = {'key': key, 'value': value}
metadata.append(metadataElement)
fileName = input('Enter fileName (including \'.csv\'): ')
with open(fileName) as csvfile:
reader = csv.DictReader(csvfile)
counter = 0
metadataGroup = []
for row in reader:
metadata = []
createMetadataElementCSV('fileIdentifier', '????', '')
createMetadataElementCSV('dc.contributor.author', '????', '')
createMetadataElementCSV('dc.contributor.other', '????', '')
createMetadataElementCSV('dc.date.issued', '????', '')
createMetadataElementCSV('dc.description.abstract', '????', 'en_US')
createMetadataElementCSV('dc.format.extent', '????', '')
createMetadataElementDirect('dc.format.mimetype', '????', 'en_US')
createMetadataElementDirect('dc.identifier.other', '????','')
createMetadataElementDirect('dc.language.iso', '????', 'en_US')
createMetadataElementDirect('dc.publisher', 'Johns Hopkins University Sheridan Libraries', 'en_US')
createMetadataElementDirect('dc.relation', 'Access the finding aid for the full ???? collection at ?????.', '')
createMetadataElementCSV('dc.relation.ispartof', '????', 'en_US')
createMetadataElementDirect('dc.rights', 'Single copies may be made for research purposes. Researchers are responsible for determining any copyright questions. It is not necessary to seek our permission as the owner of the physical work to publish or otherwise use public domain materials that we have made available for use, unless Johns Hopkins University holds the copyright. If you are the copyright owner of this content and wish to contact us regarding our choice to provide access to this material online, please visit our takedown policy at https://www.library.jhu.edu/policy/digital-collections-statement-use-takedown-policy/.', 'en_US')
createMetadataElementDirect('dc.subject', '????', 'en_US')
createMetadataElementCSV('dc.title', '????', 'en_US')
createMetadataElementDirect('dc.type', '????', 'en_US')
item = {'metadata': metadata}
metadataGroup.append(item)
counter = counter + 1
print(counter)
f=open('metadata.json', 'w')
json.dump(metadataGroup, f)