)]}'
{"oslo_versionedobjects/base.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"fc87aea776e1f9adc1d2a2fd360f5a78805b91c7","unresolved":false,"context_lines":[{"line_number":564,"context_line":"    def obj_fields(self):"},{"line_number":565,"context_line":"        return self.fields.keys() + self.obj_extra_fields"},{"line_number":566,"context_line":""},{"line_number":567,"context_line":"    def __eq__(self, obj):"},{"line_number":568,"context_line":"        if self.obj_to_primitive() \u003d\u003d obj.obj_to_primitive():"},{"line_number":569,"context_line":"            return True"},{"line_number":570,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":3,"id":"da86d52c_ac4270a8","line":567,"updated":"2015-02-12 15:54:31.000000000","message":"We\u0027ve been specifically avoiding adding this generic equality operator and would prefer that this  not be in the base object.\n\nThe reason for this is because if you have a partially-loaded object from the database, comparing it with another could indicate equality, but in fact they are not the same because of fields present (and different) in the database that aren\u0027t considered.\n\nI\u0027d recommend we move this to a mixin, or have heat put it in their own subclass.","commit_id":"a02b5729fe0276d4c7ddd984dc309219e567207c"},{"author":{"_account_id":4715,"name":"Angus Salkeld","email":"asalkeld@redhat.com","username":"asalkeld"},"change_message_id":"462be6054c3c99d2b49fb1b7d72cb0f53ee56f1d","unresolved":false,"context_lines":[{"line_number":570,"context_line":"    def __eq__(self, obj):"},{"line_number":571,"context_line":"        # FIXME(inc0): this can return incorrect value if we consider partially"},{"line_number":572,"context_line":"        # loaded objects from db and fields which are dropped out differ"},{"line_number":573,"context_line":"        if self.obj_to_primitive() \u003d\u003d obj.obj_to_primitive():"},{"line_number":574,"context_line":"            return True"},{"line_number":575,"context_line":"        return False"},{"line_number":576,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_ab7bcd79","line":573,"updated":"2015-02-16 12:06:28.000000000","message":"minor:\n\n return self.obj_to_primitive() \u003d\u003d obj.obj_to_primitive()","commit_id":"2a3670ce45c02ee636f5cac2efd58a1ca0135d0a"},{"author":{"_account_id":13290,"name":"Oleksii Zamiatin","email":"ozamiatin@mirantis.com","username":"ozamiatin"},"change_message_id":"6b1d3f69d02c530f480e73494c3112e341a2e374","unresolved":false,"context_lines":[{"line_number":570,"context_line":"    def __eq__(self, obj):"},{"line_number":571,"context_line":"        # FIXME(inc0): this can return incorrect value if we consider partially"},{"line_number":572,"context_line":"        # loaded objects from db and fields which are dropped out differ"},{"line_number":573,"context_line":"        if self.obj_to_primitive() \u003d\u003d obj.obj_to_primitive():"},{"line_number":574,"context_line":"            return True"},{"line_number":575,"context_line":"        return False"},{"line_number":576,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_fdf66a8f","line":573,"in_reply_to":"da86d52c_ab7bcd79","updated":"2015-02-16 13:22:30.000000000","message":"Agree with comment, no if statement is needed.","commit_id":"2a3670ce45c02ee636f5cac2efd58a1ca0135d0a"}],"oslo_versionedobjects/fields.py":[{"author":{"_account_id":4715,"name":"Angus Salkeld","email":"asalkeld@redhat.com","username":"asalkeld"},"change_message_id":"462be6054c3c99d2b49fb1b7d72cb0f53ee56f1d","unresolved":false,"context_lines":[{"line_number":288,"context_line":"            # NOTE(danms): Legacy objects from sqlalchemy are stored in UTC,"},{"line_number":289,"context_line":"            # but are returned without a timezone attached."},{"line_number":290,"context_line":"            # As a transitional aid, assume a tz-naive object is in UTC."},{"line_number":291,"context_line":"            value \u003d value.replace(tzinfo\u003diso8601.iso8601.Utc())"},{"line_number":292,"context_line":"        return value"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    def from_primitive(self, obj, attr, value):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_8b91a948","side":"PARENT","line":291,"updated":"2015-02-16 12:06:28.000000000","message":"so what the reason for removing this. some explanation in the commit message would be good. not sure how this is going to effect nova.","commit_id":"c330f938c85d3cd7aad9cc43587ac16623144d33"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"7ff84a28655e50e2fa52acec41f1173e0073442b","unresolved":false,"context_lines":[{"line_number":288,"context_line":"            # NOTE(danms): Legacy objects from sqlalchemy are stored in UTC,"},{"line_number":289,"context_line":"            # but are returned without a timezone attached."},{"line_number":290,"context_line":"            # As a transitional aid, assume a tz-naive object is in UTC."},{"line_number":291,"context_line":"            value \u003d value.replace(tzinfo\u003diso8601.iso8601.Utc())"},{"line_number":292,"context_line":"        return value"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    def from_primitive(self, obj, attr, value):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_2b80bd8a","side":"PARENT","line":291,"in_reply_to":"da86d52c_8b91a948","updated":"2015-02-16 12:11:56.000000000","message":"Well its directly messing up with data inside objects, that might be good for nova, but I don\u0027t think it should be the case in oslo. Also according to Dan, its for transition.","commit_id":"c330f938c85d3cd7aad9cc43587ac16623144d33"}]}
