)]}'
{"keystone/delegation/backends/sql.py":[{"author":{"_account_id":16523,"name":"ZhangLei","display_name":"ZhangLei","email":"zhang.lei@99cloud.net","username":"zhang.lei"},"change_message_id":"81b8c061349796a39909d5bc2de3e6f928aa5d8f","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import abc"},{"line_number":16,"context_line":"import time"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from keystone import assignment"},{"line_number":19,"context_line":"from keystone.common import sql"},{"line_number":20,"context_line":"from keystone import exception"},{"line_number":21,"context_line":"from keystone import trust"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_4b004134","line":18,"updated":"2015-09-06 02:24:10.000000000","message":"why do you import this ? it\u0027s unused.","commit_id":"83e8a14c9125d7cbbcae6908017b9bc1dfe238df"},{"author":{"_account_id":16523,"name":"ZhangLei","display_name":"ZhangLei","email":"zhang.lei@99cloud.net","username":"zhang.lei"},"change_message_id":"81b8c061349796a39909d5bc2de3e6f928aa5d8f","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from keystone.common import sql"},{"line_number":20,"context_line":"from keystone import exception"},{"line_number":21,"context_line":"from keystone import trust"},{"line_number":22,"context_line":"from keystone.contrib import oauth1"},{"line_number":23,"context_line":"from oslo_config import cfg"},{"line_number":24,"context_line":"from oslo_log import log"},{"line_number":25,"context_line":"from oslo_utils import timeutils"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_ebfa7542","line":22,"updated":"2015-09-06 02:24:10.000000000","message":"same","commit_id":"83e8a14c9125d7cbbcae6908017b9bc1dfe238df"}],"keystone/delegation/core.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"acd433b170c4cbc61a8639ecf800f087d849075e","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from oslo_config import cfg"},{"line_number":16,"context_line":"from oslo_log import log"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"CONF \u003d cfg.CONF"},{"line_number":20,"context_line":"LOG \u003d log.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":26,"id":"fa69d971_7b3920d8","side":"PARENT","line":18,"updated":"2016-01-07 15:16:50.000000000","message":"unrelated change?","commit_id":"6e597f421db256fa0d31ee90470d1f3ff851b73e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"acd433b170c4cbc61a8639ecf800f087d849075e","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import abc"},{"line_number":16,"context_line":"import six"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from oslo_config import cfg"},{"line_number":19,"context_line":"from oslo_log import log"}],"source_content_type":"text/x-python","patch_set":26,"id":"fa69d971_1b78248f","line":16,"updated":"2016-01-07 15:16:50.000000000","message":"Python six is a third-party library and should be grouped in the same imports as oslo. See: \n\nhttps://github.com/openstack/keystone/blob/7f485562f9fd9c44dabf779f4c32951dbac55885/keystone/common/wsgi.py#L25-L34 \n\nfor an example.","commit_id":"529a12d4dc3e73ff7d53e57e8690f65f21706029"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"acd433b170c4cbc61a8639ecf800f087d849075e","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"@six.add_metaclass(abc.ABCMeta)"},{"line_number":26,"context_line":"class DelegationDriverV8(object):"},{"line_number":27,"context_line":"    \"\"\"Driver interface for delegation low level management\"\"\""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @abc.abstractmethod"},{"line_number":30,"context_line":"    def derive_delegation(self, id, base_delegation,"}],"source_content_type":"text/x-python","patch_set":26,"id":"fa69d971_1b86e465","line":27,"range":{"start_line":27,"start_character":49,"end_line":27,"end_character":59},"updated":"2016-01-07 15:16:50.000000000","message":"suggest adding a period to the end of the summary to be consistent with pep257 - https://www.python.org/dev/peps/pep-0257/#multi-line-docstrings","commit_id":"529a12d4dc3e73ff7d53e57e8690f65f21706029"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"acd433b170c4cbc61a8639ecf800f087d849075e","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    \"\"\"Driver interface for delegation low level management\"\"\""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @abc.abstractmethod"},{"line_number":30,"context_line":"    def derive_delegation(self, id, base_delegation,"},{"line_number":31,"context_line":"                          agent, user, group, impersonation,"},{"line_number":32,"context_line":"                          roles, project, domain, inherited_to_projects,"},{"line_number":33,"context_line":"                          strict_ancestry, sealed, executable, expires_at):"},{"line_number":34,"context_line":"        pass"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    @abc.abstractmethod"}],"source_content_type":"text/x-python","patch_set":26,"id":"fa69d971_db7fec64","line":33,"range":{"start_line":30,"start_character":3,"end_line":33,"end_character":75},"updated":"2016-01-07 15:16:50.000000000","message":"Should we docstring these?","commit_id":"529a12d4dc3e73ff7d53e57e8690f65f21706029"}]}
