)]}'
{"swift/common/manager.py":[{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"7df6fff027cc235180ddf7f90b4b0f6f69c25ed4","unresolved":false,"context_lines":[{"line_number":718,"context_line":"            if proc.stdout.closed:"},{"line_number":719,"context_line":"                output \u003d \u0027\u0027"},{"line_number":720,"context_line":"            else:"},{"line_number":721,"context_line":"                output \u003d proc.stdout.read().decode(\u0027utf8\u0027)"},{"line_number":722,"context_line":"                proc.stdout.close()"},{"line_number":723,"context_line":""},{"line_number":724,"context_line":"            if kwargs.get(\u0027once\u0027, False):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_74494630","line":721,"updated":"2019-08-14 02:26:13.000000000","message":"And if the output is not UTF-8, then what?","commit_id":"f3988382048b41d2b816e01789d80377a9c98757"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b8041ed482d55be5c15d9894254cda0ee9874a15","unresolved":false,"context_lines":[{"line_number":718,"context_line":"            if proc.stdout.closed:"},{"line_number":719,"context_line":"                output \u003d \u0027\u0027"},{"line_number":720,"context_line":"            else:"},{"line_number":721,"context_line":"                output \u003d proc.stdout.read().decode(\u0027utf8\u0027)"},{"line_number":722,"context_line":"                proc.stdout.close()"},{"line_number":723,"context_line":""},{"line_number":724,"context_line":"            if kwargs.get(\u0027once\u0027, False):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_72c49df5","line":721,"in_reply_to":"3fa7e38b_a6d41fea","updated":"2019-09-27 05:06:21.000000000","message":"WFM -- as long as I\u0027m getting a useful traceback instead of some crazy b\"...\" strings as I run down https://bugs.launchpad.net/swift/+bug/1844368, I\u0027m happy.","commit_id":"f3988382048b41d2b816e01789d80377a9c98757"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"e26824bb102f82e8f848e5cf4e8559eba11b590e","unresolved":false,"context_lines":[{"line_number":718,"context_line":"            if proc.stdout.closed:"},{"line_number":719,"context_line":"                output \u003d \u0027\u0027"},{"line_number":720,"context_line":"            else:"},{"line_number":721,"context_line":"                output \u003d proc.stdout.read().decode(\u0027utf8\u0027)"},{"line_number":722,"context_line":"                proc.stdout.close()"},{"line_number":723,"context_line":""},{"line_number":724,"context_line":"            if kwargs.get(\u0027once\u0027, False):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_ebcd305d","line":721,"in_reply_to":"7faddb67_74494630","updated":"2019-08-17 00:22:44.000000000","message":"We\u0027re hosed regardless -- either we blow up here, or we blow up at the print():\n\n\u003e\u003e\u003e print(b\u0027\\xff\u0027.decode(\u0027utf8\u0027, \u0027surrogateescape\u0027))\nTraceback (most recent call last):\n  File \"\u003cstdin\u003e\", line 1, in \u003cmodule\u003e\nUnicodeEncodeError: \u0027utf-8\u0027 codec can\u0027t encode character \u0027\\udcff\u0027 in position 0: surrogates not allowed\n\nI guess *maybe* this would be one of those places where errors\u003d\u0027replace\u0027 might be tolerable? But I really hate losing information like that...","commit_id":"f3988382048b41d2b816e01789d80377a9c98757"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"57596056883b3e93ef1f9215561c43e4a400f4a6","unresolved":false,"context_lines":[{"line_number":718,"context_line":"            if proc.stdout.closed:"},{"line_number":719,"context_line":"                output \u003d \u0027\u0027"},{"line_number":720,"context_line":"            else:"},{"line_number":721,"context_line":"                output \u003d proc.stdout.read().decode(\u0027utf8\u0027)"},{"line_number":722,"context_line":"                proc.stdout.close()"},{"line_number":723,"context_line":""},{"line_number":724,"context_line":"            if kwargs.get(\u0027once\u0027, False):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_a6d41fea","line":721,"in_reply_to":"7faddb67_ebcd305d","updated":"2019-09-26 22:12:09.000000000","message":"Would backslashreplace be an acceptable compromise? Requires if six.PY3 but otherwise it preserves the information for the operator, e.g. the screwy name of an object or metadata.","commit_id":"f3988382048b41d2b816e01789d80377a9c98757"}]}
