)]}'
{"tools/hacking.py":[{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"de5098ee683059ad225d6406aedf0bbc83a687a0","unresolved":false,"context_lines":[{"line_number":44,"context_line":"#N7xx localization"},{"line_number":45,"context_line":"#N8xx git commit messages"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"IMPORT_EXCEPTIONS \u003d [\u0027sqlalchemy\u0027, \u0027migrate\u0027, \u0027nova.db.sqlalchemy.session\u0027]"},{"line_number":48,"context_line":"START_DOCSTRING_TRIPLE \u003d [\u0027u\"\"\"\u0027, \u0027r\"\"\"\u0027, \u0027\"\"\"\u0027, \"u\u0027\u0027\u0027\", \"r\u0027\u0027\u0027\", \"\u0027\u0027\u0027\"]"},{"line_number":49,"context_line":"END_DOCSTRING_TRIPLE \u003d [\u0027\"\"\"\u0027, \"\u0027\u0027\u0027\"]"},{"line_number":50,"context_line":"VERBOSE_MISSING_IMPORT \u003d os.getenv(\u0027HACKING_VERBOSE_MISSING_IMPORT\u0027, \u0027False\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FKvg%3D","line":47,"updated":"2013-02-05 00:51:13.000000000","message":"I don\u0027t think nova.db.sqlalcemy.session is appropriate here.","commit_id":"42ca96664eedc8c91835ea94d32979f99773a9c9"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"de5098ee683059ad225d6406aedf0bbc83a687a0","unresolved":false,"context_lines":[{"line_number":283,"context_line":"                       % (split_previous[1], split_line[1]))"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"def nova_import_no_db_in_virt(logical_line, filename):"},{"line_number":287,"context_line":"    \"\"\"Check for db calls from nova/virt"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"    As of grizzly-2 all the database calls have been removed from"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FKvY%3D","line":286,"updated":"2013-02-05 00:51:13.000000000","message":"this function is not valid in ceilometer.","commit_id":"42ca96664eedc8c91835ea94d32979f99773a9c9"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"de5098ee683059ad225d6406aedf0bbc83a687a0","unresolved":false,"context_lines":[{"line_number":502,"context_line":"    return open(filename).readlines()"},{"line_number":503,"context_line":""},{"line_number":504,"context_line":""},{"line_number":505,"context_line":"def add_nova():"},{"line_number":506,"context_line":"    \"\"\"Monkey patch in nova guidelines."},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"    Look for functions that start with nova_  and have arguments"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FKvE%3D","line":505,"updated":"2013-02-05 00:51:13.000000000","message":"This decorator and all the nova_ functions names might cause them confusion, though functionally they\u0027re ok.","commit_id":"42ca96664eedc8c91835ea94d32979f99773a9c9"}]}
