|
24 | 24 | import pyclowder.files |
25 | 25 | import pyclowder.datasets |
26 | 26 |
|
| 27 | +from dotenv import load_dotenv |
| 28 | +load_dotenv() |
| 29 | +clowder_version = float(os.getenv('clowder_version')) |
| 30 | + |
27 | 31 |
|
28 | 32 | class Extractor(object): |
29 | 33 | """Basic extractor. |
@@ -245,22 +249,30 @@ def get_metadata(self, content, resource_type, resource_id, server=None): |
245 | 249 | for k in content: |
246 | 250 | if not self._check_key(k, self.extractor_info['contexts']): |
247 | 251 | 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 | + } |
264 | 276 |
|
265 | 277 | def _check_key(self, key, obj): |
266 | 278 | if key in obj: |
|
0 commit comments