def get(self, repository_id=None, entity_type=None, entity_id=None):
if repository_id is None:
try:
hub_key = self.get_query_argument('hub_key')
except MissingArgumentError:
raise HTTPError(400, 'hub_key parameter is required')
try:
parts = parse_hub_key(hub_key)
except ValueError:
raise HTTPError(404, 'Invalid hub key')
if parts['schema_version'] == 's0':
raise HTTPError(404, 'Only hub keys matching '
'schema >= s1 are supported')
else:
parts = {
'repository_id': repository_id,
'entity_type': entity_type,
'entity_id': entity_id
}
try:
entity = yield get_entity(parts['repository_id'],
parts['entity_type'],
parts['entity_id'])
except httpclient.HTTPError, e:
raise HTTPError(e.code, e.message)
if not entity:
raise HTTPError(404, 'Not found')
self.finish({'status': 200, 'data': entity})
评论列表
文章目录