)]}'
{"tools/coding-checks.py":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"6b9263f477db336aeca2ac4123f924005605aba3","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import argparse"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from neutron.agent.linux import utils"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"def parse_args():"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_fb609b02","line":15,"updated":"2015-03-09 23:24:49.000000000","message":"This tool should not depend on Neutron IMO, it should be self-sufficient.","commit_id":"c15a94fee26672ce18269ea4e9191524e76d2ecc"}],"tools/coding-checks.sh":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"a7d34b42886df419c0be52bee88a6cbadbe9ba22","unresolved":false,"context_lines":[{"line_number":3,"context_line":"set -eu"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"usage () {"},{"line_number":6,"context_line":"  echo \"Usage: $0 [-FP]...\""},{"line_number":7,"context_line":"  echo \"Run Neutron\u0027s coding check(s). By default, all checks are run.\""},{"line_number":8,"context_line":"  echo \"\""},{"line_number":9,"context_line":"  echo \"  -F, --flake8 [\u003cbasecommit\u003e] Run flake8 check on the entire neutron module or just files changed in basecommit (e.g. HEAD~1)\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"9a80dd14_8b15d641","line":6,"updated":"2015-03-06 19:39:21.000000000","message":"this is misleading: if I do:\n\nsh tools/coding-checks.sh -FP\n\nyou\u0027ll get an error. I think you can keep [OPTION] or do:\n\n $0 [-F | --flake8] [-P | --pylint]","commit_id":"65b797f73386129be02974de0198f83b4eec55c2"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"a7d34b42886df419c0be52bee88a6cbadbe9ba22","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"usage () {"},{"line_number":6,"context_line":"  echo \"Usage: $0 [-FP]...\""},{"line_number":7,"context_line":"  echo \"Run Neutron\u0027s coding check(s). By default, all checks are run.\""},{"line_number":8,"context_line":"  echo \"\""},{"line_number":9,"context_line":"  echo \"  -F, --flake8 [\u003cbasecommit\u003e] Run flake8 check on the entire neutron module or just files changed in basecommit (e.g. HEAD~1)\""},{"line_number":10,"context_line":"  echo \"  -P, --pylint [\u003cbasecommit\u003e] Run pylint check on the entire neutron module or just files changed in basecommit (e.g. HEAD~1)\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"9a80dd14_283950f3","line":7,"updated":"2015-03-06 19:39:21.000000000","message":"run -\u003e performed","commit_id":"65b797f73386129be02974de0198f83b4eec55c2"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"a7d34b42886df419c0be52bee88a6cbadbe9ba22","unresolved":false,"context_lines":[{"line_number":6,"context_line":"  echo \"Usage: $0 [-FP]...\""},{"line_number":7,"context_line":"  echo \"Run Neutron\u0027s coding check(s). By default, all checks are run.\""},{"line_number":8,"context_line":"  echo \"\""},{"line_number":9,"context_line":"  echo \"  -F, --flake8 [\u003cbasecommit\u003e] Run flake8 check on the entire neutron module or just files changed in basecommit (e.g. HEAD~1)\""},{"line_number":10,"context_line":"  echo \"  -P, --pylint [\u003cbasecommit\u003e] Run pylint check on the entire neutron module or just files changed in basecommit (e.g. HEAD~1)\""},{"line_number":11,"context_line":"  echo \"  -h, --help                  Print this usage message\""},{"line_number":12,"context_line":"  echo"}],"source_content_type":"text/x-sh","patch_set":1,"id":"9a80dd14_4bf2fe06","line":9,"updated":"2015-03-06 19:39:21.000000000","message":"To me -P recalls me to the use of run-tests.sh, but I am not super-fussed.","commit_id":"65b797f73386129be02974de0198f83b4eec55c2"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"a7d34b42886df419c0be52bee88a6cbadbe9ba22","unresolved":false,"context_lines":[{"line_number":7,"context_line":"  echo \"Run Neutron\u0027s coding check(s). By default, all checks are run.\""},{"line_number":8,"context_line":"  echo \"\""},{"line_number":9,"context_line":"  echo \"  -F, --flake8 [\u003cbasecommit\u003e] Run flake8 check on the entire neutron module or just files changed in basecommit (e.g. HEAD~1)\""},{"line_number":10,"context_line":"  echo \"  -P, --pylint [\u003cbasecommit\u003e] Run pylint check on the entire neutron module or just files changed in basecommit (e.g. HEAD~1)\""},{"line_number":11,"context_line":"  echo \"  -h, --help                  Print this usage message\""},{"line_number":12,"context_line":"  echo"},{"line_number":13,"context_line":"  exit 0"}],"source_content_type":"text/x-sh","patch_set":1,"id":"9a80dd14_abdc5a74","line":10,"updated":"2015-03-06 19:39:21.000000000","message":"I chose -Y because I felt -P was better suited for checking pep8.","commit_id":"65b797f73386129be02974de0198f83b4eec55c2"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"a7d34b42886df419c0be52bee88a6cbadbe9ba22","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    i\u003d$((i+1))"},{"line_number":27,"context_line":"  done"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"  if [ ${flake8} -eq 0 -a ${pylint} -eq 0 ]; then"},{"line_number":30,"context_line":"    flake8\u003d1"},{"line_number":31,"context_line":"    pylint\u003d1"},{"line_number":32,"context_line":"  fi"}],"source_content_type":"text/x-sh","patch_set":1,"id":"9a80dd14_6bafc294","line":29,"updated":"2015-03-06 19:39:21.000000000","message":"I understand why you did this, but it\u0027s a bit ugly. Wouldn\u0027t be better to have the variables unassigned and test with -z?\n\nSo this becomes:\n\n# if script is called without parameters, by default runs all checks.\nif [ -z \"${flake8}\" -a -z \"${pylint}\" ]; then\n  ...","commit_id":"65b797f73386129be02974de0198f83b4eec55c2"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"a7d34b42886df419c0be52bee88a6cbadbe9ba22","unresolved":false,"context_lines":[{"line_number":32,"context_line":"  fi"},{"line_number":33,"context_line":"}"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"get_files () {"},{"line_number":36,"context_line":"    target\u003d\"${scriptargs:-all}\""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    if [ \"$target\" \u003d \"all\" ]; then"}],"source_content_type":"text/x-sh","patch_set":1,"id":"9a80dd14_8b04f64a","line":35,"updated":"2015-03-06 19:39:21.000000000","message":"rather than having get_files and run_checks rely on globals, I\u0027d rather have files be returned and given to run_checks as function args.","commit_id":"65b797f73386129be02974de0198f83b4eec55c2"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"a7d34b42886df419c0be52bee88a6cbadbe9ba22","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        echo \"You can speed this up by running it on \u0027HEAD~[0-9]\u0027 (e.g. HEAD~1, this change only)...\""},{"line_number":51,"context_line":"    fi"},{"line_number":52,"context_line":"    if [ -n \"${files}\" ]; then"},{"line_number":53,"context_line":"        if [ ${flake8} -eq 1 ]; then"},{"line_number":54,"context_line":"            echo \"Running flake8...\""},{"line_number":55,"context_line":"            flake8 ${files}"},{"line_number":56,"context_line":"        fi"}],"source_content_type":"text/x-sh","patch_set":1,"id":"9a80dd14_abf7fa89","line":53,"updated":"2015-03-06 19:39:21.000000000","message":"then this becomes -n \"${flake}\" or you might even use a switch/case without break","commit_id":"65b797f73386129be02974de0198f83b4eec55c2"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"a7d34b42886df419c0be52bee88a6cbadbe9ba22","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            echo \"Running flake8...\""},{"line_number":55,"context_line":"            flake8 ${files}"},{"line_number":56,"context_line":"        fi"},{"line_number":57,"context_line":"        if [ ${pylint} -eq 1 ]; then"},{"line_number":58,"context_line":"            echo \"Running pylint...\""},{"line_number":59,"context_line":"            pylint --rcfile\u003d.pylintrc --output-format\u003dcolorized ${files}"},{"line_number":60,"context_line":"        fi"}],"source_content_type":"text/x-sh","patch_set":1,"id":"9a80dd14_4b34be49","line":57,"updated":"2015-03-06 19:39:21.000000000","message":"and this","commit_id":"65b797f73386129be02974de0198f83b4eec55c2"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"a7d34b42886df419c0be52bee88a6cbadbe9ba22","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            pylint --rcfile\u003d.pylintrc --output-format\u003dcolorized ${files}"},{"line_number":60,"context_line":"        fi"},{"line_number":61,"context_line":"    else"},{"line_number":62,"context_line":"        echo \"No python changes in this commit, not running checks.\""},{"line_number":63,"context_line":"    fi"},{"line_number":64,"context_line":"}"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"9a80dd14_4bb59e7c","line":62,"updated":"2015-03-06 19:39:21.000000000","message":"check(s) not required.","commit_id":"65b797f73386129be02974de0198f83b4eec55c2"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"a7d34b42886df419c0be52bee88a6cbadbe9ba22","unresolved":false,"context_lines":[{"line_number":64,"context_line":"}"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"scriptargs\u003d"},{"line_number":67,"context_line":"pylint\u003d0"},{"line_number":68,"context_line":"flake8\u003d0"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"process_options $@"}],"source_content_type":"text/x-sh","patch_set":1,"id":"9a80dd14_8bfa3673","line":67,"updated":"2015-03-06 19:39:21.000000000","message":"these should be unset","commit_id":"65b797f73386129be02974de0198f83b4eec55c2"}]}
