)]}'
{"glance/common/utils.py":[{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"10b6887785bb36a8c419532626f5d213a86b4a2b","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        \"\"\""},{"line_number":118,"context_line":"        self.fd \u003d fd"},{"line_number":119,"context_line":"        if hasattr(fd, \u0027read\u0027):"},{"line_number":120,"context_line":"            self.read \u003d cooperative_read(fd)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def __iter__(self):"},{"line_number":123,"context_line":"        return cooperative_iter(self.fd.__iter__())"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMH%2F%2F1VA%3D","side":"PARENT","line":120,"updated":"2012-11-20 21:01:23.000000000","message":"A note here recognizing that you\u0027re overwriting a method would be nice.","commit_id":"a3863105e3f1f84eb93e68ea61be9d8a777211f2"},{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"37cdf358eb8958eebe2c1e7259be2315014dc2f6","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        \"\"\""},{"line_number":118,"context_line":"        self.fd \u003d fd"},{"line_number":119,"context_line":"        if hasattr(fd, \u0027read\u0027):"},{"line_number":120,"context_line":"            self.read \u003d cooperative_read(fd)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def __iter__(self):"},{"line_number":123,"context_line":"        return cooperative_iter(self.fd.__iter__())"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMH%2F%2F1U0%3D","side":"PARENT","line":120,"in_reply_to":"AAAAMH%2F%2F1VA%3D","updated":"2012-11-20 21:11:43.000000000","message":"Done","commit_id":"a3863105e3f1f84eb93e68ea61be9d8a777211f2"}],"glance/tests/unit/test_utils.py":[{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"10b6887785bb36a8c419532626f5d213a86b4a2b","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def test_cooperative_reader_of_iterator(self):"},{"line_number":54,"context_line":"        \"\"\"Ensure cooperative reader supports iterator backends too\"\"\""},{"line_number":55,"context_line":"        def iterator():"},{"line_number":56,"context_line":"            for letter in \u0027abcdefgh\u0027:"},{"line_number":57,"context_line":"                yield letter * 3"},{"line_number":58,"context_line":"        reader \u003d utils.CooperativeReader(iterator())"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMH%2F%2F1VE%3D","line":55,"updated":"2012-11-20 21:01:23.000000000","message":"I don\u0027t think you need to define such a heavyweight function here (and isn\u0027t this a generator, not an iterator?). Why don\u0027t you just pass a list into CooperativeReader?","commit_id":"90f14a8ec30bd07eb402620331ddfcebb42d2654"},{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"37cdf358eb8958eebe2c1e7259be2315014dc2f6","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def test_cooperative_reader_of_iterator(self):"},{"line_number":54,"context_line":"        \"\"\"Ensure cooperative reader supports iterator backends too\"\"\""},{"line_number":55,"context_line":"        def iterator():"},{"line_number":56,"context_line":"            for letter in \u0027abcdefgh\u0027:"},{"line_number":57,"context_line":"                yield letter * 3"},{"line_number":58,"context_line":"        reader \u003d utils.CooperativeReader(iterator())"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMH%2F%2F1U4%3D","line":55,"in_reply_to":"AAAAMH%2F%2F1VE%3D","updated":"2012-11-20 21:11:43.000000000","message":"True. I had done that initially, but was then afraid there would be something extra in the list interface that I didn\u0027t want CooperativeReader to secretly depend on.","commit_id":"90f14a8ec30bd07eb402620331ddfcebb42d2654"}]}
