)]}'
{"bin/instance-usage-audit":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"c2d93b52ee27ef04aff2cde283137c26deb57ea1","unresolved":false,"context_lines":[{"line_number":46,"context_line":"from nova import flags"},{"line_number":47,"context_line":"from nova import log as logging"},{"line_number":48,"context_line":"from nova import utils"},{"line_number":49,"context_line":"import nova.compute.utils"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"# If ../nova/__init__.py exists, add ../ to Python search path, so that"},{"line_number":52,"context_line":"# it will override what happens to be installed in /usr/(local/)lib/python..."}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAD3%2F%2F8iw%3D","line":49,"updated":"2012-01-19 17:03:52.000000000","message":"This is a good change, but…","commit_id":"344ba53c6a63fea76187d3870aeab8ee51439d72"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"2ff420d4e2cf19cd44746b7d54b8dc544231a6a0","unresolved":false,"context_lines":[{"line_number":56,"context_line":"if os.path.exists(os.path.join(POSSIBLE_TOPDIR, \u0027nova\u0027, \u0027__init__.py\u0027)):"},{"line_number":57,"context_line":"    sys.path.insert(0, POSSIBLE_TOPDIR)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"gettext.install(\u0027nova\u0027, unicode\u003d1)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"FLAGS \u003d flags.FLAGS"},{"line_number":62,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAD3%2F%2F8u0%3D","line":59,"updated":"2012-01-19 06:25:43.000000000","message":"I feel like the imports were placed after this line for a reason. Maybe somebody else can comment?","commit_id":"344ba53c6a63fea76187d3870aeab8ee51439d72"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"c2d93b52ee27ef04aff2cde283137c26deb57ea1","unresolved":false,"context_lines":[{"line_number":56,"context_line":"if os.path.exists(os.path.join(POSSIBLE_TOPDIR, \u0027nova\u0027, \u0027__init__.py\u0027)):"},{"line_number":57,"context_line":"    sys.path.insert(0, POSSIBLE_TOPDIR)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"gettext.install(\u0027nova\u0027, unicode\u003d1)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"FLAGS \u003d flags.FLAGS"},{"line_number":62,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAD3%2F%2F8i4%3D","line":59,"in_reply_to":"AAAAD3%2F%2F8u0%3D","updated":"2012-01-19 17:03:52.000000000","message":"They were, and they should be; this should be an exception to HACKING…","commit_id":"344ba53c6a63fea76187d3870aeab8ee51439d72"}],"nova/api/ec2/apirequest.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"c2d93b52ee27ef04aff2cde283137c26deb57ea1","unresolved":false,"context_lines":[{"line_number":24,"context_line":"# TODO(termie): replace minidom with etree"},{"line_number":25,"context_line":"from xml.dom import minidom"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"import nova.api.ec2.admin"},{"line_number":28,"context_line":"from nova.api.ec2 import ec2utils"},{"line_number":29,"context_line":"from nova import exception"},{"line_number":30,"context_line":"from nova import flags"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAD3%2F%2F8io%3D","line":27,"updated":"2012-01-19 17:03:52.000000000","message":"Can we do \"from nova.api.ec2 import admin\" instead?  That shortens what you have to type to reach AdminController…","commit_id":"344ba53c6a63fea76187d3870aeab8ee51439d72"}]}
