)]}'
{"swift/common/bufferedhttp.py":[{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"17f1e838d89d227dcfe951c934657c67a1ea50a8","unresolved":false,"context_lines":[{"line_number":159,"context_line":"                    # close the connection as protocol synchronisation is"},{"line_number":160,"context_line":"                    # probably lost"},{"line_number":161,"context_line":"                    self.close()"},{"line_number":162,"context_line":"                    print((self.chunk_left, read_size, chunk))"},{"line_number":163,"context_line":"                    raise IncompleteRead(self._readline_buffer)"},{"line_number":164,"context_line":"                self.chunk_left -\u003d len(chunk)"},{"line_number":165,"context_line":"                if self.chunk_left \u003d\u003d 0:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_ecff2101","line":162,"updated":"2018-10-31 02:11:25.000000000","message":"print?","commit_id":"04896510864b8eae2e930746e5290303edb88bfc"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"17f1e838d89d227dcfe951c934657c67a1ea50a8","unresolved":false,"context_lines":[{"line_number":163,"context_line":"                    raise IncompleteRead(self._readline_buffer)"},{"line_number":164,"context_line":"                self.chunk_left -\u003d len(chunk)"},{"line_number":165,"context_line":"                if self.chunk_left \u003d\u003d 0:"},{"line_number":166,"context_line":"                    self.fp.read(2)"},{"line_number":167,"context_line":"                    self.chunk_left \u003d None"},{"line_number":168,"context_line":"            else:"},{"line_number":169,"context_line":"                chunk \u003d self.fp.readline(read_size)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_6f01c303","line":166,"updated":"2018-10-31 02:11:25.000000000","message":"You could\u0027ve kept   # discard the trailing \\r\\n","commit_id":"04896510864b8eae2e930746e5290303edb88bfc"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b561c77f5219526aa7b13948fdd5be68fce7c10c","unresolved":false,"context_lines":[{"line_number":163,"context_line":"                    raise IncompleteRead(self._readline_buffer)"},{"line_number":164,"context_line":"                self.chunk_left -\u003d len(chunk)"},{"line_number":165,"context_line":"                if self.chunk_left \u003d\u003d 0:"},{"line_number":166,"context_line":"                    self.fp.read(2)"},{"line_number":167,"context_line":"                    self.chunk_left \u003d None"},{"line_number":168,"context_line":"            else:"},{"line_number":169,"context_line":"                chunk \u003d self.fp.readline(read_size)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_e05299da","line":166,"in_reply_to":"3f79a3b5_6f01c303","updated":"2018-11-01 23:05:40.000000000","message":"Done.\n\nPrior to pushing up patchset 1, I had something like\n\n crnl \u003d self.fp.read(2)\n assert crnl \u003d\u003d b\u0027\\r\\n\u0027\n\nwhich was nice and explicit, but I wound up dropping it for fear of making things too brittle. stdlib doesn\u0027t have any check on it, anyway.","commit_id":"04896510864b8eae2e930746e5290303edb88bfc"}],"test/unit/obj/test_ssync_sender.py":[{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"17f1e838d89d227dcfe951c934657c67a1ea50a8","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                \u0027%x\\r\\n%s\\r\\n0\\r\\n\\r\\n\u0027 % (len(chunk_body), chunk_body))"},{"line_number":63,"context_line":"        self.chunked \u003d True"},{"line_number":64,"context_line":"        self.hit_EOF \u003d False"},{"line_number":65,"context_line":"        self._readline_buffer \u003d \u0027\u0027"},{"line_number":66,"context_line":"        self.chunk_left \u003d None"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def read(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_0f2b6f7c","line":65,"updated":"2018-10-31 02:11:25.000000000","message":"In the original it\u0027s a binary empty string b\u0027\u0027.\nWhy not call super().__init__ or something? I don\u0027t insist, but these mismatching initializers may cause tests passing where they should not in the future.","commit_id":"04896510864b8eae2e930746e5290303edb88bfc"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b561c77f5219526aa7b13948fdd5be68fce7c10c","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                \u0027%x\\r\\n%s\\r\\n0\\r\\n\\r\\n\u0027 % (len(chunk_body), chunk_body))"},{"line_number":63,"context_line":"        self.chunked \u003d True"},{"line_number":64,"context_line":"        self.hit_EOF \u003d False"},{"line_number":65,"context_line":"        self._readline_buffer \u003d \u0027\u0027"},{"line_number":66,"context_line":"        self.chunk_left \u003d None"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def read(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_c0175def","line":65,"in_reply_to":"3f79a3b5_0f2b6f7c","updated":"2018-11-01 23:05:40.000000000","message":"\u003e In the original it\u0027s a binary empty string b\u0027\u0027.\n\nDone; good catch.\n\n\u003e Why not call super().__init__ or something?\n\nYeah, I wasn\u0027t entirely happy with this either. I figured there must\u0027ve been some reason the fake doesn\u0027t already do that; maybe something to do with the fact that self.fp isn\u0027t always set? Ugh, yeah, looks like the BufferedHTTPResponse expects a socket and sets self.fp itself... bleh.","commit_id":"04896510864b8eae2e930746e5290303edb88bfc"}]}
