)]}'
{"keystone/catalog/backends/sql.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"683b83d0073686b0c823926dbe1df21cac6d3499","unresolved":false,"context_lines":[{"line_number":151,"context_line":"             \u0027user_id\u0027: user_id}"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        session \u003d self.get_session()"},{"line_number":154,"context_line":"        endpoints \u003d session.query(Endpoint).\\"},{"line_number":155,"context_line":"            options(sql.joinedload(Endpoint.service)).\\"},{"line_number":156,"context_line":"            all()"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAQn%2F%2FLKs%3D","line":154,"updated":"2013-08-05 23:20:01.000000000","message":"use () to continue long lines and not \\, see https://github.com/openstack-dev/hacking/blame/master/HACKING.rst#L13\n\nthis applies throughout these changes.","commit_id":"cf450882a67be9f2074c14ae234e91cc81d9bd85"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"96b3fdc7c1a090cbfa8ac5e54a990d83e7280dd7","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        return ref.to_dict()"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    def get_catalog(self, user_id, tenant_id, metadata\u003dNone):"},{"line_number":150,"context_line":"        d \u003d {\u0027tenant_id\u0027: tenant_id,"},{"line_number":151,"context_line":"             \u0027user_id\u0027: user_id}"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        session \u003d self.get_session()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2FEhY%3D","line":150,"updated":"2013-08-07 16:33:05.000000000","message":"why was this changed? d used to contain all the CONF items, but now it doesn\u0027t.","commit_id":"079fe32416b1ba1bf02e425f883bdd402713b6c2"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"96b3fdc7c1a090cbfa8ac5e54a990d83e7280dd7","unresolved":false,"context_lines":[{"line_number":185,"context_line":"            return r"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        def add_tenant_and_user_ids_to_url(endpoint):"},{"line_number":188,"context_line":"            d \u003d {\u0027tenant_id\u0027: tenant_id,"},{"line_number":189,"context_line":"                 \u0027user_id\u0027: user_id}"},{"line_number":190,"context_line":"            endpoint[\u0027url\u0027] \u003d core.format_url(endpoint[\u0027url\u0027], d)"},{"line_number":191,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2FEf8%3D","line":188,"updated":"2013-08-07 16:33:05.000000000","message":"why was this changed to not \"d \u003d dict(CONF.iteritems())\"?","commit_id":"079fe32416b1ba1bf02e425f883bdd402713b6c2"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"c341e021deb2f88c3de8129d40e4f1deac970956","unresolved":false,"context_lines":[{"line_number":189,"context_line":"            del r[\u0027service_id\u0027]"},{"line_number":190,"context_line":"            return r"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"        def add_tenant_and_user_ids_to_url(endpoint):"},{"line_number":193,"context_line":"            endpoint[\u0027url\u0027] \u003d core.format_url(endpoint[\u0027url\u0027], d)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"        catalog \u003d [{\u0027endpoints\u0027: [remove_service_id(ep.to_dict())"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2FDXc%3D","line":192,"updated":"2013-08-07 21:20:24.000000000","message":"change the name of this function to format_url since it\u0027s not just tenant and user id.","commit_id":"db923396a92dfec79eea7741cf053e5b07f03573"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"c341e021deb2f88c3de8129d40e4f1deac970956","unresolved":false,"context_lines":[{"line_number":198,"context_line":"                    \u0027type\u0027: svc.type} for svc in services]"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        for service in catalog:"},{"line_number":201,"context_line":"            map(add_tenant_and_user_ids_to_url, service[\u0027endpoints\u0027])"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        return catalog"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2FDW4%3D","line":201,"updated":"2013-08-07 21:20:24.000000000","message":"why not format the URLs when add to catalog rather than changing it afterwards?\n\n(for example, do it at the same time as remove_service_id, call it process_endpoint() or something)","commit_id":"db923396a92dfec79eea7741cf053e5b07f03573"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"14a84a217454a5da73009bfce03daadd53ef1b22","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        catalog \u003d [{\u0027endpoints\u0027: [make_v3_endpoint(ep.to_dict())"},{"line_number":193,"context_line":"                                  for ep in svc.endpoints],"},{"line_number":194,"context_line":"                    \u0027id\u0027: svc.id,"},{"line_number":195,"context_line":"                    \u0027type\u0027: svc.type} for svc in services]"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        return catalog"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FCNY%3D","line":195,"updated":"2013-08-08 04:19:39.000000000","message":"This section would be more understandable if you just did it in a regular loop. Not enough to -1 though.","commit_id":"b920d15b01b21831999030b0becbc1da988ee638"}]}
