)]}'
{"keystone/delegation/backends/sql.py":[{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"7bf61049a73142336b86bcb5037248438888ffba","unresolved":false,"context_lines":[{"line_number":441,"context_line":""},{"line_number":442,"context_line":"class TrustDriver(trust_core.TrustDriverV8):"},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"    def _find_redelegated(self, agent_id, is_admin, project_id, roles):"},{"line_number":445,"context_line":"        \"\"\"Find the best match for requested scope to be derived from\"\"\""},{"line_number":446,"context_line":"        with sql.session_for_read() as session:"},{"line_number":447,"context_line":"            # Find delegations where agent is a trustee and scope matches"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a1b2928_eb73ca4b","line":444,"updated":"2016-04-11 17:04:35.000000000","message":"It\u0027s a question where to put this logic as driver should be as thin as possible and the logic itself depends on various outer parts.","commit_id":"41e56f1c7d9ccf556c39b798ff4f2c370a261981"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"c2bcbed39e167353c3d3e7229e4a2ae448ec4e84","unresolved":false,"context_lines":[{"line_number":441,"context_line":""},{"line_number":442,"context_line":"class TrustDriver(trust_core.TrustDriverV8):"},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"    def _find_redelegated(self, agent_id, is_admin, project_id, roles):"},{"line_number":445,"context_line":"        \"\"\"Find the best match for requested scope to be derived from\"\"\""},{"line_number":446,"context_line":"        with sql.session_for_read() as session:"},{"line_number":447,"context_line":"            # Find delegations where agent is a trustee and scope matches"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aa08908_3f4e13c1","line":444,"in_reply_to":"5a18252c_bd82a792","updated":"2016-06-08 12:32:28.000000000","message":"++","commit_id":"41e56f1c7d9ccf556c39b798ff4f2c370a261981"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"71db826a40166ecebd77a102f490ef5165b0b126","unresolved":false,"context_lines":[{"line_number":441,"context_line":""},{"line_number":442,"context_line":"class TrustDriver(trust_core.TrustDriverV8):"},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"    def _find_redelegated(self, agent_id, is_admin, project_id, roles):"},{"line_number":445,"context_line":"        \"\"\"Find the best match for requested scope to be derived from\"\"\""},{"line_number":446,"context_line":"        with sql.session_for_read() as session:"},{"line_number":447,"context_line":"            # Find delegations where agent is a trustee and scope matches"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a18252c_bd82a792","line":444,"in_reply_to":"7a1b2928_eb73ca4b","updated":"2016-04-13 01:23:06.000000000","message":"Move complex, multidriver logic to the manager.  You might ended up with some driver methods having to be split.","commit_id":"41e56f1c7d9ccf556c39b798ff4f2c370a261981"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"b932bbed94f1c83291cdc39ed790ab37adf5ff02","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from keystone.i18n import _"},{"line_number":23,"context_line":"from keystone.trust.backends import base as trust_base"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"# The maximum number of iterations that will be attempted for optimistic"},{"line_number":26,"context_line":"# locking on consuming a limited-use trust."},{"line_number":27,"context_line":"MAXIMUM_CONSUME_ATTEMPTS \u003d 10"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"1a6eadb0_6090694f","line":26,"range":{"start_line":25,"start_character":62,"end_line":26,"end_character":9},"updated":"2016-12-20 12:41:57.000000000","message":"what is this optimistic locking ?","commit_id":"c299d0edd1f1717d121e903000aae6eccd3b1495"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"b932bbed94f1c83291cdc39ed790ab37adf5ff02","unresolved":false,"context_lines":[{"line_number":309,"context_line":"            q.delete(False)"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"class TrustDriver(trust_base.TrustDriverV8):"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"    @staticmethod"},{"line_number":315,"context_line":"    def _format_trust_dict(delegation):"}],"source_content_type":"text/x-python","patch_set":23,"id":"1a6eadb0_a0ec41f4","line":312,"updated":"2016-12-20 12:41:57.000000000","message":"so the idea is that we share the SQL model but keep different drivers and managers ?","commit_id":"c299d0edd1f1717d121e903000aae6eccd3b1495"}]}
