)]}'
{"swift/common/request_helpers.py":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"26939dfa4f6c1fe7f00f9197817776ea61556de1","unresolved":false,"context_lines":[{"line_number":515,"context_line":"                    \u0027Too many bytes for %(name)s; truncating in \u0027"},{"line_number":516,"context_line":"                    \u0027%(seg)s with %(left)d bytes left\u0027 %"},{"line_number":517,"context_line":"                    {\u0027name\u0027: self.name, \u0027seg\u0027: seg_name,"},{"line_number":518,"context_line":"                     \u0027left\u0027: -bytes_left})"},{"line_number":519,"context_line":""},{"line_number":520,"context_line":"        if bytes_left:"},{"line_number":521,"context_line":"            raise SegmentError(\u0027Expected another %d bytes for %s; \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_caae0f2d","line":518,"updated":"2018-04-12 23:49:38.000000000","message":"Other option would have been to use abs:\n\n  \u0027left\u0027: abs(bytes_left)})\n\nBut your way seems to work too :)","commit_id":"f1bbb5f980a56846b12e37686756b2a77f5fcbad"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"7bd638373c4c2bd01afe66de4ace7577d07b52ec","unresolved":false,"context_lines":[{"line_number":515,"context_line":"                    \u0027Too many bytes for %(name)s; truncating in \u0027"},{"line_number":516,"context_line":"                    \u0027%(seg)s with %(left)d bytes left\u0027 %"},{"line_number":517,"context_line":"                    {\u0027name\u0027: self.name, \u0027seg\u0027: seg_name,"},{"line_number":518,"context_line":"                     \u0027left\u0027: -bytes_left})"},{"line_number":519,"context_line":""},{"line_number":520,"context_line":"        if bytes_left:"},{"line_number":521,"context_line":"            raise SegmentError(\u0027Expected another %d bytes for %s; \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_6abd8300","line":518,"range":{"start_line":518,"start_character":30,"end_line":518,"end_character":40},"updated":"2018-04-12 23:15:37.000000000","message":"okay, this took me a bit, but I\u0027m convinced","commit_id":"f1bbb5f980a56846b12e37686756b2a77f5fcbad"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c7be1f578fc85e2d4792e2f1a64a8110388fb569","unresolved":false,"context_lines":[{"line_number":515,"context_line":"                    \u0027Too many bytes for %(name)s; truncating in \u0027"},{"line_number":516,"context_line":"                    \u0027%(seg)s with %(left)d bytes left\u0027 %"},{"line_number":517,"context_line":"                    {\u0027name\u0027: self.name, \u0027seg\u0027: seg_name,"},{"line_number":518,"context_line":"                     \u0027left\u0027: -bytes_left})"},{"line_number":519,"context_line":""},{"line_number":520,"context_line":"        if bytes_left:"},{"line_number":521,"context_line":"            raise SegmentError(\u0027Expected another %d bytes for %s; \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_4a943f37","line":518,"range":{"start_line":518,"start_character":30,"end_line":518,"end_character":40},"in_reply_to":"bf659307_6abd8300","updated":"2018-04-12 23:27:53.000000000","message":"Yeah, me too. I was tempted to drop the deduction above and use\n\n len(chunk) - bytes_left\n\nbut I didn\u0027t feel like digging around to see if there\u0027s any way to get a generator to recover after throwing an exception.","commit_id":"f1bbb5f980a56846b12e37686756b2a77f5fcbad"}]}
