)]}'
{"oslo/db/sqlalchemy/models.py":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"26be8f50c9c03e98f4429d39bf0d84078e6d8b6b","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        # up, beyond the actual db columns.  An example would be the \u0027name\u0027"},{"line_number":79,"context_line":"        # property for an Instance."},{"line_number":80,"context_line":"        columns.extend(self._extra_keys)"},{"line_number":81,"context_line":"        it \u003d ModelIterator(self, iter(columns))"},{"line_number":82,"context_line":"        return it"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def update(self, values):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_fee54ea4","line":81,"updated":"2014-07-11 13:48:33.000000000","message":"nit: why not: return  ModelIterator(self, iter(columns)) ?","commit_id":"084c35ede895b605a7aba46650b4d31df3477123"},{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"95c997c42b2c324bc56b45f122e1e85f08c1af9a","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        # up, beyond the actual db columns.  An example would be the \u0027name\u0027"},{"line_number":79,"context_line":"        # property for an Instance."},{"line_number":80,"context_line":"        columns.extend(self._extra_keys)"},{"line_number":81,"context_line":"        it \u003d ModelIterator(self, iter(columns))"},{"line_number":82,"context_line":"        return it"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def update(self, values):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_3927e013","line":81,"in_reply_to":"baada198_fee54ea4","updated":"2014-07-11 14:05:50.000000000","message":"Done","commit_id":"084c35ede895b605a7aba46650b4d31df3477123"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"26be8f50c9c03e98f4429d39bf0d84078e6d8b6b","unresolved":false,"context_lines":[{"line_number":101,"context_line":"class ModelIterator(ModelBase):"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def __init__(self, model, columns):"},{"line_number":104,"context_line":"        self.model \u003d model"},{"line_number":105,"context_line":"        self._i \u003d columns"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    # In Python 3, __next__() has replaced next()."}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_fe9c6e10","line":104,"updated":"2014-07-11 13:48:33.000000000","message":"nit: please make naming consistent:\n\n   self._model \u003d model\n   self._i \u003d columns\n\nor\n\n   self.model \u003d model\n   self.i \u003d columns","commit_id":"084c35ede895b605a7aba46650b4d31df3477123"},{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"95c997c42b2c324bc56b45f122e1e85f08c1af9a","unresolved":false,"context_lines":[{"line_number":101,"context_line":"class ModelIterator(ModelBase):"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def __init__(self, model, columns):"},{"line_number":104,"context_line":"        self.model \u003d model"},{"line_number":105,"context_line":"        self._i \u003d columns"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    # In Python 3, __next__() has replaced next()."}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_5924940c","line":104,"in_reply_to":"baada198_fe9c6e10","updated":"2014-07-11 14:05:50.000000000","message":"Done","commit_id":"084c35ede895b605a7aba46650b4d31df3477123"}],"tests/sqlalchemy/test_models.py":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"26be8f50c9c03e98f4429d39bf0d84078e6d8b6b","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        iter_res2.append(next(it2))"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        self.assertFalse(it1 is it2)"},{"line_number":107,"context_line":"        self.assertEqual(dict(iter_res1), dict(mb))"},{"line_number":108,"context_line":"        self.assertEqual(dict(iter_res2), dict(mb))"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    def test_extra_keys_empty(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_7ee21ea1","line":107,"updated":"2014-07-11 13:48:33.000000000","message":"why not just:\n\n   self.assertEqual(dict(it1), dict(mb))\n   self.assertEqual(dict(it2), dict(mb))\n\nhere?","commit_id":"084c35ede895b605a7aba46650b4d31df3477123"},{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"d7d9fd3f1ac6235f85da0bfb71a028bfde4c0a84","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        iter_res2.append(next(it2))"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        self.assertFalse(it1 is it2)"},{"line_number":107,"context_line":"        self.assertEqual(dict(iter_res1), dict(mb))"},{"line_number":108,"context_line":"        self.assertEqual(dict(iter_res2), dict(mb))"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    def test_extra_keys_empty(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_f9fba878","line":107,"in_reply_to":"baada198_7ee21ea1","updated":"2014-07-11 14:04:29.000000000","message":"Here it1 and it2 are only iterator objects, dictionaries with results of iterations is iter_res, so comparing iterators with dict of model attributes has no sense.","commit_id":"084c35ede895b605a7aba46650b4d31df3477123"}]}
