)]}'
{"ironic_python_agent/configdrive.py":[{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"90c733ace609ea44c18c4884a5ecb369407de677","unresolved":false,"context_lines":[{"line_number":21,"context_line":"class ConfigDriveWriter(object):"},{"line_number":22,"context_line":"    def __init__(self):"},{"line_number":23,"context_line":"        self.metadata \u003d {}"},{"line_number":24,"context_line":"        self.files \u003d {}"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def add_metadata(self, key, value):"},{"line_number":27,"context_line":"        self.metadata[key] \u003d value"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad9bd40_be9b39c8","line":24,"updated":"2014-04-30 21:58:45.000000000","message":"I\u0027d prefer to keep this ordereddict. There isn\u0027t any serious performance concern here and ordereddict makes debugging API calls easier.","commit_id":"4ae20cc0be40d107c9ec74e5c330c3ffb5c48b07"},{"author":{"_account_id":8003,"name":"Aleksandr Gordeev","email":"agordeev@mirantis.com","username":"agordeev"},"change_message_id":"ad6c36fca82de998bc2e9f041f5b1efa454cf88f","unresolved":false,"context_lines":[{"line_number":21,"context_line":"class ConfigDriveWriter(object):"},{"line_number":22,"context_line":"    def __init__(self):"},{"line_number":23,"context_line":"        self.metadata \u003d {}"},{"line_number":24,"context_line":"        self.files \u003d {}"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def add_metadata(self, key, value):"},{"line_number":27,"context_line":"        self.metadata[key] \u003d value"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad9bd40_64ae2d87","line":24,"in_reply_to":"9ad9bd40_be9b39c8","updated":"2014-05-05 11:51:03.000000000","message":"Done","commit_id":"4ae20cc0be40d107c9ec74e5c330c3ffb5c48b07"}],"ironic_python_agent/encoding.py":[{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"1b05d102e1637d44ad1a45820746b6c68075c861","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    def serialize(self):"},{"line_number":24,"context_line":"        \"\"\"Turn this object into a dict.\"\"\""},{"line_number":25,"context_line":"        return dict((f, getattr(self, f)) for f in self.serializable_fields)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class RESTJSONEncoder(json.JSONEncoder):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad9bd40_de6c19d3","line":25,"updated":"2014-05-05 17:53:27.000000000","message":"Please return an ordereddict here.","commit_id":"a9cad336038a353aa621e3fe5677b243cf6c5502"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"6d9a362a1d07d471754b5c5a6c2d8c66c08f1355","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    def serialize(self):"},{"line_number":24,"context_line":"        \"\"\"Turn this object into a dict.\"\"\""},{"line_number":25,"context_line":"        return dict((f, getattr(self, f)) for f in self.serializable_fields)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class RESTJSONEncoder(json.JSONEncoder):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad9bd40_f4c9e726","line":25,"in_reply_to":"9ad9bd40_60451916","updated":"2014-05-06 13:51:18.000000000","message":"Yeah, I think this is fine here.","commit_id":"a9cad336038a353aa621e3fe5677b243cf6c5502"},{"author":{"_account_id":8003,"name":"Aleksandr Gordeev","email":"agordeev@mirantis.com","username":"agordeev"},"change_message_id":"132f39c68249d33cda0a3608120492c4afee7368","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    def serialize(self):"},{"line_number":24,"context_line":"        \"\"\"Turn this object into a dict.\"\"\""},{"line_number":25,"context_line":"        return dict((f, getattr(self, f)) for f in self.serializable_fields)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class RESTJSONEncoder(json.JSONEncoder):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad9bd40_60451916","line":25,"in_reply_to":"9ad9bd40_de6c19d3","updated":"2014-05-06 11:20:11.000000000","message":"I couldn\u0027t agree. I don\u0027t see any reason to keep it ordered. Both Agent driver and agent\u0027s API  treat them as the regular dicts. Also Jim said that there is no actual reason to keep them ordered, so that\u0027s why i\u0027m doing this change. I\u0027ll ask Jim again.","commit_id":"a9cad336038a353aa621e3fe5677b243cf6c5502"}],"ironic_python_agent/extensions/base.py":[{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"6d9a362a1d07d471754b5c5a6c2d8c66c08f1355","unresolved":false,"context_lines":[{"line_number":129,"context_line":"class ExecuteCommandMixin(object):"},{"line_number":130,"context_line":"    def __init__(self):"},{"line_number":131,"context_line":"        self.command_lock \u003d threading.Lock()"},{"line_number":132,"context_line":"        self.command_results \u003d {}"},{"line_number":133,"context_line":"        self.ext_mgr \u003d self.get_extension_manager()"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    def get_extension_manager(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad9bd40_94533b6a","line":132,"updated":"2014-05-06 13:51:18.000000000","message":"This one *does* need to be an ordered dict. /commands returns a list of results by calling `self.command_results.values(), and these should be in order of execution.","commit_id":"a9cad336038a353aa621e3fe5677b243cf6c5502"}]}
