)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"36352136e97b32d275f0b61cea0ec2136474755f","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"After the change to reuse device id\u0027s [1], the order of devices in the"},{"line_number":10,"context_line":"output of swift-ring-builder is confusing. This patch list the devices"},{"line_number":11,"context_line":"in order of (region, zone, ip, device)."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"1. https://review.openstack.org/#/c/265461/"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a57f1b5_2fd43bea","line":11,"updated":"2016-02-12 00:20:52.000000000","message":"Any chance you could show us some examples what old and new behaviour here in the comment message. Just to make is easier for reviewers?","commit_id":"5b6e8f1a6ade183637165718e0531ebcfa46eff9"},{"author":{"_account_id":13390,"name":"Mingyu Li","email":"mingyu.li.cn@gmail.com","username":"Microwise"},"change_message_id":"d37cef7faff3c7a49aba6bed0f75146ffef25e38","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"After the change to reuse device id\u0027s [1], the order of devices in the"},{"line_number":10,"context_line":"output of swift-ring-builder is confusing. This patch list the devices"},{"line_number":11,"context_line":"in order of (region, zone, ip, device)."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"1. https://review.openstack.org/#/c/265461/"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a57f1b5_1c197079","line":11,"in_reply_to":"3a57f1b5_2fd43bea","updated":"2016-02-12 06:05:37.000000000","message":"It\u0027s a good idea! I\u0027ll do it soon:-)","commit_id":"5b6e8f1a6ade183637165718e0531ebcfa46eff9"}],"swift/cli/ringbuilder.py":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"36352136e97b32d275f0b61cea0ec2136474755f","unresolved":false,"context_lines":[{"line_number":472,"context_line":"            print(\u0027Devices:    id  region  zone      ip address  port  \u0027"},{"line_number":473,"context_line":"                  \u0027replication ip  replication port      name \u0027"},{"line_number":474,"context_line":"                  \u0027weight partitions balance flags meta\u0027)"},{"line_number":475,"context_line":"            for dev in builder._iter_devs():"},{"line_number":476,"context_line":"                flags \u003d \u0027DEL\u0027 if dev in builder._remove_devs else \u0027\u0027"},{"line_number":477,"context_line":"                print(\u0027         %5d %7d %5d %15s %5d %15s %17d %9s %6.02f \u0027"},{"line_number":478,"context_line":"                      \u0027%10s %7.02f %5s %s\u0027 %"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a57f1b5_baf067ff","side":"PARENT","line":475,"updated":"2016-02-12 00:20:52.000000000","message":"Can\u0027t we simplify the code to:\n\n  for dev in sorted(builer._iter_devs(), key\u003dlambda x:\n                    (x[\u0027region\u0027], x[\u0027zone\u0027], x[\u0027ip\u0027], x[\u0027device\u0027])):\n      flags \u003d \u0027DEL\u0027 if dev in builder._remove_devs else \u0027\u0027","commit_id":"b140d7d8b87db269e7f1205cfb52449b6285c3de"},{"author":{"_account_id":13390,"name":"Mingyu Li","email":"mingyu.li.cn@gmail.com","username":"Microwise"},"change_message_id":"d37cef7faff3c7a49aba6bed0f75146ffef25e38","unresolved":false,"context_lines":[{"line_number":472,"context_line":"            print(\u0027Devices:    id  region  zone      ip address  port  \u0027"},{"line_number":473,"context_line":"                  \u0027replication ip  replication port      name \u0027"},{"line_number":474,"context_line":"                  \u0027weight partitions balance flags meta\u0027)"},{"line_number":475,"context_line":"            for dev in builder._iter_devs():"},{"line_number":476,"context_line":"                flags \u003d \u0027DEL\u0027 if dev in builder._remove_devs else \u0027\u0027"},{"line_number":477,"context_line":"                print(\u0027         %5d %7d %5d %15s %5d %15s %17d %9s %6.02f \u0027"},{"line_number":478,"context_line":"                      \u0027%10s %7.02f %5s %s\u0027 %"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a57f1b5_43286b9a","side":"PARENT","line":475,"in_reply_to":"3a57f1b5_baf067ff","updated":"2016-02-12 06:05:37.000000000","message":"I think we can\u0027t, because the _iter_devs() is a generator and can\u0027t be used in sorted(). That\u0027s why I used a loop to generate the dev_list from it. I tried your syntax, but it did not work. But, as I\u0027m still a beginner in Python, do I miss something?","commit_id":"b140d7d8b87db269e7f1205cfb52449b6285c3de"},{"author":{"_account_id":18639,"name":"Marek Kaleta","email":"mk@m1k.cz","username":"mara"},"change_message_id":"91b6a3cf42b9abd85df7295772fbe914fb7258ac","unresolved":false,"context_lines":[{"line_number":484,"context_line":"            print(\u0027Devices:    id  region  zone      ip address  port  \u0027"},{"line_number":485,"context_line":"                  \u0027replication ip  replication port      name \u0027"},{"line_number":486,"context_line":"                  \u0027weight partitions balance flags meta\u0027)"},{"line_number":487,"context_line":"            for i in range(len(dev_list)):"},{"line_number":488,"context_line":"                print(\u0027         %5d %7d %5d %15s %5d %15s %17d %9s %6.02f \u0027"},{"line_number":489,"context_line":"                      \u0027%10s %7.02f %5s %s\u0027 %"},{"line_number":490,"context_line":"                      (dev_list[i][\u0027id\u0027], dev_list[i][\u0027region\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"5aef4532_0e8dd2d5","line":487,"updated":"2016-03-10 08:50:23.000000000","message":"I think you can use\n\nfor dev in sorted(builder._iter_devs(), key\u003dlambda x: (x[\u0027region\u0027], x[\u0027zone\u0027], x[\u0027ip\u0027], x[\u0027device\u0027])):\n\nas Matthew suggested. It will work for _iter_devs() generator, because first thing sorted does is to create new list from any iterable it got.","commit_id":"2a59be31ec8eddfdd800bba8e44eddea3d5c9b09"}]}
