Skip to content

Commit ef8dad2

Browse files
author
Paul Frederiks
committed
Updated yoda.py to process new metadata scheme
1 parent ff52dff commit ef8dad2

File tree

1 file changed

+6
-14
lines changed

1 file changed

+6
-14
lines changed

moai/yoda.py

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ def __init__(self, provider):
99
self.provider = provider
1010
self.id = None
1111
self.modified = None
12+
self.sets = {}
1213
self.deleted = False
13-
self.sets = dict()
1414
self.metadata = dict()
1515

1616
def update(self, path):
@@ -25,9 +25,9 @@ def update(self, path):
2525

2626
self.root = doc.getroot()
2727

28-
id = xpath.string('//Persistent_Identifier_Datapackage')
28+
id = xpath.string("/metadata/system/Persistent_Identifier_Datapackage[Identifier_Scheme='DOI']/Identifier")
2929
if not id:
30-
log.warning("Missing Persistent Identifier of Datapackage in %s".format(path))
30+
log.warning("Missing Persistent Identifier (DOI) of Datapackage in %s".format(path))
3131
return
3232

3333
self.id = 'oai:%s' % id
@@ -81,7 +81,7 @@ def update(self, path):
8181
self.metadata['date'] = dates
8282

8383
rightsinxml = [xpath.string('//License'),
84-
xpath.string('//License/Properties/URL')]
84+
xpath.string('//system/License_URL')]
8585

8686
rights = [r for r in rightsinxml if r]
8787
if rights:
@@ -92,8 +92,8 @@ def update(self, path):
9292
if subject:
9393
self.metadata['subject'] = subject
9494

95-
locations = xpath.strings('//Location_Covered')
96-
perioddates = [xpath.string('//Start_Period'), xpath.string('//End_Period')]
95+
locations = xpath.strings('//Covered_Geolocation_Place')
96+
perioddates = [xpath.string('//Covered_Period/Start_Date'), xpath.string('//Covered_Period/End_Date')]
9797
period = "/".join([d for d in perioddates if d])
9898
if period:
9999
coverage = locations + [period]
@@ -102,11 +102,3 @@ def update(self, path):
102102
if coverage:
103103
self.metadata['coverage'] = coverage
104104

105-
relations = xpath.strings('//Persistent_Identifier')
106-
if relations:
107-
self.metadata['relation'] = relations
108-
109-
self.sets[u'yoda'] = {
110-
u'name': u'YoDa',
111-
u'description': u'share-collaborate environment for research data'
112-
}

0 commit comments

Comments
 (0)