)]}'
{"neutron/objects/base.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"c350081c6707ea1671fbf1ad00a46f7b4e7e630f","unresolved":false,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    def to_dict(self):"},{"line_number":144,"context_line":"        dict_ \u003d {}"},{"line_number":145,"context_line":"        for name, value in self.items():"},{"line_number":146,"context_line":"            if name in self.fields and name not in self.synthetic_fields:"},{"line_number":147,"context_line":"                value \u003d self.fields[name].to_primitive(self, name, value)"},{"line_number":148,"context_line":"            dict_[name] \u003d value"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_6fdde613","line":145,"updated":"2016-09-05 14:49:38.000000000","message":"Maybe worth explaining here why obj_to_primitive would not be enough (eg. due to extra fields like tenant_id).","commit_id":"1776b36e005d17340f24faf4523e902190a22c9f"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"d6fd1695d18c32c255f2343149549b101502dcfa","unresolved":false,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    def to_dict(self):"},{"line_number":144,"context_line":"        dict_ \u003d {}"},{"line_number":145,"context_line":"        for name, value in self.items():"},{"line_number":146,"context_line":"            if name in self.fields and name not in self.synthetic_fields:"},{"line_number":147,"context_line":"                value \u003d self.fields[name].to_primitive(self, name, value)"},{"line_number":148,"context_line":"            dict_[name] \u003d value"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_7324adae","line":145,"in_reply_to":"9a89bdaa_6fdde613","updated":"2016-09-06 21:10:30.000000000","message":"Done","commit_id":"1776b36e005d17340f24faf4523e902190a22c9f"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"c350081c6707ea1671fbf1ad00a46f7b4e7e630f","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    def to_dict(self):"},{"line_number":144,"context_line":"        dict_ \u003d {}"},{"line_number":145,"context_line":"        for name, value in self.items():"},{"line_number":146,"context_line":"            if name in self.fields and name not in self.synthetic_fields:"},{"line_number":147,"context_line":"                value \u003d self.fields[name].to_primitive(self, name, value)"},{"line_number":148,"context_line":"            dict_[name] \u003d value"},{"line_number":149,"context_line":"        for field_name, value in self._synthetic_fields_items():"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_0f49ba31","line":146,"updated":"2016-09-05 14:49:38.000000000","message":"how could it be that a field is in self.items() but not in self.fields?","commit_id":"1776b36e005d17340f24faf4523e902190a22c9f"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"c350081c6707ea1671fbf1ad00a46f7b4e7e630f","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    def to_dict(self):"},{"line_number":144,"context_line":"        dict_ \u003d {}"},{"line_number":145,"context_line":"        for name, value in self.items():"},{"line_number":146,"context_line":"            if name in self.fields and name not in self.synthetic_fields:"},{"line_number":147,"context_line":"                value \u003d self.fields[name].to_primitive(self, name, value)"},{"line_number":148,"context_line":"            dict_[name] \u003d value"},{"line_number":149,"context_line":"        for field_name, value in self._synthetic_fields_items():"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_2f783ef2","line":146,"range":{"start_line":146,"start_character":44,"end_line":146,"end_character":72},"updated":"2016-09-05 14:49:38.000000000","message":"ok, let\u0027s say there is a synthetic field of timestamp type. Will it then still get the wrong precision?","commit_id":"1776b36e005d17340f24faf4523e902190a22c9f"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"d6fd1695d18c32c255f2343149549b101502dcfa","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    def to_dict(self):"},{"line_number":144,"context_line":"        dict_ \u003d {}"},{"line_number":145,"context_line":"        for name, value in self.items():"},{"line_number":146,"context_line":"            if name in self.fields and name not in self.synthetic_fields:"},{"line_number":147,"context_line":"                value \u003d self.fields[name].to_primitive(self, name, value)"},{"line_number":148,"context_line":"            dict_[name] \u003d value"},{"line_number":149,"context_line":"        for field_name, value in self._synthetic_fields_items():"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_d321f9fc","line":146,"in_reply_to":"9a89bdaa_0f49ba31","updated":"2016-09-06 21:10:30.000000000","message":"items() includes extra fields. self.fields might not (e.g. tenant_id).","commit_id":"1776b36e005d17340f24faf4523e902190a22c9f"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"d6fd1695d18c32c255f2343149549b101502dcfa","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    def to_dict(self):"},{"line_number":144,"context_line":"        dict_ \u003d {}"},{"line_number":145,"context_line":"        for name, value in self.items():"},{"line_number":146,"context_line":"            if name in self.fields and name not in self.synthetic_fields:"},{"line_number":147,"context_line":"                value \u003d self.fields[name].to_primitive(self, name, value)"},{"line_number":148,"context_line":"            dict_[name] \u003d value"},{"line_number":149,"context_line":"        for field_name, value in self._synthetic_fields_items():"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_9314d144","line":146,"range":{"start_line":146,"start_character":44,"end_line":146,"end_character":72},"in_reply_to":"9a89bdaa_2f783ef2","updated":"2016-09-06 21:10:30.000000000","message":"If it\u0027s a synthetic field, wouldn\u0027t it be handled correctly by L149?","commit_id":"1776b36e005d17340f24faf4523e902190a22c9f"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"1903d455fc69a2c39aa38df3688ec9fa2c067ace","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    def to_dict(self):"},{"line_number":144,"context_line":"        dict_ \u003d {}"},{"line_number":145,"context_line":"        for name, value in self.items():"},{"line_number":146,"context_line":"            if name in self.fields and name not in self.synthetic_fields:"},{"line_number":147,"context_line":"                value \u003d self.fields[name].to_primitive(self, name, value)"},{"line_number":148,"context_line":"            dict_[name] \u003d value"},{"line_number":149,"context_line":"        for field_name, value in self._synthetic_fields_items():"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_d9f65cf8","line":146,"range":{"start_line":146,"start_character":44,"end_line":146,"end_character":72},"in_reply_to":"9a89bdaa_9314d144","updated":"2016-09-07 10:28:09.000000000","message":"Line 149 will only special handle lists of objects (by calling to_dict recursively) as well as object fields. Since datatime is not an object field, it will not get special treatment, and hence will be returned as-is (rich datatime object, not a string).","commit_id":"1776b36e005d17340f24faf4523e902190a22c9f"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"a16e917faa51dcd9ef9d6c6edd7e69af27384810","unresolved":false,"context_lines":[{"line_number":148,"context_line":"            # is included in self.items()"},{"line_number":149,"context_line":"            if name in self.fields and name not in self.synthetic_fields:"},{"line_number":150,"context_line":"                value \u003d self.fields[name].to_primitive(self, name, value)"},{"line_number":151,"context_line":"            dict_[name] \u003d value"},{"line_number":152,"context_line":"        for field_name, value in self._synthetic_fields_items():"},{"line_number":153,"context_line":"            field \u003d self.fields[field_name]"},{"line_number":154,"context_line":"            if isinstance(field, obj_fields.ListOfObjectsField):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_6754ddfe","line":151,"updated":"2016-09-07 05:50:08.000000000","message":"I\u0027m not sure I follow. \u0027items()\u0027 returns key values that are like a dict so \u0027name\u0027 should be unique on each iteration. Can you elaborate?","commit_id":"c9550682b8ff824ac63254f9aa6a139eb9676ce2"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"819bae5062e1a81ebc5e937b0e1835b6050256b0","unresolved":false,"context_lines":[{"line_number":148,"context_line":"            # is included in self.items()"},{"line_number":149,"context_line":"            if name in self.fields and name not in self.synthetic_fields:"},{"line_number":150,"context_line":"                value \u003d self.fields[name].to_primitive(self, name, value)"},{"line_number":151,"context_line":"            dict_[name] \u003d value"},{"line_number":152,"context_line":"        for field_name, value in self._synthetic_fields_items():"},{"line_number":153,"context_line":"            field \u003d self.fields[field_name]"},{"line_number":154,"context_line":"            if isinstance(field, obj_fields.ListOfObjectsField):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_2365721d","line":151,"range":{"start_line":151,"start_character":26,"end_line":151,"end_character":31},"updated":"2016-09-06 23:53:33.000000000","message":"What about if the first iteration is a field but the following iterations are obj_extra_fields, does this keep the last nonsyntethic field value?","commit_id":"c9550682b8ff824ac63254f9aa6a139eb9676ce2"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"149fdd75990eb8a6cee09dd4022173f62466bceb","unresolved":false,"context_lines":[{"line_number":148,"context_line":"            # is included in self.items()"},{"line_number":149,"context_line":"            if name in self.fields and name not in self.synthetic_fields:"},{"line_number":150,"context_line":"                value \u003d self.fields[name].to_primitive(self, name, value)"},{"line_number":151,"context_line":"            dict_[name] \u003d value"},{"line_number":152,"context_line":"        for field_name, value in self._synthetic_fields_items():"},{"line_number":153,"context_line":"            field \u003d self.fields[field_name]"},{"line_number":154,"context_line":"            if isinstance(field, obj_fields.ListOfObjectsField):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_cd55acc2","line":151,"in_reply_to":"9a89bdaa_6754ddfe","updated":"2016-09-07 14:06:56.000000000","message":"Ohh that\u0027s true(face palm), I was thinking that you declared that variable. Thanks for the aclaration","commit_id":"c9550682b8ff824ac63254f9aa6a139eb9676ce2"}]}
