)]}'
{"nova/utils.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"cb383f82868377e752e88766de7e1dcf982d5546","unresolved":false,"context_lines":[{"line_number":1082,"context_line":"                                     min_length\u003dmin_length,"},{"line_number":1083,"context_line":"                                     max_length\u003dmax_length)"},{"line_number":1084,"context_line":"    except (ValueError, TypeError) as exc:"},{"line_number":1085,"context_line":"        raise exception.InvalidInput(message\u003dexc.args[0])"},{"line_number":1086,"context_line":""},{"line_number":1087,"context_line":""},{"line_number":1088,"context_line":"def validate_integer(value, name, min_value\u003dNone, max_value\u003dNone):"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_b92ece40","line":1085,"updated":"2016-05-20 10:40:39.000000000","message":"This kind of change where you move to a common library, but keep an adapter, mostly just makes the code harder to read, as half the implementation is in tree and half out of tree.\n\nIt also assumes it is equivalent, which can\u0027t be assumed from this review.","commit_id":"8af791fb2da82e1657b7a27afc20e88cb03ef99c"}]}
