)]}'
{"keystoneclient/access.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"c1930124e806646d5cf6a87afecb024e4a0bd755","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    def will_expire_soon(self, stale_duration\u003dNone):"},{"line_number":84,"context_line":"        \"\"\"Determines if expiration is about to occur."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        :return: true if expiration is within the given duration"},{"line_number":87,"context_line":"        :rtype: boolean"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_9ba7ec4f","line":86,"updated":"2014-10-15 06:53:51.000000000","message":":returns:","commit_id":"d416d59194d7a1c82a27197cd87d131e95d06e32"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"c1930124e806646d5cf6a87afecb024e4a0bd755","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        \"\"\"Determines if processing v2 or v3 token given a successful"},{"line_number":102,"context_line":"        auth body or a user-provided dict."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        :return: true if auth body matches implementing class"},{"line_number":105,"context_line":"        :rtype: boolean"},{"line_number":106,"context_line":"        \"\"\""},{"line_number":107,"context_line":"        raise NotImplementedError()"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_3b70c0db","line":104,"updated":"2014-10-15 06:53:51.000000000","message":":returns:","commit_id":"d416d59194d7a1c82a27197cd87d131e95d06e32"}],"keystoneclient/auth/base.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"c1930124e806646d5cf6a87afecb024e4a0bd755","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        Returning None will indicate that no token was able to be retrieved."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        :param session: A session object so the plugin can make HTTP calls."},{"line_number":67,"context_line":"        :return: A token to use."},{"line_number":68,"context_line":"        :rtype: string"},{"line_number":69,"context_line":"        \"\"\""},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_7b75e8c9","line":67,"updated":"2014-10-15 06:53:51.000000000","message":":returns:","commit_id":"d416d59194d7a1c82a27197cd87d131e95d06e32"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"c1930124e806646d5cf6a87afecb024e4a0bd755","unresolved":false,"context_lines":[{"line_number":203,"context_line":"        :param string group: The group name that options should be read from."},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"        :returns: An authentication Plugin."},{"line_number":206,"context_line":"        :rtype: plugin:"},{"line_number":207,"context_line":"        \"\"\""},{"line_number":208,"context_line":"        plugin_opts \u003d cls.get_options()"},{"line_number":209,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_3beb6079","line":206,"updated":"2014-10-15 06:53:51.000000000","message":"Instead of just \"plugin\", should we refer to the type of BaseAuthPlugin class?\n\nDo we need the colon at the end?","commit_id":"d416d59194d7a1c82a27197cd87d131e95d06e32"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"85f1412741ab69693c4a380d6224db78d8cd27b6","unresolved":false,"context_lines":[{"line_number":203,"context_line":"        :param string group: The group name that options should be read from."},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"        :returns: An authentication Plugin."},{"line_number":206,"context_line":"        :rtype: plugin:"},{"line_number":207,"context_line":"        \"\"\""},{"line_number":208,"context_line":"        plugin_opts \u003d cls.get_options()"},{"line_number":209,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_f6f404d1","line":206,"updated":"2014-10-29 16:11:00.000000000","message":"nit: keystoneclient.auth.BaseAuthPlugin","commit_id":"3f1ba9f007528a7ddad7cb53ef75f7bb1026a4d1"}],"keystoneclient/auth/identity/base.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"c1930124e806646d5cf6a87afecb024e4a0bd755","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        :raises HttpError: An error from an invalid HTTP response."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        :return: A valid token."},{"line_number":91,"context_line":"        :rtype: string"},{"line_number":92,"context_line":"        \"\"\""},{"line_number":93,"context_line":"        return self.get_access(session).auth_token"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_1b421c68","line":90,"updated":"2014-10-15 06:53:51.000000000","message":":returns:","commit_id":"d416d59194d7a1c82a27197cd87d131e95d06e32"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"c1930124e806646d5cf6a87afecb024e4a0bd755","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        :raises HttpError: An error from an invalid HTTP response."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        :return: A valid endpoint URL or None if not available."},{"line_number":179,"context_line":"        :rtype: string or None"},{"line_number":180,"context_line":"        \"\"\""},{"line_number":181,"context_line":"        # NOTE(jamielennox): if you specifically ask for requests to be sent to"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_3b47e078","line":178,"updated":"2014-10-15 06:53:51.000000000","message":":returns:","commit_id":"d416d59194d7a1c82a27197cd87d131e95d06e32"}],"keystoneclient/auth/identity/v2.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"c1930124e806646d5cf6a87afecb024e4a0bd755","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        :param dict headers: The headers that will be sent with the auth"},{"line_number":93,"context_line":"                             request if a plugin needs to add to them."},{"line_number":94,"context_line":"        :return: A dict of authentication data for the auth type."},{"line_number":95,"context_line":"        :rtype: dict"},{"line_number":96,"context_line":"        \"\"\""},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_7b5c084c","line":94,"updated":"2014-10-15 06:53:51.000000000","message":":returns:","commit_id":"d416d59194d7a1c82a27197cd87d131e95d06e32"}],"keystoneclient/auth/identity/v3.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"c1930124e806646d5cf6a87afecb024e4a0bd755","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        :param Auth auth: The auth plugin calling the method."},{"line_number":183,"context_line":"        :param dict headers: The headers that will be sent with the auth"},{"line_number":184,"context_line":"                             request if a plugin needs to add to them."},{"line_number":185,"context_line":"        :return: The identifier of this plugin and a dict of authentication"},{"line_number":186,"context_line":"                 data for the auth type."},{"line_number":187,"context_line":"        :rtype: tuple(string, dict)"},{"line_number":188,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_9b552c20","line":185,"updated":"2014-10-15 06:53:51.000000000","message":":returns:","commit_id":"d416d59194d7a1c82a27197cd87d131e95d06e32"}],"keystoneclient/contrib/auth/v3/saml2.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"c1930124e806646d5cf6a87afecb024e4a0bd755","unresolved":false,"context_lines":[{"line_number":426,"context_line":"        :param session : a session object to send out HTTP requests."},{"line_number":427,"context_line":"        :type session: keystoneclient.session.Session"},{"line_number":428,"context_line":""},{"line_number":429,"context_line":"        :return: an object with scoped token\u0027s id and unscoped token json"},{"line_number":430,"context_line":"                 included."},{"line_number":431,"context_line":"        :rtype: :py:class:`keystoneclient.access.AccessInfoV3`"},{"line_number":432,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_db32540f","line":429,"updated":"2014-10-15 06:53:51.000000000","message":":returns:","commit_id":"d416d59194d7a1c82a27197cd87d131e95d06e32"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"85f1412741ab69693c4a380d6224db78d8cd27b6","unresolved":false,"context_lines":[{"line_number":428,"context_line":""},{"line_number":429,"context_line":"        :return: an object with scoped token\u0027s id and unscoped token json"},{"line_number":430,"context_line":"                 included."},{"line_number":431,"context_line":"        :rtype: :py:class:`keystoneclient.access.AccessInfoV3`"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"        \"\"\""},{"line_number":434,"context_line":"        token, token_json \u003d self._get_unscoped_token(session)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_f66de49a","line":431,"updated":"2014-10-29 16:11:00.000000000","message":"nit AccessInfoV3 is incidental, you always use the methods on the base AccessInfo class.","commit_id":"3f1ba9f007528a7ddad7cb53ef75f7bb1026a4d1"}]}
