)]}'
{"swift/common/splice.py":[{"author":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"change_message_id":"dc583f29933537575bec671febe3a627d029734d","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        try:"},{"line_number":39,"context_line":"            c_tee \u003d libc.tee"},{"line_number":40,"context_line":"        except AttributeError:"},{"line_number":41,"context_line":"            self._c_tee \u003d None"},{"line_number":42,"context_line":"            return"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_ac4d119c","line":40,"updated":"2014-12-12 20:59:14.000000000","message":"missing unit test coverage","commit_id":"2a0a8ae00f2d3b7db255b0905b063e930f824f3d"},{"author":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"change_message_id":"dc583f29933537575bec671febe3a627d029734d","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        try:"},{"line_number":118,"context_line":"            c_splice \u003d libc.splice"},{"line_number":119,"context_line":"        except AttributeError:"},{"line_number":120,"context_line":"            self._c_splice \u003d None"},{"line_number":121,"context_line":"            return"},{"line_number":122,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_8c521533","line":119,"updated":"2014-12-12 20:59:14.000000000","message":"missing unit test coverage","commit_id":"2a0a8ae00f2d3b7db255b0905b063e930f824f3d"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"01b5bf87c6b44192063bf79dc5f2e0e73409e941","unresolved":false,"context_lines":[{"line_number":172,"context_line":"            raise EnvironmentError(\u0027splice not available\u0027)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        if not isinstance(flags, (int, long)):"},{"line_number":175,"context_line":"            c_flags \u003d reduce(lambda a, b: a | b, flags, 0)"},{"line_number":176,"context_line":"        else:"},{"line_number":177,"context_line":"            c_flags \u003d flags"},{"line_number":178,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_f9b18b8f","line":175,"updated":"2014-11-25 20:01:55.000000000","message":"nit: use \"operator.or_\" here instead of a lambda; seems a little cleaner IMO","commit_id":"2a0a8ae00f2d3b7db255b0905b063e930f824f3d"},{"author":{"_account_id":13777,"name":"Nicolas Trangez","email":"ikke@nicolast.be","username":"nicolast"},"change_message_id":"4ac54bc7ecd3561c8a1a5f09b83b56ba4687032c","unresolved":false,"context_lines":[{"line_number":172,"context_line":"            raise EnvironmentError(\u0027splice not available\u0027)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        if not isinstance(flags, (int, long)):"},{"line_number":175,"context_line":"            c_flags \u003d reduce(lambda a, b: a | b, flags, 0)"},{"line_number":176,"context_line":"        else:"},{"line_number":177,"context_line":"            c_flags \u003d flags"},{"line_number":178,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_618de0d2","line":175,"in_reply_to":"5a890539_4c55844e","updated":"2014-12-14 12:54:47.000000000","message":"https://review.openstack.org/#/c/137307/1","commit_id":"2a0a8ae00f2d3b7db255b0905b063e930f824f3d"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"f6837ebb16c46026e10f4dc7e81967b9a1aaf996","unresolved":false,"context_lines":[{"line_number":172,"context_line":"            raise EnvironmentError(\u0027splice not available\u0027)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        if not isinstance(flags, (int, long)):"},{"line_number":175,"context_line":"            c_flags \u003d reduce(lambda a, b: a | b, flags, 0)"},{"line_number":176,"context_line":"        else:"},{"line_number":177,"context_line":"            c_flags \u003d flags"},{"line_number":178,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_4c55844e","line":175,"in_reply_to":"5a890539_f9b18b8f","updated":"2014-12-04 04:35:34.000000000","message":"Same can be said up in the Tee class.","commit_id":"2a0a8ae00f2d3b7db255b0905b063e930f824f3d"}],"swift/obj/diskfile.py":[{"author":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"change_message_id":"dc583f29933537575bec671febe3a627d029734d","unresolved":false,"context_lines":[{"line_number":1038,"context_line":"                # it, so writing won\u0027t block either."},{"line_number":1039,"context_line":"                (hashed, _1, _2) \u003d splice(hash_rpipe, None, md5_sockfd, None,"},{"line_number":1040,"context_line":"                                          bytes_in_pipe, splice.SPLICE_F_MORE)"},{"line_number":1041,"context_line":"                if hashed !\u003d bytes_in_pipe:"},{"line_number":1042,"context_line":"                    raise Exception(\"md5 socket didn\u0027t take all the data? \""},{"line_number":1043,"context_line":"                                    \"(tried to write %d, but wrote %d)\" %"},{"line_number":1044,"context_line":"                                    (bytes_in_pipe, hashed))"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_cc1edd6f","line":1041,"updated":"2014-12-12 20:59:14.000000000","message":"missing test coverage","commit_id":"2a0a8ae00f2d3b7db255b0905b063e930f824f3d"}]}
