user.py 文件源码

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

项目:plex-watched-sync 作者: fiLLLip 项目源码 文件源码
def on_post(self, req, resp):
        """Check with plex web api the user id and server to have access"""
        if 'X-TOKEN' not in req.headers:
            raise falcon.HTTPForbidden('Permission Denied', 'Missing header X-token')

        token = req.headers['X-TOKEN']
        result = plex_get_request('https://plex.tv/users/account.json', token)

        if result.status_code == 401 or result.status_code == 422:
            raise falcon.HTTPForbidden('Permission Denied', 'Provided token is not valid')

        account_id = result.json()['user']['id']
        result = plex_get_request('https://plex.tv/pms/servers', token)
        media_container_element = ElementTree.fromstring(result.content)
        servers = set()
        for server_element in media_container_element:
            servers.add(server_element.attrib['machineIdentifier'])

        # The following action is idempotent, so we can run it without worrying
        for server_id in servers:
            server.Actions.add_account(server_id, account_id)
            account.Actions.add_server(account_id, server_id)

        resp.status = falcon.HTTP_200
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号