)]}'
{"keystoneclient/service_catalog.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"33ed42b15fd2cbc850d6210cf5a932ee7ced5b3b","unresolved":false,"context_lines":[{"line_number":123,"context_line":"                    if service_name !\u003d sn:"},{"line_number":124,"context_line":"                        continue"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"            sc.setdefault(st, list())"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"            for endpoint in service.get(\u0027endpoints\u0027, []):"},{"line_number":129,"context_line":"                if (endpoint_type and not"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_1070f2da","line":126,"updated":"2014-10-07 23:06:44.000000000","message":"using defaultdict might be a better clean-up,  sc can be declared as \n\nsc \u003d defaultdict(list)","commit_id":"5ca277e680d91b335aeaabcb97f66795f06ec2b2"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"84092ae8326f032c223710b29cce8d91ea193759","unresolved":false,"context_lines":[{"line_number":123,"context_line":"                    if service_name !\u003d sn:"},{"line_number":124,"context_line":"                        continue"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"            sc.setdefault(st, list())"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"            for endpoint in service.get(\u0027endpoints\u0027, []):"},{"line_number":129,"context_line":"                if (endpoint_type and not"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_90491435","line":126,"in_reply_to":"baa201ad_1070f2da","updated":"2014-10-21 07:14:50.000000000","message":"Thanks for reply, I see your point.\nNext patch explicitly implements the idea.\nIn favor of Boris\u0027es note - not using collections.","commit_id":"5ca277e680d91b335aeaabcb97f66795f06ec2b2"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"94bfbbdb828673a2252373abc7021421f63ec922","unresolved":false,"context_lines":[{"line_number":123,"context_line":"                    if service_name !\u003d sn:"},{"line_number":124,"context_line":"                        continue"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"            sc.setdefault(st, list())"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"            for endpoint in service.get(\u0027endpoints\u0027, []):"},{"line_number":129,"context_line":"                if (endpoint_type and not"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_1a438faf","line":126,"in_reply_to":"baa201ad_1070f2da","updated":"2014-10-08 23:24:19.000000000","message":"That would require fixing _get_service_endpoints, because it relies on KeyError in case a key doesn\u0027t exist.","commit_id":"5ca277e680d91b335aeaabcb97f66795f06ec2b2"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"eff318dedfdec89b3a76bef07d4460e5d0e822d0","unresolved":false,"context_lines":[{"line_number":123,"context_line":"                    if service_name !\u003d sn:"},{"line_number":124,"context_line":"                        continue"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"            sc.setdefault(st, list())"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"            for endpoint in service.get(\u0027endpoints\u0027, []):"},{"line_number":129,"context_line":"                if (endpoint_type and not"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_a46c1838","line":126,"in_reply_to":"baa201ad_1a438faf","updated":"2014-10-19 00:36:14.000000000","message":"okay, makes sense to keep this then","commit_id":"5ca277e680d91b335aeaabcb97f66795f06ec2b2"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"6365a318661891325a8a901b0addbc34f494fd9e","unresolved":false,"context_lines":[{"line_number":123,"context_line":"                    if service_name !\u003d sn:"},{"line_number":124,"context_line":"                        continue"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"            sc[st] \u003d sc.get(st) or list()"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"            for endpoint in service.get(\u0027endpoints\u0027, []):"},{"line_number":129,"context_line":"                if (endpoint_type and not"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa7fdbe_16e6bab4","line":126,"updated":"2014-10-21 16:13:57.000000000","message":"endpoints \u003d sc.setdefault(st, []) \n..\nendpoints.append(endpoint)","commit_id":"0cb175dcbd44f985bd042dae9bca68d706483cab"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"cd126df72279f73cb61c859c32609c81b530c96a","unresolved":false,"context_lines":[{"line_number":123,"context_line":"                    if service_name !\u003d sn:"},{"line_number":124,"context_line":"                        continue"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"            sc[st] \u003d sc.get(st) or list()"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"            for endpoint in service.get(\u0027endpoints\u0027, []):"},{"line_number":129,"context_line":"                if (endpoint_type and not"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa7fdbe_c148ee89","line":126,"in_reply_to":"9aa7fdbe_16e6bab4","updated":"2014-10-21 16:57:31.000000000","message":"sc.setdefault was -1\u0027ed :)\n++ to get endpoints here","commit_id":"0cb175dcbd44f985bd042dae9bca68d706483cab"}],"keystoneclient/tests/v2_0/client_fixtures.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"6365a318661891325a8a901b0addbc34f494fd9e","unresolved":false,"context_lines":[{"line_number":88,"context_line":"    endpoint[\u0027versionInfo\u0027] \u003d \u0027https://compute.north.host/v1.0/\u0027"},{"line_number":89,"context_line":"    endpoint[\u0027versionList\u0027] \u003d \u0027https://compute.north.host/\u0027"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    s \u003d f.add_service(\u0027compute\u0027, \u0027Cloud Servers\u0027)"},{"line_number":92,"context_line":"    endpoint \u003d s.add_endpoint(public\u003d\u0027https://compute.north.host/v1.1/3456\u0027,"},{"line_number":93,"context_line":"                              internal\u003d\u0027https://compute.north.host/v1.1/3456\u0027,"},{"line_number":94,"context_line":"                              region\u003d\u0027North\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa7fdbe_16823a94","line":91,"updated":"2014-10-21 16:13:57.000000000","message":"this will create a new service entry. The way it is now will create a new endpoint with different \u0027tenantId\u0027 values under the same service.\n\nI\u0027m pretty sure this is on purpose. We don\u0027t usually have the same service_type twice in a catalog.","commit_id":"0cb175dcbd44f985bd042dae9bca68d706483cab"}]}
