entity_handler.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:query-srv 作者: openpermissions 项目源码 文件源码
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})
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号