)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"f34d067c88de89d24f25207283b12112028101a7","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This adds a __repr__ implementation for the base NovaObject which"},{"line_number":10,"context_line":"should help debugging by compactly describing the contents of an"},{"line_number":11,"context_line":"object. This adds strinification helpers to the Field object(s),"},{"line_number":12,"context_line":"which lets us control what each type looks in compact format. Since"},{"line_number":13,"context_line":"this is just for debugging, we avoid recursing too deeply on nested"},{"line_number":14,"context_line":"objects and the like."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"baada198_252555c2","line":11,"updated":"2014-07-01 14:56:03.000000000","message":"strinification \u003d\u003e stringification (i think)","commit_id":"342eb7ecc0b0032343af2ce0b29fef930923000a"}],"nova/objects/fields.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"543ba2bb9371e22a1f039b41698e2780472bd30d","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    @abc.abstractmethod"},{"line_number":98,"context_line":"    def stringify(self, value):"},{"line_number":99,"context_line":"        \"\"\"Returns a short stringified version of a value.\"\"\""},{"line_number":100,"context_line":"        pass"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"class FieldType(AbstractFieldType):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_4cac31a1","line":100,"updated":"2014-07-01 16:11:22.000000000","message":"Why not just use __str__() on the concrete classes. I think what would be more Pythonic?","commit_id":"e5e10662f046382e71103a592c1f655428a492b8"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"cdb95926db772399250b88d02f5145ae54a19e8c","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    @abc.abstractmethod"},{"line_number":98,"context_line":"    def stringify(self, value):"},{"line_number":99,"context_line":"        \"\"\"Returns a short stringified version of a value.\"\"\""},{"line_number":100,"context_line":"        pass"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"class FieldType(AbstractFieldType):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_fae9331b","line":100,"in_reply_to":"baada198_4cac31a1","updated":"2014-07-01 16:46:20.000000000","message":"Because the field does not hold the value, it\u0027s just a typing tool. See the value parameter to this method :)","commit_id":"e5e10662f046382e71103a592c1f655428a492b8"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"866dc89ec2c11adc604104aad4b8714309c12f42","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    @abc.abstractmethod"},{"line_number":98,"context_line":"    def stringify(self, value):"},{"line_number":99,"context_line":"        \"\"\"Returns a short stringified version of a value.\"\"\""},{"line_number":100,"context_line":"        pass"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"class FieldType(AbstractFieldType):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_9aff5734","line":100,"in_reply_to":"baada198_fa8f7321","updated":"2014-07-01 16:59:56.000000000","message":"The same applies there (see below).","commit_id":"e5e10662f046382e71103a592c1f655428a492b8"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f51a3ce669d36cf4973efcd03ccc457167e6fb33","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    @abc.abstractmethod"},{"line_number":98,"context_line":"    def stringify(self, value):"},{"line_number":99,"context_line":"        \"\"\"Returns a short stringified version of a value.\"\"\""},{"line_number":100,"context_line":"        pass"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"class FieldType(AbstractFieldType):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_fa8f7321","line":100,"in_reply_to":"baada198_fae9331b","updated":"2014-07-01 16:52:22.000000000","message":"I said __str__ on the concrete classes. i.e. the field classes, not the field type classes.","commit_id":"e5e10662f046382e71103a592c1f655428a492b8"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"866dc89ec2c11adc604104aad4b8714309c12f42","unresolved":false,"context_lines":[{"line_number":229,"context_line":"        return prefix + name"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    def stringify(self, value):"},{"line_number":232,"context_line":"        return self._type.stringify(value)"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"class String(FieldType):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_baaa5b17","line":232,"updated":"2014-07-01 16:59:56.000000000","message":"This is on the field itself, not the field type. The value is still not stored here, it\u0027s stored on the object itself and passed into this.\n\nWe had planned to convert these to something a little closer to what you\u0027re probably thinking they are, but haven\u0027t yet.","commit_id":"e5e10662f046382e71103a592c1f655428a492b8"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"c5d8d9df0fff68c102127a639f02e6857cea2323","unresolved":false,"context_lines":[{"line_number":494,"context_line":"        return network_model.NetworkInfo.hydrate(value)"},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"    def stringify(self, value):"},{"line_number":497,"context_line":"        return \u0027Network\u0027"},{"line_number":498,"context_line":""},{"line_number":499,"context_line":""},{"line_number":500,"context_line":"class AutoTypedField(Field):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_46ded040","line":497,"updated":"2014-07-01 15:22:15.000000000","message":"Don\u0027t we wanna get at least a bit more info for this one, like a list of network id\u0027s from vifs or something? this does not seem very useful.","commit_id":"e5e10662f046382e71103a592c1f655428a492b8"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"cdb95926db772399250b88d02f5145ae54a19e8c","unresolved":false,"context_lines":[{"line_number":494,"context_line":"        return network_model.NetworkInfo.hydrate(value)"},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"    def stringify(self, value):"},{"line_number":497,"context_line":"        return \u0027Network\u0027"},{"line_number":498,"context_line":""},{"line_number":499,"context_line":""},{"line_number":500,"context_line":"class AutoTypedField(Field):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_bae7bb3f","line":497,"in_reply_to":"baada198_46ded040","updated":"2014-07-01 16:46:20.000000000","message":"I meant to comment that I was punting on this for the moment. I need to think more about what would be useful without being overly verbose here. So, yeah.","commit_id":"e5e10662f046382e71103a592c1f655428a492b8"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"a3f9cd6b9f945636584c7d269ab75668674d4171","unresolved":false,"context_lines":[{"line_number":497,"context_line":""},{"line_number":498,"context_line":"    def stringify(self, value):"},{"line_number":499,"context_line":"        return \u0027NetworkModel(%s)\u0027 % ("},{"line_number":500,"context_line":"            \u0027,\u0027.join([str(vif[\u0027id\u0027]) for vif in value]))"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":""},{"line_number":503,"context_line":"class AutoTypedField(Field):"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_c6771c3a","line":500,"updated":"2014-07-02 12:02:15.000000000","message":"this will give the db id\u0027s of VirtualIntefaces - which is not super useful either but we can fix in a follow up patch.","commit_id":"d99e8ad88c20c7fe18035d26e1d35867d75885f2"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"01ca36684f9a1fa07e753ee3f60575d900cf7d0b","unresolved":false,"context_lines":[{"line_number":497,"context_line":""},{"line_number":498,"context_line":"    def stringify(self, value):"},{"line_number":499,"context_line":"        return \u0027NetworkModel(%s)\u0027 % ("},{"line_number":500,"context_line":"            \u0027,\u0027.join([str(vif[\u0027id\u0027]) for vif in value]))"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":""},{"line_number":503,"context_line":"class AutoTypedField(Field):"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_fc590c5c","line":500,"in_reply_to":"baada198_c6771c3a","updated":"2014-07-02 14:00:24.000000000","message":"Isn\u0027t it the port id in the neutron case?","commit_id":"d99e8ad88c20c7fe18035d26e1d35867d75885f2"}]}
