)]}'
{"keystoneclient/tests/v3/utils.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a4efde3b7b77c51e509e3dd425083962e5bd817b","unresolved":false,"context_lines":[{"line_number":266,"context_line":""},{"line_number":267,"context_line":"        self.stub_entity(httpretty.PATCH, id\u003dref[\u0027id\u0027], entity\u003dref)"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"        # req_ref argument allows you to specify a different"},{"line_number":270,"context_line":"        # signature for the request when the manager does some"},{"line_number":271,"context_line":"        # conversion before doing the request (e.g converting"},{"line_number":272,"context_line":"        # from datetime object to timestamp string)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F8wmo%3D","line":269,"updated":"2013-12-20 16:06:25.000000000","message":"I\u0027d prefer this method had a docstring.","commit_id":"cd17443134077e98204ff8884e2e6594b94ba96c"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"988a2cfa47f9b0b79f63884c0527d4ac26a3e012","unresolved":false,"context_lines":[{"line_number":266,"context_line":""},{"line_number":267,"context_line":"        self.stub_entity(httpretty.PATCH, id\u003dref[\u0027id\u0027], entity\u003dref)"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"        # req_ref argument allows you to specify a different"},{"line_number":270,"context_line":"        # signature for the request when the manager does some"},{"line_number":271,"context_line":"        # conversion before doing the request (e.g converting"},{"line_number":272,"context_line":"        # from datetime object to timestamp string)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F8was%3D","line":269,"in_reply_to":"AAAATn%2F8wmo%3D","updated":"2013-12-20 16:27:49.000000000","message":"I\u0027m just following the established convention - none of the test_* functions have docstrings, and this is not a new function, so if we\u0027re going to add them, it should happen in a different (non bugfix) patch IMO.  \n\nI\u0027m happy to post a follow-up patch adding them.","commit_id":"cd17443134077e98204ff8884e2e6594b94ba96c"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a4efde3b7b77c51e509e3dd425083962e5bd817b","unresolved":false,"context_lines":[{"line_number":270,"context_line":"        # signature for the request when the manager does some"},{"line_number":271,"context_line":"        # conversion before doing the request (e.g converting"},{"line_number":272,"context_line":"        # from datetime object to timestamp string)"},{"line_number":273,"context_line":"        req_ref \u003d req_ref or ref.copy()"},{"line_number":274,"context_line":"        req_ref.pop(\u0027id\u0027)"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"        returned \u003d self.manager.update(ref[\u0027id\u0027], **parameterize(req_ref))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F8wk8%3D","line":273,"updated":"2013-12-20 16:06:25.000000000","message":"this should do req_ref.copy() otherwise it\u0027s going to modify the input object.\n\nmaybe \"req_ref \u003d (req_ref or ref).copy()\"","commit_id":"cd17443134077e98204ff8884e2e6594b94ba96c"}],"keystoneclient/v3/credentials.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"83bb654880fa6c7dbf876a055fdca210616d318d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    collection_key \u003d \u0027credentials\u0027"},{"line_number":34,"context_line":"    key \u003d \u0027credential\u0027"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def create(self, user, type, blob\u003dNone, project\u003dNone):"},{"line_number":37,"context_line":"        return super(CredentialManager, self).create("},{"line_number":38,"context_line":"            user_id\u003dbase.getid(user),"},{"line_number":39,"context_line":"            type\u003dtype,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9eqg%3D","line":36,"updated":"2013-12-11 03:42:16.000000000","message":"also why make this optional?","commit_id":"99ed640a0702a152b80cee44ee5555b0607e1f6e"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"61bf279d2ace288b6951eadcb61a882a24a3e8cd","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        # support both in the python API for backwards compatibility"},{"line_number":40,"context_line":"        if blob is not None:"},{"line_number":41,"context_line":"            return blob"},{"line_number":42,"context_line":"        elif data is not None:"},{"line_number":43,"context_line":"            return data"},{"line_number":44,"context_line":"        else:"},{"line_number":45,"context_line":"            raise ValueError("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F9ZsM%3D","line":42,"updated":"2013-12-11 22:06:09.000000000","message":"the deprecated method should be invoked here","commit_id":"e010e3d2eabf05afdd4235f6f4bec1e79d829d8f"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"87be9e39befa29bc73d2b591645ee5bb0b34da6d","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        # support both in the python API for backwards compatibility"},{"line_number":40,"context_line":"        if blob is not None:"},{"line_number":41,"context_line":"            return blob"},{"line_number":42,"context_line":"        elif data is not None:"},{"line_number":43,"context_line":"            return data"},{"line_number":44,"context_line":"        else:"},{"line_number":45,"context_line":"            raise ValueError("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F9SiU%3D","line":42,"in_reply_to":"AAAATn%2F9USc%3D","updated":"2013-12-13 00:17:35.000000000","message":"We don\u0027t yet have a deprecated method. So far we\u0027ve just been adding TODOs. \n\nI have a port of keystone\u0027s deprecated but i don\u0027t think it is appropriate for the client.","commit_id":"e010e3d2eabf05afdd4235f6f4bec1e79d829d8f"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"0700be8355366f4b13f9640e53d169b544b2070b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        # support both in the python API for backwards compatibility"},{"line_number":40,"context_line":"        if blob is not None:"},{"line_number":41,"context_line":"            return blob"},{"line_number":42,"context_line":"        elif data is not None:"},{"line_number":43,"context_line":"            return data"},{"line_number":44,"context_line":"        else:"},{"line_number":45,"context_line":"            raise ValueError("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F9USc%3D","line":42,"in_reply_to":"AAAATn%2F9ZsM%3D","updated":"2013-12-12 18:05:56.000000000","message":"Can you point to an example please?  I\u0027m not really sure what \"the deprecated method\" is, or how it might be invoked :)","commit_id":"e010e3d2eabf05afdd4235f6f4bec1e79d829d8f"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"61bf279d2ace288b6951eadcb61a882a24a3e8cd","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            return data"},{"line_number":44,"context_line":"        else:"},{"line_number":45,"context_line":"            raise ValueError("},{"line_number":46,"context_line":"                \"Credential requires blob or data to be specified\")"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def create(self, user, type, blob\u003dNone, data\u003dNone, project\u003dNone):"},{"line_number":49,"context_line":"        return super(CredentialManager, self).create("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F9Zsc%3D","line":46,"updated":"2013-12-11 22:06:09.000000000","message":"revise the error message to only ask for the non-deprecated one- \"blob\"","commit_id":"e010e3d2eabf05afdd4235f6f4bec1e79d829d8f"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"0700be8355366f4b13f9640e53d169b544b2070b","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            return data"},{"line_number":44,"context_line":"        else:"},{"line_number":45,"context_line":"            raise ValueError("},{"line_number":46,"context_line":"                \"Credential requires blob or data to be specified\")"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def create(self, user, type, blob\u003dNone, data\u003dNone, project\u003dNone):"},{"line_number":49,"context_line":"        return super(CredentialManager, self).create("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F9USg%3D","line":46,"in_reply_to":"AAAATn%2F9Zsc%3D","updated":"2013-12-12 18:05:56.000000000","message":"Ok, will do, once I\u0027ve discovered what needs to be done above.","commit_id":"e010e3d2eabf05afdd4235f6f4bec1e79d829d8f"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"a4efde3b7b77c51e509e3dd425083962e5bd817b","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    key \u003d \u0027credential\u0027"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def _get_data_blob(self, blob, data):"},{"line_number":37,"context_line":"        # Ref bug #1259461, the previous calling convention was to"},{"line_number":38,"context_line":"        # pass \"data\", but the underlying API expects \"blob\", so"},{"line_number":39,"context_line":"        # support both in the python API for backwards compatibility"},{"line_number":40,"context_line":"        if blob is not None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F8wkU%3D","line":37,"updated":"2013-12-20 16:06:25.000000000","message":"previous to what?","commit_id":"cd17443134077e98204ff8884e2e6594b94ba96c"}]}
