)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"6298e330419f621c885e6994ea835f6231272895","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The trust_api and controllers no longer directly depend on the"},{"line_number":10,"context_line":"token_api. The `validate_token` call on the `token_provider_api`"},{"line_number":11,"context_line":"is now used to retrive token data."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The token_provider_api listens for trust deletion events to clean"},{"line_number":14,"context_line":"up the token persistence backend. In support of this callback, it"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"baada198_09b51231","line":11,"updated":"2014-07-28 15:49:51.000000000","message":"retrieve*","commit_id":"37d67af36b073649cb39a9ebed10f606951b3e5e"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"c022bdd76257db656e4f7592d03922725b85d830","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The trust_api and controllers no longer directly depend on the"},{"line_number":10,"context_line":"token_api. The `validate_token` call on the `token_provider_api`"},{"line_number":11,"context_line":"is now used to retrive token data."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The token_provider_api listens for trust deletion events to clean"},{"line_number":14,"context_line":"up the token persistence backend. In support of this callback, it"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"baada198_31f20de4","line":11,"in_reply_to":"baada198_09b51231","updated":"2014-07-29 15:08:55.000000000","message":"In next patch.","commit_id":"37d67af36b073649cb39a9ebed10f606951b3e5e"}],"keystone/token/provider.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"17d4902907eaa5efd42cf2b91e5f1e20d255856b","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        # provider (token_provider_api) manager to listen for trust deletions."},{"line_number":154,"context_line":"        self.event_callbacks \u003d {"},{"line_number":155,"context_line":"            \u0027deleted\u0027: {\u0027OS-TRUST:trust\u0027: [self._trust_deleted_event_callback]}"},{"line_number":156,"context_line":"        }"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    @property"},{"line_number":159,"context_line":"    def persistence(self):"}],"source_content_type":"text/x-python","patch_set":21,"id":"1abeadc6_2cb0e3f3","line":156,"updated":"2014-08-25 21:22:37.000000000","message":"probably out of scope, but it seems anti-social to register callbacks this way","commit_id":"c21549f44ca69581b92e3f4117892275d9d3004e"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"c73a56fec4a9698431273a872fb35a38a419e2d4","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        # provider (token_provider_api) manager to listen for trust deletions."},{"line_number":154,"context_line":"        self.event_callbacks \u003d {"},{"line_number":155,"context_line":"            \u0027deleted\u0027: {\u0027OS-TRUST:trust\u0027: [self._trust_deleted_event_callback]}"},{"line_number":156,"context_line":"        }"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    @property"},{"line_number":159,"context_line":"    def persistence(self):"}],"source_content_type":"text/x-python","patch_set":21,"id":"1abeadc6_69464325","line":156,"in_reply_to":"1abeadc6_2cb0e3f3","updated":"2014-08-26 03:20:36.000000000","message":"A good thing to fix down the line (we should revisit moving to blinker)","commit_id":"c21549f44ca69581b92e3f4117892275d9d3004e"}],"keystone/trust/controllers.py":[{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"49322c182c6025f40c325e346d114c8bcffd858c","unresolved":false,"context_lines":[{"line_number":232,"context_line":"        _admin_trustor_only(context, trust, user_id)"},{"line_number":233,"context_line":"        self.trust_api.delete_trust(trust_id)"},{"line_number":234,"context_line":"        userid \u003d trust[\u0027trustor_user_id\u0027]"},{"line_number":235,"context_line":"        self.token_api.delete_tokens(userid, trust_id\u003dtrust_id)"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    @controller.protected()"},{"line_number":238,"context_line":"    def list_roles_for_trust(self, context, trust_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_d450fbd6","side":"PARENT","line":235,"updated":"2014-07-29 00:47:19.000000000","message":"so we don\u0027t revoke token when the trust is deleted?","commit_id":"c0211c4c42def27372520469034738082c2ac39e"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"293331d98c00f4ee415a0336e20b646ca3beb804","unresolved":false,"context_lines":[{"line_number":232,"context_line":"        _admin_trustor_only(context, trust, user_id)"},{"line_number":233,"context_line":"        self.trust_api.delete_trust(trust_id)"},{"line_number":234,"context_line":"        userid \u003d trust[\u0027trustor_user_id\u0027]"},{"line_number":235,"context_line":"        self.token_api.delete_tokens(userid, trust_id\u003dtrust_id)"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    @controller.protected()"},{"line_number":238,"context_line":"    def list_roles_for_trust(self, context, trust_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_140513c1","side":"PARENT","line":235,"in_reply_to":"baada198_d450fbd6","updated":"2014-07-29 00:48:37.000000000","message":"Nevermind, you seem to do the event callback thingy.","commit_id":"c0211c4c42def27372520469034738082c2ac39e"}],"keystone/trust/core.py":[{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"293331d98c00f4ee415a0336e20b646ca3beb804","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        raise exception.NotImplemented()  # pragma: no cover"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    @abc.abstractmethod"},{"line_number":83,"context_line":"    def get_trust(self, trust_id, deleted\u003dFalse):"},{"line_number":84,"context_line":"        raise exception.NotImplemented()  # pragma: no cover"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    @abc.abstractmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_94f843c5","line":83,"updated":"2014-07-29 00:48:37.000000000","message":"can we have a doc string on \u0027deleted\u0027?","commit_id":"37d67af36b073649cb39a9ebed10f606951b3e5e"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"c022bdd76257db656e4f7592d03922725b85d830","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        raise exception.NotImplemented()  # pragma: no cover"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    @abc.abstractmethod"},{"line_number":83,"context_line":"    def get_trust(self, trust_id, deleted\u003dFalse):"},{"line_number":84,"context_line":"        raise exception.NotImplemented()  # pragma: no cover"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    @abc.abstractmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_b1061dcc","line":83,"in_reply_to":"baada198_94f843c5","updated":"2014-07-29 15:08:55.000000000","message":"Sure in next patch.","commit_id":"37d67af36b073649cb39a9ebed10f606951b3e5e"}]}
