def json_ld(self): type_ = 'GovernmentOrganization' if self.public_service \ else 'Organization' result = { '@context': 'http://schema.org', '@type': type_, '@id': str(self.id), 'alternateName': self.slug, 'url': endpoint_for('organizations.show', 'api.organization', org=self, _external=True), 'name': self.name, 'dateCreated': self.created_at.isoformat(), 'dateModified': self.last_modified.isoformat() } if self.description: result['description'] = mdstrip(self.description) logo = self.logo(external=True) if logo: result['logo'] = logo return result
def json_ld(self): result = { '@context': 'http://schema.org', '@type': 'CreativeWork', 'alternateName': self.slug, 'dateCreated': self.created_at.isoformat(), 'dateModified': self.last_modified.isoformat(), 'url': url_for('reuses.show', reuse=self, _external=True), 'name': self.title, 'isBasedOnUrl': self.url, } if self.description: result['description'] = mdstrip(self.description) if self.organization: author = self.organization.json_ld elif self.owner: author = self.owner.json_ld else: author = None if author: result['author'] = author return result
def json_ld(self): result = { '@context': 'http://schema.org', '@type': 'Dataset', '@id': str(self.id), 'alternateName': self.slug, 'dateCreated': self.created_at.isoformat(), 'dateModified': self.last_modified.isoformat(), 'url': endpoint_for('datasets.show', 'api.dataset', dataset=self, _external=True), 'name': self.title, 'keywords': ','.join(self.tags), 'distribution': [resource.json_ld for resource in self.resources], # Theses values are not standard 'contributedDistribution': [resource.json_ld for resource in self.community_resources], 'extras': [get_json_ld_extra(*item) for item in self.extras.items()], } if self.description: result['description'] = mdstrip(self.description) if self.license and self.license.url: result['license'] = self.license.url if self.organization: author = self.organization.json_ld elif self.owner: author = self.owner.json_ld else: author = None if author: result['author'] = author return result
def json_ld(self): result = { '@type': 'Person', '@context': 'http://schema.org', 'name': self.fullname, } if self.about: result['description'] = mdstrip(self.about) if self.avatar_url: result['image'] = self.avatar_url if self.website: result['url'] = self.website return result
def json_ld(self): result = { '@type': 'DataDownload', '@id': str(self.id), 'url': self.latest, 'name': self.title or _('Nameless resource'), 'contentUrl': self.url, 'dateCreated': self.created_at.isoformat(), 'dateModified': self.modified.isoformat(), 'datePublished': self.published.isoformat(), 'extras': [get_json_ld_extra(*item) for item in self.extras.items()], 'needCheck': self.need_check(), 'type': self.type, } if 'views' in self.metrics: result['interactionStatistic'] = { '@type': 'InteractionCounter', 'interactionType': { '@type': 'DownloadAction', }, 'userInteractionCount': self.metrics['views'] } if self.format: result['encodingFormat'] = self.format if self.filesize: result['contentSize'] = self.filesize if self.mime: result['fileFormat'] = self.mime if self.description: result['description'] = mdstrip(self.description) # These 2 values are not standard if self.checksum: result['checksum'] = self.checksum.value, result['checksumType'] = self.checksum.type or 'sha1' return result
def test_oembeds_dataset_api_get(self, api): '''It should fetch a dataset in the oembed format.''' dataset = DatasetFactory() url = url_for('api.oembeds', references='dataset-{id}'.format(id=dataset.id)) response = api.get(url) assert200(response) data = response.json[0] assert 'html' in data assert 'width' in data assert 'maxwidth' in data assert 'height' in data assert 'maxheight' in data assert data['type'] == 'rich' assert data['version'] == '1.0' assert dataset.title in data['html'] assert dataset.external_url in data['html'] assert 'placeholders/default.png' in data['html'] assert mdstrip(dataset.description, 110) in data['html']
def json_ld(self): type_ = 'GovernmentOrganization' if self.public_service \ else 'Organization' result = { '@context': 'http://schema.org', '@type': type_, 'alternateName': self.slug, 'url': url_for('organizations.show', org=self, _external=True), 'name': self.name, } if self.description: result['description'] = mdstrip(self.description) logo = self.logo(external=True) if logo: result['logo'] = logo return result
def test_oembeds_dataset_api_get(self): '''It should fetch a dataset in the oembed format.''' dataset = DatasetFactory() url = url_for('api.oembeds', references='dataset-{id}'.format(id=dataset.id)) response = self.get(url) self.assert200(response) data = json.loads(response.data)[0] self.assertIn('html', data) self.assertIn('width', data) self.assertIn('maxwidth', data) self.assertIn('height', data) self.assertIn('maxheight', data) self.assertTrue(data['type'], 'rich') self.assertTrue(data['version'], '1.0') self.assertIn(dataset.title, data['html']) self.assertIn(dataset.external_url, data['html']) self.assertIn('placeholders/default.png', data['html']) self.assertIn(mdstrip(dataset.description, 110), data['html'])
def test_oembeds_dataset_api_get(self): '''It should fetch a dataset in the oembed format.''' with self.autoindex(): dataset = DatasetFactory() url = url_for('api.oembeds', references='dataset-{id}'.format(id=dataset.id)) response = self.get(url) self.assert200(response) data = json.loads(response.data)[0] self.assertIn('html', data) self.assertIn('width', data) self.assertIn('maxwidth', data) self.assertIn('height', data) self.assertIn('maxheight', data) self.assertTrue(data['type'], 'rich') self.assertTrue(data['version'], '1.0') self.assertIn(dataset.title, data['html']) self.assertIn(dataset.external_url, data['html']) self.assertIn('placeholders/default.png', data['html']) self.assertIn(mdstrip(dataset.description, 110), data['html'])
def json_ld(self): result = { '@context': 'http://schema.org', '@type': 'Dataset', '@id': str(self.id), 'alternateName': self.slug, 'dateCreated': self.created_at.isoformat(), 'dateModified': self.last_modified.isoformat(), 'url': url_for('datasets.show', dataset=self, _external=True), 'name': self.title, 'keywords': ','.join(self.tags), 'distribution': [resource.json_ld for resource in self.resources], # Theses values are not standard 'contributedDistribution': [ resource.json_ld for resource in self.community_resources ], 'extras': [get_json_ld_extra(*item) for item in self.extras.items()], } if self.description: result['description'] = mdstrip(self.description) if self.license and self.license.url: result['license'] = self.license.url if self.organization: author = self.organization.json_ld elif self.owner: author = self.owner.json_ld else: author = None if author: result['author'] = author return result
def json_ld(self): result = { '@type': 'DataDownload', '@id': str(self.id), 'url': self.latest, 'name': self.title or _('Nameless resource'), 'contentUrl': self.url, 'dateCreated': self.created_at.isoformat(), 'dateModified': self.modified.isoformat(), 'datePublished': self.published.isoformat(), 'extras': [get_json_ld_extra(*item) for item in self.extras.items()], } if 'views' in self.metrics: result['interactionStatistic'] = { '@type': 'InteractionCounter', 'interactionType': { '@type': 'DownloadAction', }, 'userInteractionCount': self.metrics['views'] } if self.format: result['encodingFormat'] = self.format if self.filesize: result['contentSize'] = self.filesize if self.mime: result['fileFormat'] = self.mime if self.description: result['description'] = mdstrip(self.description) return result