)]}'
{"keystone/identity/core.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"07e0620e8b35284fcd92c85c5e5791ea3aee8986","unresolved":false,"context_lines":[{"line_number":1204,"context_line":"    @MEMOIZE"},{"line_number":1205,"context_line":"    def shadow_federated_user(self, idp_id, protocol_id, unique_id,"},{"line_number":1206,"context_line":"                              display_name):"},{"line_number":1207,"context_line":"        \"\"\"Map a federated user to a user."},{"line_number":1208,"context_line":""},{"line_number":1209,"context_line":"        :param idp_id: identity provider id"},{"line_number":1210,"context_line":"        :param protocol_id: protocol id"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a18252c_56713b75","line":1207,"updated":"2016-04-14 20:03:49.000000000","message":"That works.","commit_id":"bc4996466254f42988d723f1c70806f7bdaeee80"}],"keystone/tests/unit/core.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"07e0620e8b35284fcd92c85c5e5791ea3aee8986","unresolved":false,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"def skip_if_cache_disabled(*sections):"},{"line_number":174,"context_line":"    \"\"\"Skip a test if caching is disabled."},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    Caching can be disabled either globally or for a specific section."},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a18252c_767ef719","line":174,"updated":"2016-04-14 20:03:49.000000000","message":"The new description does not make it clear that this is a decorator, although the example below does. Not a huge loss.","commit_id":"bc4996466254f42988d723f1c70806f7bdaeee80"}],"keystone/tests/unit/test_backend_sql.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"07e0620e8b35284fcd92c85c5e5791ea3aee8986","unresolved":false,"context_lines":[{"line_number":358,"context_line":"        self.assertEqual([], tenants)"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"    def test_update_project_returns_extra(self):"},{"line_number":361,"context_line":"        \"\"\"Backward compatibility with an essex/folsom bug."},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"        Non-indexed attributes were returned in an \u0027extra\u0027 attribute, instead"},{"line_number":364,"context_line":"        of on the entity itself; for consistency and backwards compatibility,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a18252c_36e59fdb","line":361,"updated":"2016-04-14 20:03:49.000000000","message":".\n\n  Test for backward compatibility ...","commit_id":"bc4996466254f42988d723f1c70806f7bdaeee80"}],"keystone/token/persistence/backends/sql.py":[{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"8cb9bb5965a9315dd9ecc264d6aaff4f0af3034d","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def delete_tokens(self, user_id, tenant_id\u003dNone, trust_id\u003dNone,"},{"line_number":116,"context_line":"                      consumer_id\u003dNone):"},{"line_number":117,"context_line":"        \"\"\"Delete all tokens in one session"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        The user_id will be ignored if the trust_id is specified. user_id"},{"line_number":120,"context_line":"        will always be specified."}],"source_content_type":"text/x-python","patch_set":1,"id":"5a18252c_37a806db","line":117,"updated":"2016-04-14 16:43:48.000000000","message":"nit: I noticed some of these summary lines end with a period and some don\u0027t.  Is there a PEP standard for that?  If not, should we make them consistent as well.","commit_id":"bc4996466254f42988d723f1c70806f7bdaeee80"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"07e0620e8b35284fcd92c85c5e5791ea3aee8986","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def delete_tokens(self, user_id, tenant_id\u003dNone, trust_id\u003dNone,"},{"line_number":116,"context_line":"                      consumer_id\u003dNone):"},{"line_number":117,"context_line":"        \"\"\"Delete all tokens in one session"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        The user_id will be ignored if the trust_id is specified. user_id"},{"line_number":120,"context_line":"        will always be specified."}],"source_content_type":"text/x-python","patch_set":1,"id":"5a18252c_964473b7","line":117,"in_reply_to":"5a18252c_37a806db","updated":"2016-04-14 20:03:49.000000000","message":"Yes, that\u0027s another pep257 standard (D400) that can be fixed in another change (and then gated on!):\n\n  http://pydocstyle.readthedocs.org/en/latest/error_codes.html","commit_id":"bc4996466254f42988d723f1c70806f7bdaeee80"}]}
