)]}'
{"swift/common/db_replicator.py":[{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"4aa96329f95a32505a3063e78162832ab3ce405d","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"def roundrobin_datadirs(datadirs):"},{"line_number":69,"context_line":"    \"\"\""},{"line_number":70,"context_line":"    Generator to walk the data dirs in a round robin manner, evenly"},{"line_number":71,"context_line":"    hitting each device on the system, and yielding any .db files"},{"line_number":72,"context_line":"    found (in their proper places)."},{"line_number":73,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMH%2F%2F87E%3D","line":70,"updated":"2012-11-14 15:50:24.000000000","message":"maybe I am misreading the code but what round robin about the walking of the devices? This seem to be done in a random way.","commit_id":"24747f831eebdd145059c3368c9d6747eafe01a3"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"d01d13fa376a6b227a092eb38d40abb1f6f8d7b6","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            try:"},{"line_number":105,"context_line":"                yield it.next()"},{"line_number":106,"context_line":"            except StopIteration:"},{"line_number":107,"context_line":"                its.remove(it)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"class ReplConnection(BufferedHTTPConnection):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMH%2F%2F8hM%3D","line":107,"updated":"2012-11-14 19:28:09.000000000","message":"I think this whole while loop is equivalent to\n\n  return itertools.chain(*its)","commit_id":"4ff153e692dee9de56bbaa26d709e119c57112c3"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"b1153dcab5a0a45847c40eb9bc5b41eeba541c63","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            try:"},{"line_number":105,"context_line":"                yield it.next()"},{"line_number":106,"context_line":"            except StopIteration:"},{"line_number":107,"context_line":"                its.remove(it)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"class ReplConnection(BufferedHTTPConnection):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMH%2F%2F8bY%3D","line":107,"in_reply_to":"AAAAMH%2F%2F8eM%3D","updated":"2012-11-14 19:58:42.000000000","message":"Yep, you\u0027re right. Ignore me.","commit_id":"4ff153e692dee9de56bbaa26d709e119c57112c3"},{"author":{"_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},"change_message_id":"beae72204eab3d420a3c5ca819f7cc7ddd15856c","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            try:"},{"line_number":105,"context_line":"                yield it.next()"},{"line_number":106,"context_line":"            except StopIteration:"},{"line_number":107,"context_line":"                its.remove(it)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"class ReplConnection(BufferedHTTPConnection):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMH%2F%2F8eM%3D","line":107,"in_reply_to":"AAAAMH%2F%2F8hM%3D","updated":"2012-11-14 19:44:04.000000000","message":"chain() will exhaust each iterable in turn.  The while loop here yields one from each iterator until they\u0027re all exhausted.\n\nI think using chain() would lose the round-robin-ness.","commit_id":"4ff153e692dee9de56bbaa26d709e119c57112c3"}]}
