)]}'
{"nova/virt/libvirt/connection.py":[{"author":{"_account_id":1812,"name":"p-draigbrady","email":"P@draigBrady.com","username":"p-draigbrady"},"change_message_id":"6e3af9c5855f445f31a4870f2e6d9fa0428e66b4","unresolved":false,"context_lines":[{"line_number":1093,"context_line":"                if not os.path.exists(base):"},{"line_number":1094,"context_line":"                    with utils.remove_path_on_error(base):"},{"line_number":1095,"context_line":"                        print \u0027Args: %s\u0027 % repr(args)"},{"line_number":1096,"context_line":"                        print \u0027KWargs: %s\u0027 % repr(kwargs)"},{"line_number":1097,"context_line":"                        fn(target\u003dbase, *args, **kwargs)"},{"line_number":1098,"context_line":""},{"line_number":1099,"context_line":"            if cow or not generating:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAHX%2F%2F9Ig%3D","line":1096,"updated":"2012-05-11 09:16:44.000000000","message":"Debugging","commit_id":"4fb77ebe419158ed6d15cafb7e8ee8f8510c1b6b"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"1bf776002cd509d69096c24f88305f2052ff27c6","unresolved":false,"context_lines":[{"line_number":1093,"context_line":"                if not os.path.exists(base):"},{"line_number":1094,"context_line":"                    with utils.remove_path_on_error(base):"},{"line_number":1095,"context_line":"                        print \u0027Args: %s\u0027 % repr(args)"},{"line_number":1096,"context_line":"                        print \u0027KWargs: %s\u0027 % repr(kwargs)"},{"line_number":1097,"context_line":"                        fn(target\u003dbase, *args, **kwargs)"},{"line_number":1098,"context_line":""},{"line_number":1099,"context_line":"            if cow or not generating:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAHX%2F%2F9HY%3D","line":1096,"in_reply_to":"AAAAHX%2F%2F9Ig%3D","updated":"2012-05-11 11:59:58.000000000","message":"Doh.","commit_id":"4fb77ebe419158ed6d15cafb7e8ee8f8510c1b6b"}],"nova/virt/libvirt/imagecache.py":[{"author":{"_account_id":1812,"name":"p-draigbrady","email":"P@draigBrady.com","username":"p-draigbrady"},"change_message_id":"6e3af9c5855f445f31a4870f2e6d9fa0428e66b4","unresolved":false,"context_lines":[{"line_number":314,"context_line":"                os.remove(base_file)"},{"line_number":315,"context_line":"                info_file \u003d virtutils.get_info_filename(base_file)"},{"line_number":316,"context_line":"                if os.path.exists(info_file):"},{"line_number":317,"context_line":"                    os.remove(info_file)"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"            except OSError, e:"},{"line_number":320,"context_line":"                LOG.error(_(\u0027Failed to remove %(base_file)s, \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAHX%2F%2F9IU%3D","line":317,"updated":"2012-05-11 09:16:44.000000000","message":"This is a little racy.\nIt\u0027s best to use utils.delete_if_exists() anyway","commit_id":"4fb77ebe419158ed6d15cafb7e8ee8f8510c1b6b"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"1bf776002cd509d69096c24f88305f2052ff27c6","unresolved":false,"context_lines":[{"line_number":314,"context_line":"                os.remove(base_file)"},{"line_number":315,"context_line":"                info_file \u003d virtutils.get_info_filename(base_file)"},{"line_number":316,"context_line":"                if os.path.exists(info_file):"},{"line_number":317,"context_line":"                    os.remove(info_file)"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"            except OSError, e:"},{"line_number":320,"context_line":"                LOG.error(_(\u0027Failed to remove %(base_file)s, \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAHX%2F%2F9HU%3D","line":317,"in_reply_to":"AAAAHX%2F%2F9IU%3D","updated":"2012-05-11 11:59:58.000000000","message":"Done","commit_id":"4fb77ebe419158ed6d15cafb7e8ee8f8510c1b6b"}],"nova/virt/libvirt/imagescorer.py":[{"author":{"_account_id":1812,"name":"p-draigbrady","email":"P@draigBrady.com","username":"p-draigbrady"},"change_message_id":"6e3af9c5855f445f31a4870f2e6d9fa0428e66b4","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        \"\"\""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        return float(count) / float(total)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAHX%2F%2F9IQ%3D","line":35,"updated":"2012-05-11 09:16:44.000000000","message":"Shouldn\u0027t you protect against division by zero if no instances currently running?\n\nI\u0027d comment that the range is 0 .. 1 also","commit_id":"4fb77ebe419158ed6d15cafb7e8ee8f8510c1b6b"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"1bf776002cd509d69096c24f88305f2052ff27c6","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        \"\"\""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        return float(count) / float(total)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAHX%2F%2F9HQ%3D","line":35,"in_reply_to":"AAAAHX%2F%2F9IQ%3D","updated":"2012-05-11 11:59:58.000000000","message":"Done","commit_id":"4fb77ebe419158ed6d15cafb7e8ee8f8510c1b6b"}]}
