)]}'
{"tempest/cmd/javelin.py":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"127e931585570428e6863f0acbc369fc11ee151b","unresolved":false,"context_lines":[{"line_number":376,"context_line":"        # only create a volume if the name isn\u0027t here"},{"line_number":377,"context_line":"        r, body \u003d client.volumes.list_volumes()"},{"line_number":378,"context_line":"        names \u003d [x[\u0027name\u0027] for x in body]"},{"line_number":379,"context_line":"        if volume[\u0027name\u0027] in names:"},{"line_number":380,"context_line":"            continue"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"        client.volumes.create_volume(volume[\u0027name\u0027], volume[\u0027size\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_241ffd5c","line":379,"updated":"2014-06-17 08:46:29.000000000","message":"You can write:\n\nif any(item[\u0027name\u0027] \u003d\u003d volume[\u0027name] for item in body): ...","commit_id":"63fce5d573050ca8f747ff380b35a0847a55a563"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"6226666bbe773b30bd825b2b47794b3fa9a59b20","unresolved":false,"context_lines":[{"line_number":376,"context_line":"        # only create a volume if the name isn\u0027t here"},{"line_number":377,"context_line":"        r, body \u003d client.volumes.list_volumes()"},{"line_number":378,"context_line":"        names \u003d [x[\u0027name\u0027] for x in body]"},{"line_number":379,"context_line":"        if volume[\u0027name\u0027] in names:"},{"line_number":380,"context_line":"            continue"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"        client.volumes.create_volume(volume[\u0027name\u0027], volume[\u0027size\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_88061b84","line":379,"in_reply_to":"1ae5cdf2_241ffd5c","updated":"2014-06-17 12:38:57.000000000","message":"Done","commit_id":"63fce5d573050ca8f747ff380b35a0847a55a563"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"127e931585570428e6863f0acbc369fc11ee151b","unresolved":false,"context_lines":[{"line_number":382,"context_line":"        client.volumes.create_volume(volume[\u0027name\u0027], volume[\u0027size\u0027])"},{"line_number":383,"context_line":""},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"def attach_volumes(volumes, servers):"},{"line_number":386,"context_line":"    for volume in volumes:"},{"line_number":387,"context_line":"        client \u003d client_for_user(volume[\u0027owner\u0027])"},{"line_number":388,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_e47275af","line":385,"updated":"2014-06-17 08:46:29.000000000","message":"It looks like servers is not used. You may remove it.","commit_id":"63fce5d573050ca8f747ff380b35a0847a55a563"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"6226666bbe773b30bd825b2b47794b3fa9a59b20","unresolved":false,"context_lines":[{"line_number":382,"context_line":"        client.volumes.create_volume(volume[\u0027name\u0027], volume[\u0027size\u0027])"},{"line_number":383,"context_line":""},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"def attach_volumes(volumes, servers):"},{"line_number":386,"context_line":"    for volume in volumes:"},{"line_number":387,"context_line":"        client \u003d client_for_user(volume[\u0027owner\u0027])"},{"line_number":388,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_08f20b9b","line":385,"in_reply_to":"1ae5cdf2_e47275af","updated":"2014-06-17 12:38:57.000000000","message":"Done","commit_id":"63fce5d573050ca8f747ff380b35a0847a55a563"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"127e931585570428e6863f0acbc369fc11ee151b","unresolved":false,"context_lines":[{"line_number":409,"context_line":"    create_images(RES[\u0027images\u0027])"},{"line_number":410,"context_line":"    create_servers(RES[\u0027servers\u0027])"},{"line_number":411,"context_line":"    create_volumes(RES[\u0027volumes\u0027])"},{"line_number":412,"context_line":"    attach_volumes(RES[\u0027volumes\u0027])"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"def get_options():"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_a4914df3","line":412,"updated":"2014-06-17 08:46:29.000000000","message":"Hum, here you call the function without the second parameter.","commit_id":"63fce5d573050ca8f747ff380b35a0847a55a563"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"6226666bbe773b30bd825b2b47794b3fa9a59b20","unresolved":false,"context_lines":[{"line_number":409,"context_line":"    create_images(RES[\u0027images\u0027])"},{"line_number":410,"context_line":"    create_servers(RES[\u0027servers\u0027])"},{"line_number":411,"context_line":"    create_volumes(RES[\u0027volumes\u0027])"},{"line_number":412,"context_line":"    attach_volumes(RES[\u0027volumes\u0027])"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"def get_options():"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_e83ddf2d","line":412,"in_reply_to":"1ae5cdf2_a4914df3","updated":"2014-06-17 12:38:57.000000000","message":"Done","commit_id":"63fce5d573050ca8f747ff380b35a0847a55a563"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"a1d7a7cf81629ca650fe28accb271298b321f61e","unresolved":false,"context_lines":[{"line_number":362,"context_line":"#######################"},{"line_number":363,"context_line":""},{"line_number":364,"context_line":"def _get_volume_by_name(client, name):"},{"line_number":365,"context_line":"    r, body \u003d client.volumes.list_volumes()"},{"line_number":366,"context_line":"    for volume in body[\u0027volumes\u0027]:"},{"line_number":367,"context_line":"        if name \u003d\u003d volume[\u0027name\u0027]:"},{"line_number":368,"context_line":"            return volume"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_ac2466c6","line":365,"updated":"2014-06-19 09:08:05.000000000","message":"Should you check r to check if the call failed?","commit_id":"626b4f8f75ba1691259e5897af6fa4d4ac879790"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"08f39949fddcbb64f2148e2899b8fd754ea5b2cf","unresolved":false,"context_lines":[{"line_number":362,"context_line":"#######################"},{"line_number":363,"context_line":""},{"line_number":364,"context_line":"def _get_volume_by_name(client, name):"},{"line_number":365,"context_line":"    r, body \u003d client.volumes.list_volumes()"},{"line_number":366,"context_line":"    for volume in body[\u0027volumes\u0027]:"},{"line_number":367,"context_line":"        if name \u003d\u003d volume[\u0027name\u0027]:"},{"line_number":368,"context_line":"            return volume"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_384830b3","line":365,"in_reply_to":"1ae5cdf2_82105301","updated":"2014-06-23 11:59:18.000000000","message":"I think you should check response status code here. I agree with Victor.","commit_id":"626b4f8f75ba1691259e5897af6fa4d4ac879790"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"6dcbe4553081aae789ba7e8f9e89daac4bc712cf","unresolved":false,"context_lines":[{"line_number":362,"context_line":"#######################"},{"line_number":363,"context_line":""},{"line_number":364,"context_line":"def _get_volume_by_name(client, name):"},{"line_number":365,"context_line":"    r, body \u003d client.volumes.list_volumes()"},{"line_number":366,"context_line":"    for volume in body[\u0027volumes\u0027]:"},{"line_number":367,"context_line":"        if name \u003d\u003d volume[\u0027name\u0027]:"},{"line_number":368,"context_line":"            return volume"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_82105301","line":365,"in_reply_to":"1ae5cdf2_ac2466c6","updated":"2014-06-19 09:42:40.000000000","message":"Self-reply: I checked the rest of the file, the return code isn ot checked, so it\u0027s not fine to not check it. Anyway, accessing body[\u0027volumes\u0027] will raise an error if the call failed.","commit_id":"626b4f8f75ba1691259e5897af6fa4d4ac879790"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"a1d7a7cf81629ca650fe28accb271298b321f61e","unresolved":false,"context_lines":[{"line_number":374,"context_line":"        client \u003d client_for_user(volume[\u0027owner\u0027])"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"        # only create a volume if the name isn\u0027t here"},{"line_number":377,"context_line":"        r, body \u003d client.volumes.list_volumes()"},{"line_number":378,"context_line":"        if any(item[\u0027name\u0027] \u003d\u003d volume[\u0027name\u0027] for item in body):"},{"line_number":379,"context_line":"            continue"},{"line_number":380,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_072d358f","line":377,"updated":"2014-06-19 09:08:05.000000000","message":"Ditto.","commit_id":"626b4f8f75ba1691259e5897af6fa4d4ac879790"}]}
