)]}'
{"ironicclient/v1/node_shell.py":[{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"d826a6bc92b065cec91ed68df5195a47f7d240f2","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        params[\u0027detail\u0027] \u003d args.detail"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    nodes \u003d cc.node.list(**params)"},{"line_number":101,"context_line":"    field_labels \u003d [\u0027UUID\u0027, \u0027Instance UUID\u0027, \u0027Power State\u0027,"},{"line_number":102,"context_line":"                    \u0027Provisioning State\u0027, \u0027Maintenance\u0027]"},{"line_number":103,"context_line":"    fields \u003d [\u0027uuid\u0027, \u0027instance_uuid\u0027, \u0027power_state\u0027,"},{"line_number":104,"context_line":"              \u0027provision_state\u0027, \u0027maintenance\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_cd4002a5","line":101,"updated":"2014-08-07 20:37:44.000000000","message":"Since you\u0027ve added module-level FIELDS, FIELD_LABELS for detail view, I think it would be\nbetter to define the list-view fields, field_labels also at the module level,\nand with a clearer name.","commit_id":"70a9ad30def19da3e429669b800ba4e354277a42"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"d826a6bc92b065cec91ed68df5195a47f7d240f2","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    if args.detail:"},{"line_number":106,"context_line":"        cliutils.print_list(nodes, FIELDS, FIELD_LABELS, sortby_index\u003dNone)"},{"line_number":107,"context_line":"    else:"},{"line_number":108,"context_line":"        cliutils.print_list(nodes, fields, field_labels, sortby_index\u003dNone)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"@cliutils.arg("}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_ed0ea68e","line":108,"updated":"2014-08-07 20:37:44.000000000","message":"It\u0027s a little odd seeing these two lines with one CAPS and one lowercase.\nThe variable names should actually be different.","commit_id":"70a9ad30def19da3e429669b800ba4e354277a42"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"9d346aaf016a2a006ceb58c09202b45072d898df","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        params[\u0027detail\u0027] \u003d args.detail"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    nodes \u003d cc.node.list(**params)"},{"line_number":107,"context_line":"    if args.detail:"},{"line_number":108,"context_line":"        cliutils.print_list(nodes, FIELDS, FIELD_LABELS, sortby_index\u003dNone)"},{"line_number":109,"context_line":"    else:"},{"line_number":110,"context_line":"        cliutils.print_list(nodes,"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_57fd316c","line":107,"updated":"2014-08-08 20:54:20.000000000","message":"IMBW, but I don\u0027t think this is a bool here...","commit_id":"596edb37a3277e2d818f6f296a0f9bc9926ce9ea"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"0b6757c0319290d7888798d369f52a82f0a66dd4","unresolved":false,"context_lines":[{"line_number":87,"context_line":"@cliutils.arg("},{"line_number":88,"context_line":"    \u0027--detail\u0027,"},{"line_number":89,"context_line":"    metavar\u003d\u0027\u003cdetail\u003e\u0027,"},{"line_number":90,"context_line":"    choices\u003d[\u0027true\u0027, \u0027True\u0027, \u0027false\u0027, \u0027False\u0027],"},{"line_number":91,"context_line":"    help\u003d\"Show detailed information about nodes: \u0027true\u0027 or \u0027false\u0027\")"},{"line_number":92,"context_line":"def do_node_list(cc, args):"},{"line_number":93,"context_line":"    \"\"\"List nodes which are registered with the Ironic service.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_f34d59c6","line":90,"updated":"2014-08-11 08:51:12.000000000","message":"nit: I know maintenance and associated is doing same, but there\u0027s a decorator for boolean values :(\n\ne.g:\n\n @cliutils.arg(\n     \u0027--detail\u0027,\n     dest\u003d\u0027detail\u0027,\n     action\u003d\u0027store_true\u0027,\n     default\u003dFalse,\n     help\u003d\"Show detailed information about nodes\")\n\nAnd the CLI would look like:\n\n $ ironic node-list --detail","commit_id":"2d28db6565ef3f10c76a7f7dfef00eb58b74185c"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"785784c369e968cc26d768132faa45f2a8b1255d","unresolved":false,"context_lines":[{"line_number":87,"context_line":"@cliutils.arg("},{"line_number":88,"context_line":"    \u0027--detail\u0027,"},{"line_number":89,"context_line":"    metavar\u003d\u0027\u003cdetail\u003e\u0027,"},{"line_number":90,"context_line":"    choices\u003d[\u0027true\u0027, \u0027True\u0027, \u0027false\u0027, \u0027False\u0027],"},{"line_number":91,"context_line":"    help\u003d\"Show detailed information about nodes: \u0027true\u0027 or \u0027false\u0027\")"},{"line_number":92,"context_line":"def do_node_list(cc, args):"},{"line_number":93,"context_line":"    \"\"\"List nodes which are registered with the Ironic service.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_d1368de7","line":90,"in_reply_to":"baada198_f34d59c6","updated":"2014-08-11 09:18:59.000000000","message":"(Ignore the first comment)\n\nActually... I looked a bit closer and in the case of associated or maintenance it makes sense to be as-is, because it can be None.\n\nE.g if maintenance is None it would should all the nodes in maintenance or not, if False only the nodes which are not in maintenance or True to show only the nodes in maintenance... (same for associated)\n\nIn case of \"detail\", it\u0027s either True or False. So I think we should use the right Boolean decorator here.\n\n@cliutils.arg(\n    \u0027--detail\u0027,\n    dest\u003d\u0027detail\u0027,\n    action\u003d\u0027store_true\u0027,\n    default\u003dFalse,\n    help\u003d\"Show detailed information about nodes\")","commit_id":"2d28db6565ef3f10c76a7f7dfef00eb58b74185c"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"785784c369e968cc26d768132faa45f2a8b1255d","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        params[\u0027detail\u0027] \u003d args.detail"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    nodes \u003d cc.node.list(**params)"},{"line_number":107,"context_line":"    if args.detail in (\u0027true\u0027, \u0027True\u0027):"},{"line_number":108,"context_line":"        cliutils.print_list(nodes, FIELDS, FIELD_LABELS, sortby_index\u003dNone)"},{"line_number":109,"context_line":"    else:"},{"line_number":110,"context_line":"        cliutils.print_list(nodes,"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_112d6590","line":107,"updated":"2014-08-11 09:18:59.000000000","message":"If you use the right decorator the value of args.detail will be a boolean so you don\u0027t need to compare strings here","commit_id":"2d28db6565ef3f10c76a7f7dfef00eb58b74185c"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"f58d8628d62ad099170ec3dce1c4012798661e7f","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        params[\u0027marker\u0027] \u003d args.marker"},{"line_number":102,"context_line":"    if args.limit is not None:"},{"line_number":103,"context_line":"        params[\u0027limit\u0027] \u003d args.limit"},{"line_number":104,"context_line":"    if args.detail is not None:"},{"line_number":105,"context_line":"        params[\u0027detail\u0027] \u003d args.detail"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    nodes \u003d cc.node.list(**params)"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_a5df0cd6","line":104,"updated":"2014-08-11 14:19:11.000000000","message":"So, this will never be None. It will either be True or False because you have set a default.","commit_id":"dda1046e1e811c4805c603cc422cf7d8ef6142da"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"18cac65241a24d655e7a2e596e18007a959c4bec","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        params[\u0027marker\u0027] \u003d args.marker"},{"line_number":102,"context_line":"    if args.limit is not None:"},{"line_number":103,"context_line":"        params[\u0027limit\u0027] \u003d args.limit"},{"line_number":104,"context_line":"    if args.detail is not None:"},{"line_number":105,"context_line":"        params[\u0027detail\u0027] \u003d args.detail"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    nodes \u003d cc.node.list(**params)"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_5797c338","line":104,"in_reply_to":"baada198_a5df0cd6","updated":"2014-08-11 14:34:29.000000000","message":"+1","commit_id":"dda1046e1e811c4805c603cc422cf7d8ef6142da"}]}
