)]}'
{"swift/common/exceptions.py":[{"author":{"_account_id":1009,"name":"Greg Lange","email":"greglange@gmail.com","username":"greglange"},"change_message_id":"ebcd35c792489b9ecca045f841c40a8299502d2a","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    pass"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"class DiskFileCollide(SwiftException):"},{"line_number":46,"context_line":"    pass"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOn%2F%2F%2BCI%3D","line":45,"updated":"2013-04-09 18:33:45.000000000","message":"DiskFileCollision would be a better name for this exception (but not a big deal).","commit_id":"56f96773823e6e291aeffeb5438bfd33386ea251"}],"swift/obj/server.py":[{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"67a870670cd3753aa9db829f3b53464366cb7b59","unresolved":false,"context_lines":[{"line_number":157,"context_line":"                self.metadata.update(read_metadata(mfp))"},{"line_number":158,"context_line":"        if \u0027name\u0027 in self.metadata:"},{"line_number":159,"context_line":"            if self.metadata[\u0027name\u0027] !\u003d self.name:"},{"line_number":160,"context_line":"                raise DiskFileError(\u0027illegal alias used\u0027)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def __iter__(self):"},{"line_number":163,"context_line":"        \"\"\"Returns an iterator over the data file.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOH%2F%2F4Ow%3D","line":160,"updated":"2013-03-22 13:52:11.000000000","message":"Perhaps worth making this a bit tighter in case we use DiskFileError for something else later? Like DiskFileAliasError?","commit_id":"c7eae0b9dde99da10f0208a63552bbfa09d56747"},{"author":{"_account_id":917,"name":"Chuck Thier","email":"cthier@gmail.com","username":"cthier"},"change_message_id":"812426d3cd0189195a96a500371454106b580ca5","unresolved":false,"context_lines":[{"line_number":157,"context_line":"                self.metadata.update(read_metadata(mfp))"},{"line_number":158,"context_line":"        if \u0027name\u0027 in self.metadata:"},{"line_number":159,"context_line":"            if self.metadata[\u0027name\u0027] !\u003d self.name:"},{"line_number":160,"context_line":"                raise DiskFileCollide(\u0027illegal alias used\u0027)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def __iter__(self):"},{"line_number":163,"context_line":"        \"\"\"Returns an iterator over the data file.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOH%2F%2F3Zg%3D","line":160,"updated":"2013-03-22 20:55:37.000000000","message":"I would like a bit of a more explicit message like \u0027client path doesn\u0027t match metadata path\u0027","commit_id":"b048841830f325d787cb919fb2d13d9ce4a372fc"},{"author":{"_account_id":2828,"name":"Michael Barton","email":"mike@weirdlooking.com","username":"redbo"},"change_message_id":"0a7a222b5019f058c78b0a2f42922dc5fff3dd59","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        if \u0027name\u0027 in self.metadata:"},{"line_number":159,"context_line":"            if self.metadata[\u0027name\u0027] !\u003d self.name:"},{"line_number":160,"context_line":"                self.logger.error(_(\u0027Client path {0} does not match path \u0027"},{"line_number":161,"context_line":"                                    \u0027stored in object metadata {1}\u0027.format("},{"line_number":162,"context_line":"                                    self.name, self.metadata[\u0027name\u0027])))"},{"line_number":163,"context_line":"                raise DiskFileCollide(\u0027Client path does not match path \u0027"},{"line_number":164,"context_line":"                                      \u0027stored in object metadata\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOH%2F%2Fy4w%3D","line":161,"updated":"2013-03-27 06:46:04.000000000","message":"the _() should be closed around the unformatted part of the string.  Also, I don\u0027t know, I kind of prefer to pass formatting arguments as the second parameter to logging methods, so the format doesn\u0027t have to happen if it\u0027s below the current log level.  But that\u0027s a little nit picky.","commit_id":"20021d762f58a97d50d496f71536a75cb588ad78"},{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"1f02c6b21f6b10a26c949f451744eee3445805bc","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                                  {\u0027client\u0027: self.name,"},{"line_number":163,"context_line":"                                   \u0027meta\u0027: self.metadata[\u0027name\u0027]})"},{"line_number":164,"context_line":"                raise DiskFileCollide(\u0027Client path does not match path \u0027"},{"line_number":165,"context_line":"                                      \u0027stored in object metadata\u0027)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def __iter__(self):"},{"line_number":168,"context_line":"        \"\"\"Returns an iterator over the data file.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAOn%2F%2F%2Ft8%3D","line":165,"updated":"2013-04-08 20:40:43.000000000","message":"add a \":raises DiskFileCollide: explanation...\" into the DiskFile docs","commit_id":"7dea2b32549279a91ed80914d9bbd785abb66dba"}],"test/unit/obj/test_server.py":[{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"da71265d5e911cc93bd5ff7220e16b5bb677a76b","unresolved":false,"context_lines":[{"line_number":1426,"context_line":"            object_server.storage_directory \u003d my_storage_directory"},{"line_number":1427,"context_line":"            object_server.check_object_creation \u003d my_check"},{"line_number":1428,"context_line":"            ts \u003d normalize_timestamp(time())"},{"line_number":1429,"context_line":"            print ts"},{"line_number":1430,"context_line":"            inbuf \u003d StringIO()"},{"line_number":1431,"context_line":"            errbuf \u003d StringIO()"},{"line_number":1432,"context_line":"            outbuf \u003d StringIO()"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOn%2F%2F%2BIk%3D","line":1429,"updated":"2013-04-09 17:40:39.000000000","message":"left a print here. oh and ts is never used anywhere so can just get rid of it","commit_id":"56f96773823e6e291aeffeb5438bfd33386ea251"},{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"da71265d5e911cc93bd5ff7220e16b5bb677a76b","unresolved":false,"context_lines":[{"line_number":1450,"context_line":"            self.assertEquals(errbuf.getvalue(), \u0027\u0027)"},{"line_number":1451,"context_line":"            self.assertEquals(outbuf.getvalue()[:4], \u0027201 \u0027)"},{"line_number":1452,"context_line":""},{"line_number":1453,"context_line":"            ts \u003d normalize_timestamp(time())"},{"line_number":1454,"context_line":"            inbuf \u003d StringIO()"},{"line_number":1455,"context_line":"            errbuf \u003d StringIO()"},{"line_number":1456,"context_line":"            outbuf \u003d StringIO()"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOn%2F%2F%2BIg%3D","line":1453,"updated":"2013-04-09 17:40:39.000000000","message":"same here","commit_id":"56f96773823e6e291aeffeb5438bfd33386ea251"}]}
