)]}'
{"nova/objects/base.py":[{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"d3958926c31f8f5ac87bdc046c5f5fbb82474d2f","unresolved":false,"context_lines":[{"line_number":306,"context_line":"class ObjectListBase(ovoo_base.ObjectListBase):"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    # TODO(jaypipes): Push this into o.vo base"},{"line_number":309,"context_line":"    def __delitem__(self, item):"},{"line_number":310,"context_line":"        del self.objects[self.index(item)]"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"    # TODO(jaypipes): Push this into o.vo base"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_f0c9817a","line":309,"updated":"2015-08-10 16:36:38.000000000","message":"This should set self._changed_fields to record that objects has changed.","commit_id":"c9d6e23d31efed9abdc971bfef5bfba2d56a540c"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"03f8807ed0015be23939ce0e3a63c649bc3f15f0","unresolved":false,"context_lines":[{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    # TODO(jaypipes): Push this into o.vo base"},{"line_number":309,"context_line":"    def __delitem__(self, item):"},{"line_number":310,"context_line":"        del self.objects[self.index(item)]"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"    # TODO(jaypipes): Push this into o.vo base"},{"line_number":313,"context_line":"    def append(self, item):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_2dd0f952","line":310,"updated":"2015-08-10 14:40:52.000000000","message":"-1: Oops, this is not what __delitem__ should do! The normal signature is __delitem__(self, key). EG `del mylist[0]`. You\u0027re suggesting an ObjectListBase is more of an OrderedSetWithDuplicates than a straight List, which would be confusing.","commit_id":"c9d6e23d31efed9abdc971bfef5bfba2d56a540c"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"d3958926c31f8f5ac87bdc046c5f5fbb82474d2f","unresolved":false,"context_lines":[{"line_number":310,"context_line":"        del self.objects[self.index(item)]"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"    # TODO(jaypipes): Push this into o.vo base"},{"line_number":313,"context_line":"    def append(self, item):"},{"line_number":314,"context_line":"        self.objects.append(item)"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"    # NOTE(danms): These are for transition to using the oslo"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_50a155a8","line":313,"updated":"2015-08-10 16:36:38.000000000","message":"Again, this should set self._changed_fields to record that objects has changed.","commit_id":"c9d6e23d31efed9abdc971bfef5bfba2d56a540c"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"5d06c705654302c73f21b6fd51536e182582c1e4","unresolved":false,"context_lines":[{"line_number":311,"context_line":""},{"line_number":312,"context_line":"    # TODO(jaypipes): Push this into o.vo base"},{"line_number":313,"context_line":"    def append(self, item):"},{"line_number":314,"context_line":"        self.objects.append(item)"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"    # NOTE(danms): These are for transition to using the oslo"},{"line_number":317,"context_line":"    # base object and can be removed when we move to it."}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_36984e1b","line":314,"updated":"2015-08-10 13:38:41.000000000","message":"This is OK but perhaps we should go the whole hog and mixin collections.MutableSequence? This way we specify a few abstract methods and get the rest of the interface for free.","commit_id":"c9d6e23d31efed9abdc971bfef5bfba2d56a540c"}],"nova/tests/unit/objects/test_objects.py":[{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"d3958926c31f8f5ac87bdc046c5f5fbb82474d2f","unresolved":false,"context_lines":[{"line_number":213,"context_line":"            self.assertEqual(db_objs[index][\u0027foo\u0027], item.foo)"},{"line_number":214,"context_line":"            self.assertEqual(db_objs[index][\u0027bar\u0027], item.bar)"},{"line_number":215,"context_line":"            self.assertEqual(db_objs[index][\u0027missing\u0027], item.missing)"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    def test_delitem(self):"},{"line_number":218,"context_line":"        class MyList(base.ObjectListBase, base.NovaObject):"},{"line_number":219,"context_line":"            fields \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_708b311f","line":216,"updated":"2015-08-10 16:36:38.000000000","message":"Need to test that the methods record that a change has happened to the objects field (i.e. mylist.obj_what_changed() returns set([\u0027objects\u0027])","commit_id":"c9d6e23d31efed9abdc971bfef5bfba2d56a540c"}]}
