)]}'
{"keystone/identity/backends/ldap/core.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"df839fcf952e284cab69c864111e15ec03f466c4","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        metadata_ref \u003d {}"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        try:"},{"line_number":94,"context_line":"            tenants \u003d self.get_tenants_for_user(user_id)"},{"line_number":95,"context_line":"            if tenant_id and tenant_id not in tenants:"},{"line_number":96,"context_line":"                raise AssertionError(\u0027Invalid tenant\u0027)"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2FzTo%3D","line":94,"updated":"2012-08-10 21:15:11.000000000","message":"Does 94-96 need to be in the try block? I would assume not.","commit_id":"81acb0bdc137462d1f3aa3228916194c7dec82c9"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"df839fcf952e284cab69c864111e15ec03f466c4","unresolved":false,"context_lines":[{"line_number":96,"context_line":"                raise AssertionError(\u0027Invalid tenant\u0027)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"            tenant_ref \u003d self.get_tenant(tenant_id)"},{"line_number":99,"context_line":"            roles \u003d self.get_metadata(user_id, tenant_id)"},{"line_number":100,"context_line":"            if roles:"},{"line_number":101,"context_line":"                metadata_ref \u003d roles"},{"line_number":102,"context_line":"        except exception.TenantNotFound:"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2FzTs%3D","line":99,"updated":"2012-08-10 21:15:11.000000000","message":"99-101 can be reduced to:\n\n    metadata_ref \u003d self.get_metadata(user_id, tenant_id)","commit_id":"81acb0bdc137462d1f3aa3228916194c7dec82c9"}]}
