)]}'
{"keystonemiddleware/auth_token/_identity.py":[{"author":{"_account_id":9276,"name":"David Charles Kennedy","email":"david.c.kennedy@hpe.com","username":"darfed"},"change_message_id":"26273de9adacef72be2f16a47e5e3bb6e24695d1","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        super(_V2RequestStrategy, self).__init__(adap, **kwargs)"},{"line_number":48,"context_line":"        self._client \u003d v2_client.Client(session\u003dadap)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        self.fetch_signing_cert \u003d ("},{"line_number":51,"context_line":"            self._client.certificates.get_signing_certificate)"},{"line_number":52,"context_line":"        self.fetch_ca_cert \u003d self._client.certificates.get_ca_certificate"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1aca2d91_51d88553","line":50,"updated":"2015-05-06 13:49:33.000000000","message":"Would it no be preferable to have the method delegate to the client rather than patching over a method?  I don\u0027t think this needs to be a run time patch and to my mind it\u0027s easier to work through the code if delegation is explicit.","commit_id":"4ec9fb654b5f6b054e025871e92dd3533757a065"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"6177f3814e39e562e55e52eeca6cf98e83450f9c","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        super(_V2RequestStrategy, self).__init__(adap, **kwargs)"},{"line_number":48,"context_line":"        self._client \u003d v2_client.Client(session\u003dadap)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        self.fetch_signing_cert \u003d ("},{"line_number":51,"context_line":"            self._client.certificates.get_signing_certificate)"},{"line_number":52,"context_line":"        self.fetch_ca_cert \u003d self._client.certificates.get_ca_certificate"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1aca2d91_c765f7e1","line":50,"in_reply_to":"1aca2d91_51d88553","updated":"2015-05-06 14:21:12.000000000","message":"I don\u0027t know what you\u0027re suggesting I change this to. The code as it is is doing what you\u0027re suggesting already in my opinion (the delegation is explicit).","commit_id":"4ec9fb654b5f6b054e025871e92dd3533757a065"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"7d27c1b706e3cf95c5ac7542181bf187e41374ed","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        super(_V2RequestStrategy, self).__init__(adap, **kwargs)"},{"line_number":48,"context_line":"        self._client \u003d v2_client.Client(session\u003dadap)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        self.fetch_signing_cert \u003d ("},{"line_number":51,"context_line":"            self._client.certificates.get_signing_certificate)"},{"line_number":52,"context_line":"        self.fetch_ca_cert \u003d self._client.certificates.get_ca_certificate"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9af37de9_49aa451b","line":50,"in_reply_to":"1aca2d91_beb09d44","updated":"2015-05-10 16:43:09.000000000","message":"Done","commit_id":"4ec9fb654b5f6b054e025871e92dd3533757a065"},{"author":{"_account_id":9276,"name":"David Charles Kennedy","email":"david.c.kennedy@hpe.com","username":"darfed"},"change_message_id":"16ce24ad92194f1554b89eb522529e3ab33a5e29","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        super(_V2RequestStrategy, self).__init__(adap, **kwargs)"},{"line_number":48,"context_line":"        self._client \u003d v2_client.Client(session\u003dadap)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        self.fetch_signing_cert \u003d ("},{"line_number":51,"context_line":"            self._client.certificates.get_signing_certificate)"},{"line_number":52,"context_line":"        self.fetch_ca_cert \u003d self._client.certificates.get_ca_certificate"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1aca2d91_beb09d44","line":50,"in_reply_to":"1aca2d91_c765f7e1","updated":"2015-05-07 10:13:43.000000000","message":"It is, but the aim of your patch is to pull a single method with a parameter out into two methods with no parameter - the \u0027cert_type\u0027 is redundant.  All I\u0027m suggesting is that the methods \u0027fetch_signing_cert\u0027 and \u0027fetch_ca_cert\u0027 from the supertype be declared rather than patched on.  So instead of having this patching going on in the __init__ we do\n\ndef fetch_ca_cert(self):\n    return self._client.certificates.get_ca_certificate()\n\ndef fetch_signing_cert(self):\n    return self._client_certificates.get_signing_certificate()\n\nI don\u0027t see the advantage of the __init__ method effectively re-authoring the class (it certainly makes it more difficult for my IDE to understand).","commit_id":"4ec9fb654b5f6b054e025871e92dd3533757a065"},{"author":{"_account_id":9276,"name":"David Charles Kennedy","email":"david.c.kennedy@hpe.com","username":"darfed"},"change_message_id":"26273de9adacef72be2f16a47e5e3bb6e24695d1","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        self._client \u003d v3_client.Client(session\u003dadap)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        self.fetch_signing_cert \u003d self._client.simple_cert.get_certificates"},{"line_number":69,"context_line":"        self.fetch_ca_cert \u003d self._client.simple_cert.get_ca_certificates"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def verify_token(self, user_token):"},{"line_number":72,"context_line":"        token \u003d self._client.tokens.validate("}],"source_content_type":"text/x-python","patch_set":1,"id":"1aca2d91_919cdd6a","line":69,"updated":"2015-05-06 13:49:33.000000000","message":"As above.","commit_id":"4ec9fb654b5f6b054e025871e92dd3533757a065"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"7d27c1b706e3cf95c5ac7542181bf187e41374ed","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        self._client \u003d v3_client.Client(session\u003dadap)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        self.fetch_signing_cert \u003d self._client.simple_cert.get_certificates"},{"line_number":69,"context_line":"        self.fetch_ca_cert \u003d self._client.simple_cert.get_ca_certificates"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def verify_token(self, user_token):"},{"line_number":72,"context_line":"        token \u003d self._client.tokens.validate("}],"source_content_type":"text/x-python","patch_set":1,"id":"9af37de9_29a70151","line":69,"in_reply_to":"1aca2d91_1ed43145","updated":"2015-05-10 16:43:09.000000000","message":"Done","commit_id":"4ec9fb654b5f6b054e025871e92dd3533757a065"},{"author":{"_account_id":9276,"name":"David Charles Kennedy","email":"david.c.kennedy@hpe.com","username":"darfed"},"change_message_id":"16ce24ad92194f1554b89eb522529e3ab33a5e29","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        self._client \u003d v3_client.Client(session\u003dadap)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        self.fetch_signing_cert \u003d self._client.simple_cert.get_certificates"},{"line_number":69,"context_line":"        self.fetch_ca_cert \u003d self._client.simple_cert.get_ca_certificates"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def verify_token(self, user_token):"},{"line_number":72,"context_line":"        token \u003d self._client.tokens.validate("}],"source_content_type":"text/x-python","patch_set":1,"id":"1aca2d91_1ed43145","line":69,"in_reply_to":"1aca2d91_919cdd6a","updated":"2015-05-07 10:13:43.000000000","message":"So here it would be:\n\ndef fetch_ca_cert(self):\n    return self._client.simple_cert.get_ca_certificates()\n\ndef fetch_signing_cert(self):\n    return self._client.simple_cert.get_certificates()","commit_id":"4ec9fb654b5f6b054e025871e92dd3533757a065"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"ca03e1b5da012066d2ad23e75e3982e169ef7aeb","unresolved":false,"context_lines":[{"line_number":207,"context_line":"    def fetch_ca_cert(self):"},{"line_number":208,"context_line":"        return self._fetch_cert_file(self._request_strategy.fetch_ca_cert)"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    def _fetch_cert_file(self, fetch_fn):"},{"line_number":211,"context_line":"        try:"},{"line_number":212,"context_line":"            text \u003d fetch_fn()"},{"line_number":213,"context_line":"        except exceptions.HTTPError as e:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a0c5dc1_695cb325","line":210,"updated":"2015-05-12 23:52:40.000000000","message":"the function definition is screaming decorator here","commit_id":"10284913b3917897ac8a792ce315a6bb630f5448"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e5a69f099bacaf2116116085d15220766c85bb65","unresolved":false,"context_lines":[{"line_number":207,"context_line":"    def fetch_ca_cert(self):"},{"line_number":208,"context_line":"        return self._fetch_cert_file(self._request_strategy.fetch_ca_cert)"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    def _fetch_cert_file(self, fetch_fn):"},{"line_number":211,"context_line":"        try:"},{"line_number":212,"context_line":"            text \u003d fetch_fn()"},{"line_number":213,"context_line":"        except exceptions.HTTPError as e:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_d93d2ade","line":210,"in_reply_to":"9a0c5dc1_695cb325","updated":"2015-05-21 13:50:51.000000000","message":"Done","commit_id":"10284913b3917897ac8a792ce315a6bb630f5448"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"04cbbbe004b5e951afd861bedab6da6ec966d595","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @_convert_fetch_cert_exception"},{"line_number":57,"context_line":"    def fetch_ca_cert(self):"},{"line_number":58,"context_line":"        return self._fetch_ca_cert()"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def _fetch_ca_cert(self):"},{"line_number":61,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"5afe65bd_6a068b1e","line":58,"updated":"2015-06-04 10:27:40.000000000","message":"nit: this seems unnecessary - this is all private to the module, could just put it on the classes.","commit_id":"b9754218293222cab92bd2bf3b3d40c2960644fe"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"c13857374244b00127fd8225875ae2f47331661c","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @_convert_fetch_cert_exception"},{"line_number":57,"context_line":"    def fetch_ca_cert(self):"},{"line_number":58,"context_line":"        return self._fetch_ca_cert()"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def _fetch_ca_cert(self):"},{"line_number":61,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_27c2ade9","line":58,"in_reply_to":"5afe65bd_6a068b1e","updated":"2015-06-11 01:30:17.000000000","message":"I wasn\u0027t able to figure out how to have a decorator and not have this extra function.","commit_id":"b9754218293222cab92bd2bf3b3d40c2960644fe"}]}
