)]}'
{"cinder/objects/backup.py":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"96dbd460054b1e0c7173f64b9438cfdf3d29ade3","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        db_backup \u003d db.backup_get(context, id)"},{"line_number":86,"context_line":"        return cls._from_db_object(context, cls(context), db_backup)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    @base.remotable"},{"line_number":89,"context_line":"    def create(self, context):"},{"line_number":90,"context_line":"        if self.obj_attr_is_set(\u0027id\u0027):"},{"line_number":91,"context_line":"            raise exception.ObjectActionError(action\u003d\u0027create\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_488124fa","line":88,"updated":"2015-03-06 19:11:24.000000000","message":"In nova, they are making all remotable methods to not have the context passed in, but instead use the one stashed in the object, i.e. _context.  Hence, the reason I started to change my patch to remove the context.","commit_id":"1121c8b9d1fbde6a3d1c540be833e8a4e023dbf4"}],"cinder/objects/base.py":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"96dbd460054b1e0c7173f64b9438cfdf3d29ade3","unresolved":false,"context_lines":[{"line_number":211,"context_line":""},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"@six.add_metaclass(CinderObjectMetaclass)"},{"line_number":214,"context_line":"class CinderObject(object):"},{"line_number":215,"context_line":"    \"\"\"Base class and object factory."},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    This forms the base of all objects that can be remoted or instantiated"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_082f2c40","side":"PARENT","line":214,"updated":"2015-03-06 19:11:24.000000000","message":"We need our own CinderObject class with our own namespace (after speaking with dansmith on IRC), so that objects can be differentiated on the same bus.","commit_id":"cf8a2ac2ea486dc20e2046df22d6d41f4df25179"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"96dbd460054b1e0c7173f64b9438cfdf3d29ade3","unresolved":false,"context_lines":[{"line_number":610,"context_line":""},{"line_number":611,"context_line":"        NOTE(danms): May be removed in the future."},{"line_number":612,"context_line":"        \"\"\""},{"line_number":613,"context_line":"        if key not in self.obj_fields:"},{"line_number":614,"context_line":"            # NOTE(jdg): There are a number of places where we rely on the"},{"line_number":615,"context_line":"            # old dictionary version and do a get(xxx, None)."},{"line_number":616,"context_line":"            # The following preserves that compatability but in"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_c8bc3409","side":"PARENT","line":613,"updated":"2015-03-06 19:11:24.000000000","message":"This was just merged and is needed for some driver CI to pass.  Some drivers are accessing invalid properties, and this shim needs to be here until every driver is updated.","commit_id":"cf8a2ac2ea486dc20e2046df22d6d41f4df25179"}]}
