)]}'
{"README.rst":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"8acbfbf3ec61fce11747f14db29fcdf4e9fabb83","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        flavor-key          Set or unset extra_spec for a flavor."},{"line_number":118,"context_line":"        flavor-access-list  Print access information about the given flavor."},{"line_number":119,"context_line":"        flavor-access-add   Add flavor access for the given tenant."},{"line_number":120,"context_line":"        flavor-access-removeRemove flavor access for the given tenant."},{"line_number":121,"context_line":"        floating-ip-create  Allocate a floating IP for the current tenant."},{"line_number":122,"context_line":"        floating-ip-delete  De-allocate a floating IP."},{"line_number":123,"context_line":"        floating-ip-list    List floating ips for this tenant."}],"source_content_type":"text/x-rst","patch_set":1,"id":"AAAAOn%2F%2FU%2F8%3D","line":120,"updated":"2013-05-14 15:13:58.000000000","message":"Please move \"Remove flavor …\" to the next line, like we see for floating-ip-pool-list.","commit_id":"ade6c3ee38dd7501f217f58b7a965e4e02ca5699"},{"author":{"_account_id":4458,"name":"Shane Wang","email":"shane.wang@intel.com","username":"shane-wang"},"change_message_id":"77c5cb73008749311f9be72ce204fcae6b43861c","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        flavor-key          Set or unset extra_spec for a flavor."},{"line_number":118,"context_line":"        flavor-access-list  Print access information about the given flavor."},{"line_number":119,"context_line":"        flavor-access-add   Add flavor access for the given tenant."},{"line_number":120,"context_line":"        flavor-access-removeRemove flavor access for the given tenant."},{"line_number":121,"context_line":"        floating-ip-create  Allocate a floating IP for the current tenant."},{"line_number":122,"context_line":"        floating-ip-delete  De-allocate a floating IP."},{"line_number":123,"context_line":"        floating-ip-list    List floating ips for this tenant."}],"source_content_type":"text/x-rst","patch_set":1,"id":"AAAAO3%2F%2F%2F5g%3D","line":120,"in_reply_to":"AAAAOn%2F%2FU%2F8%3D","updated":"2013-05-15 07:44:21.000000000","message":"Done","commit_id":"ade6c3ee38dd7501f217f58b7a965e4e02ca5699"}],"novaclient/utils.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"8acbfbf3ec61fce11747f14db29fcdf4e9fabb83","unresolved":false,"context_lines":[{"line_number":369,"context_line":"    if not is_uuid_like(val):"},{"line_number":370,"context_line":"        raise exceptions.CommandError("},{"line_number":371,"context_line":"                     \"error: Invalid tenant-id %s supplied\""},{"line_number":372,"context_line":"                       % val)"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"def _load_entry_point(ep_name, name\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FU%2Fc%3D","side":"PARENT","line":372,"updated":"2013-05-14 15:13:58.000000000","message":"While it makes sense to remove an unused function, I\u0027d sorta prefer that this be done in a separate patch.  Not a blocker for me, though…","commit_id":"892671173d2d74636febbeeadd392d4fb89ff10f"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"8acbfbf3ec61fce11747f14db29fcdf4e9fabb83","unresolved":false,"context_lines":[{"line_number":352,"context_line":"    Check whether a value is an integer."},{"line_number":353,"context_line":"    \"\"\""},{"line_number":354,"context_line":"    try:"},{"line_number":355,"context_line":"        val \u003d int(val)"},{"line_number":356,"context_line":"        return True"},{"line_number":357,"context_line":"    except:"},{"line_number":358,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FU%2Fo%3D","line":355,"updated":"2013-05-14 15:13:58.000000000","message":"I don\u0027t understand why we don\u0027t just use the int function itself, and catch the ValueError?","commit_id":"ade6c3ee38dd7501f217f58b7a965e4e02ca5699"},{"author":{"_account_id":4458,"name":"Shane Wang","email":"shane.wang@intel.com","username":"shane-wang"},"change_message_id":"77c5cb73008749311f9be72ce204fcae6b43861c","unresolved":false,"context_lines":[{"line_number":352,"context_line":"    Check whether a value is an integer."},{"line_number":353,"context_line":"    \"\"\""},{"line_number":354,"context_line":"    try:"},{"line_number":355,"context_line":"        val \u003d int(val)"},{"line_number":356,"context_line":"        return True"},{"line_number":357,"context_line":"    except:"},{"line_number":358,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAO3%2F%2F%2F4Q%3D","line":355,"in_reply_to":"AAAAOn%2F%2FU%2Fo%3D","updated":"2013-05-15 07:44:21.000000000","message":"Done","commit_id":"ade6c3ee38dd7501f217f58b7a965e4e02ca5699"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"8acbfbf3ec61fce11747f14db29fcdf4e9fabb83","unresolved":false,"context_lines":[{"line_number":354,"context_line":"    try:"},{"line_number":355,"context_line":"        val \u003d int(val)"},{"line_number":356,"context_line":"        return True"},{"line_number":357,"context_line":"    except:"},{"line_number":358,"context_line":"        return False"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FU%2Fg%3D","line":357,"updated":"2013-05-14 15:13:58.000000000","message":"At a minimum, we want to use \"except Exception\"; and for this, assuming we keep this function, I want to see \"except ValueError\".","commit_id":"ade6c3ee38dd7501f217f58b7a965e4e02ca5699"},{"author":{"_account_id":4458,"name":"Shane Wang","email":"shane.wang@intel.com","username":"shane-wang"},"change_message_id":"77c5cb73008749311f9be72ce204fcae6b43861c","unresolved":false,"context_lines":[{"line_number":354,"context_line":"    try:"},{"line_number":355,"context_line":"        val \u003d int(val)"},{"line_number":356,"context_line":"        return True"},{"line_number":357,"context_line":"    except:"},{"line_number":358,"context_line":"        return False"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAO3%2F%2F%2F4I%3D","line":357,"in_reply_to":"AAAAOn%2F%2FU%2Fg%3D","updated":"2013-05-15 07:44:21.000000000","message":"Done","commit_id":"ade6c3ee38dd7501f217f58b7a965e4e02ca5699"}],"novaclient/v1_1/flavors.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"8acbfbf3ec61fce11747f14db29fcdf4e9fabb83","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        body \u003d {"},{"line_number":163,"context_line":"            \"flavor\": {"},{"line_number":164,"context_line":"                \"name\": name,"},{"line_number":165,"context_line":"                \"ram\": int(ram),"},{"line_number":166,"context_line":"                \"vcpus\": int(vcpus),"},{"line_number":167,"context_line":"                \"disk\": int(disk),"},{"line_number":168,"context_line":"                \"id\": flavorid,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FU%2B4%3D","line":165,"updated":"2013-05-14 15:13:58.000000000","message":"See, now we\u0027re calling int() twice.  How about if is_int() becomes try_int(), and it returns the int or False; then in the above, you can use logic like:\n\n    ram \u003d try_int(ram)\n    if ram is False:\n        raise exceptions.CommandError(\"Ram must be an integer\")\n\nIn any case, I don\u0027t like the is_int() and is_float() implementations that you have currently in this patch.","commit_id":"ade6c3ee38dd7501f217f58b7a965e4e02ca5699"},{"author":{"_account_id":4458,"name":"Shane Wang","email":"shane.wang@intel.com","username":"shane-wang"},"change_message_id":"77c5cb73008749311f9be72ce204fcae6b43861c","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        body \u003d {"},{"line_number":163,"context_line":"            \"flavor\": {"},{"line_number":164,"context_line":"                \"name\": name,"},{"line_number":165,"context_line":"                \"ram\": int(ram),"},{"line_number":166,"context_line":"                \"vcpus\": int(vcpus),"},{"line_number":167,"context_line":"                \"disk\": int(disk),"},{"line_number":168,"context_line":"                \"id\": flavorid,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAO3%2F%2F%2F4E%3D","line":165,"in_reply_to":"AAAAOn%2F%2FU%2B4%3D","updated":"2013-05-15 07:44:21.000000000","message":"drop is_int() and is_float() implementation","commit_id":"ade6c3ee38dd7501f217f58b7a965e4e02ca5699"}]}
