)]}'
{"nova/test.py":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"e341b816d2063099c018b963a7327d4d0251b037","unresolved":false,"context_lines":[{"line_number":293,"context_line":""},{"line_number":294,"context_line":"        def sort(what):"},{"line_number":295,"context_line":"            return sorted(what,"},{"line_number":296,"context_line":"                          key\u003dsort_key)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        def inner(expected, observed):"},{"line_number":299,"context_line":"            if isinstance(expected, dict) and isinstance(observed, dict):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_74088528","line":296,"updated":"2015-07-02 16:28:32.000000000","message":"Are you sure that the behaviour will be the same in Python 2 and 3 ?","commit_id":"5eea87a4937aafb073d585344606d0d736dc996a"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"66fd0deac68beca7da8541afeef3ccfa72715f26","unresolved":false,"context_lines":[{"line_number":293,"context_line":""},{"line_number":294,"context_line":"        def sort(what):"},{"line_number":295,"context_line":"            return sorted(what,"},{"line_number":296,"context_line":"                          key\u003dsort_key)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        def inner(expected, observed):"},{"line_number":299,"context_line":"            if isinstance(expected, dict) and isinstance(observed, dict):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_148b3969","line":296,"in_reply_to":"ba3cc151_74088528","updated":"2015-07-02 16:31:53.000000000","message":"This function is used to compare two values. At the end, values must be equal. Since tests still pass, I don\u0027t think that I changed the behaviour here.","commit_id":"5eea87a4937aafb073d585344606d0d736dc996a"}],"nova/tests/unit/test_utils.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"42204bb67adfbf8eb22db04d344573d30ae7d662","unresolved":false,"context_lines":[{"line_number":213,"context_line":"        value \u003d hashlib.md5(base_str).hexdigest()"},{"line_number":214,"context_line":"        self.assertEqual("},{"line_number":215,"context_line":"            value, utils.get_hash_str(base_str))"},{"line_number":216,"context_line":"        self.assertEqual("},{"line_number":217,"context_line":"            value, utils.get_hash_str(base_unicode))"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    def test_use_rootwrap(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a41bdd9_7ba7f6a6","line":216,"updated":"2015-07-16 09:29:59.000000000","message":"part of me wants to see a separate test case for unicode, but thats a nit.","commit_id":"0e5cefcf1d4483e6792e916c81f31c46c6a6e60b"}],"nova/utils.py":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"e341b816d2063099c018b963a7327d4d0251b037","unresolved":false,"context_lines":[{"line_number":578,"context_line":"        __import__(module)"},{"line_number":579,"context_line":"        # Retrieve module information using pyclbr"},{"line_number":580,"context_line":"        module_data \u003d pyclbr.readmodule_ex(module)"},{"line_number":581,"context_line":"        for key, value in module_data.items():"},{"line_number":582,"context_line":"            # set the decorator for the class methods"},{"line_number":583,"context_line":"            if isinstance(value, pyclbr.Class):"},{"line_number":584,"context_line":"                clz \u003d importutils.import_class(\"%s.%s\" % (module, key))"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_4f7b7628","line":581,"updated":"2015-07-02 16:28:32.000000000","message":"Ok, this is better, but this has __nothing__ to do with your Python 3 patch, so it should not be there.","commit_id":"5eea87a4937aafb073d585344606d0d736dc996a"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"66fd0deac68beca7da8541afeef3ccfa72715f26","unresolved":false,"context_lines":[{"line_number":578,"context_line":"        __import__(module)"},{"line_number":579,"context_line":"        # Retrieve module information using pyclbr"},{"line_number":580,"context_line":"        module_data \u003d pyclbr.readmodule_ex(module)"},{"line_number":581,"context_line":"        for key, value in module_data.items():"},{"line_number":582,"context_line":"            # set the decorator for the class methods"},{"line_number":583,"context_line":"            if isinstance(value, pyclbr.Class):"},{"line_number":584,"context_line":"                clz \u003d importutils.import_class(\"%s.%s\" % (module, key))"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_b4d36d5f","line":581,"in_reply_to":"ba3cc151_4f7b7628","updated":"2015-07-02 16:31:53.000000000","message":"Yes, it\u0027s a minor change unrelated to Python 3. I prefer to keep it, it\u0027s a minor refactoring, I\u0027m not interested to write a dedicated patch.","commit_id":"5eea87a4937aafb073d585344606d0d736dc996a"}]}
