)]}'
{"keystone/identity/core.py":[{"author":{"_account_id":16523,"name":"ZhangLei","display_name":"ZhangLei","email":"zhang.lei@99cloud.net","username":"zhang.lei"},"change_message_id":"119b1874821facd4a32c3394d48f0fff2620820d","unresolved":false,"context_lines":[{"line_number":36,"context_line":"from keystone.identity.mapping_backends import mapping"},{"line_number":37,"context_line":"from keystone import notifications"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"from threading import Lock"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_99079ec9","line":39,"updated":"2016-03-03 08:29:15.000000000","message":"i think it would be better to use \"import threading\"","commit_id":"0c8f6701f1f48a555437a6d0b39f0c8a754a9681"},{"author":{"_account_id":16523,"name":"ZhangLei","display_name":"ZhangLei","email":"zhang.lei@99cloud.net","username":"zhang.lei"},"change_message_id":"119b1874821facd4a32c3394d48f0fff2620820d","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    configured \u003d False"},{"line_number":102,"context_line":"    driver \u003d None"},{"line_number":103,"context_line":"    _any_sql \u003d False"},{"line_number":104,"context_line":"    lock \u003d Lock()"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def _load_driver(self, domain_config):"},{"line_number":107,"context_line":"        return manager.load_driver(Manager.driver_namespace,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_590236b5","line":104,"updated":"2016-03-03 08:29:15.000000000","message":"lock \u003d threading.Lock()","commit_id":"0c8f6701f1f48a555437a6d0b39f0c8a754a9681"},{"author":{"_account_id":16523,"name":"ZhangLei","display_name":"ZhangLei","email":"zhang.lei@99cloud.net","username":"zhang.lei"},"change_message_id":"119b1874821facd4a32c3394d48f0fff2620820d","unresolved":false,"context_lines":[{"line_number":436,"context_line":"                self.domain_configs.lock.release()"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"            return f(self, *args, **kwargs)"},{"line_number":439,"context_line":"        "},{"line_number":440,"context_line":"    return wrapper"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_79e452e0","line":439,"range":{"start_line":439,"start_character":0,"end_line":439,"end_character":8},"updated":"2016-03-03 08:29:15.000000000","message":"remove these spaces","commit_id":"0c8f6701f1f48a555437a6d0b39f0c8a754a9681"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"92ac50b8759adf054ce5929884d79e6c8245d466","unresolved":false,"context_lines":[{"line_number":422,"context_line":"                CONF.identity.domain_specific_drivers_enabled):"},{"line_number":423,"context_line":"            self.domain_configs.setup_domain_drivers("},{"line_number":424,"context_line":"                self.driver, self.resource_api)"},{"line_number":425,"context_line":"        return f(self, *args, **kwargs)"},{"line_number":426,"context_line":"    return wrapper"},{"line_number":427,"context_line":""},{"line_number":428,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5aef4532_32140c43","side":"PARENT","line":425,"updated":"2016-03-07 22:26:38.000000000","message":"This was indented too much in patchset 1, which caused a bunch of test failures (when driver methods started returning None, because f() wasn\u0027t being called at all).","commit_id":"2445d24efacd4c5f96174b3bf1028bf5770f7bab"}]}
