Skip to content

Commit dd5c4ef

Browse files
committed
metadata does post
need to add extractor info
1 parent f30c23a commit dd5c4ef

File tree

2 files changed

+29
-16
lines changed

2 files changed

+29
-16
lines changed

pyclowder/extractors.py

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@
2424
import pyclowder.files
2525
import pyclowder.datasets
2626

27+
from dotenv import load_dotenv
28+
load_dotenv()
29+
clowder_version = float(os.getenv('clowder_version'))
30+
2731

2832
class Extractor(object):
2933
"""Basic extractor.
@@ -245,22 +249,30 @@ def get_metadata(self, content, resource_type, resource_id, server=None):
245249
for k in content:
246250
if not self._check_key(k, self.extractor_info['contexts']):
247251
logger.debug("Simple check could not find %s in contexts" % k)
248-
249-
return {
250-
'@context': [context_url] + self.extractor_info['contexts'],
251-
'attachedTo': {
252-
'resourceType': resource_type,
253-
'id': resource_id
254-
},
255-
'agent': {
256-
'@type': 'cat:extractor',
257-
'extractor_id': '%sextractors/%s/%s' %
258-
(server, self.extractor_info['name'], self.extractor_info['version']),
259-
'version': self.extractor_info['version'],
260-
'name': self.extractor_info['name']
261-
},
262-
'content': content
263-
}
252+
# TODO generate clowder2.0 extractor info
253+
if clowder_version >= 2.0:
254+
md = dict()
255+
md["file_version"] = 1
256+
md["context"] = self.extractor_info["contexts"][0]
257+
md["context_url"] = context_url
258+
md["contents"] = content
259+
return md
260+
else:
261+
return {
262+
'@context': [context_url] + self.extractor_info['contexts'],
263+
'attachedTo': {
264+
'resourceType': resource_type,
265+
'id': resource_id
266+
},
267+
'agent': {
268+
'@type': 'cat:extractor',
269+
'extractor_id': '%sextractors/%s/%s' %
270+
(server, self.extractor_info['name'], self.extractor_info['version']),
271+
'version': self.extractor_info['version'],
272+
'name': self.extractor_info['name']
273+
},
274+
'content': content
275+
}
264276

265277
def _check_key(self, key, obj):
266278
if key in obj:

pyclowder/files.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ def upload_metadata(connector, host, key, fileid, metadata):
213213

214214
if clowder_version >= 2.0:
215215
connector.message_process({"type": "file", "id": fileid}, "Uploading file metadata.")
216+
as_json = json.dumps(metadata)
216217

217218
headers = {'Content-Type': 'application/json',
218219
'Authorization':'Bearer ' + key}

0 commit comments

Comments
 (0)