)]}'
{"nova/objects/aggregate.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"fcf75722ac2618bedaad22cad24e733e63593fbf","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        \u0027hosts\u0027: fields.Field(fields.List(fields.Field(fields.String())),"},{"line_number":31,"context_line":"                              nullable\u003dTrue),"},{"line_number":32,"context_line":"        \u0027metadata\u0027: fields.Field(fields.Dict(fields.Field(fields.String())),"},{"line_number":33,"context_line":"                                 nullable\u003dTrue),"},{"line_number":34,"context_line":"        }"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    obj_extra_fields \u003d [\u0027availability_zone\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATH%2F%2F6Zo%3D","line":33,"updated":"2013-10-08 06:02:21.000000000","message":"I didn\u0027t see this coming, I presumed element_type would be a FieldType not a Field\n\nI\u0027m not sure why fields.List(fields.String()) wouldn\u0027t work?","commit_id":"ff950d5ad55b717223744e7202b70f97c3a7b8ef"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"e8aea67d37d9a629eb98035c44dfd2ea240a5ed3","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        \u0027hosts\u0027: fields.Field(fields.List(fields.Field(fields.String())),"},{"line_number":31,"context_line":"                              nullable\u003dTrue),"},{"line_number":32,"context_line":"        \u0027metadata\u0027: fields.Field(fields.Dict(fields.Field(fields.String())),"},{"line_number":33,"context_line":"                                 nullable\u003dTrue),"},{"line_number":34,"context_line":"        }"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    obj_extra_fields \u003d [\u0027availability_zone\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATH%2F%2F32Q%3D","line":33,"in_reply_to":"AAAATH%2F%2F6Zo%3D","updated":"2013-10-08 16:42:27.000000000","message":"That\u0027s what I would have expected, too.","commit_id":"ff950d5ad55b717223744e7202b70f97c3a7b8ef"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"e93680197049612d43e6405ae883fae759226769","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        \u0027hosts\u0027: fields.Field(fields.List(fields.Field(fields.String())),"},{"line_number":31,"context_line":"                              nullable\u003dTrue),"},{"line_number":32,"context_line":"        \u0027metadata\u0027: fields.Field(fields.Dict(fields.Field(fields.String())),"},{"line_number":33,"context_line":"                                 nullable\u003dTrue),"},{"line_number":34,"context_line":"        }"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    obj_extra_fields \u003d [\u0027availability_zone\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATH%2F%2F56o%3D","line":33,"in_reply_to":"AAAATH%2F%2F6Zo%3D","updated":"2013-10-08 08:50:49.000000000","message":"While I like how favoring composition over inheritance in the base patch made the code much cleaner - this is really ugly - and this is how we use fields in the codebase so it\u0027s arguably more important then inheritance tree inside one module.\n\nI suggest we make a few declarative classes in the objects.fields module like\n\n  class StringField(Field):\n     _type \u003d String()\n\nAnd then maybe make the Field constructor not override _type if it\u0027s set on the class (or something).\n\nAnd then here we can do:\n\n  \u0027name\u0027: fields.StringField()\n\nWe can\u0027t do that for composite list, object and dict fileds for all combos, but we could for most common ones so having a StringList (for example) would be straightforward.\n\nMore complicated ones could be instantiated in the module where they will be used, but not in the fields dict definition I guess (so above the class statement in this case) - still making the fields definition far more intuitive and \u0027readable\u0027.","commit_id":"ff950d5ad55b717223744e7202b70f97c3a7b8ef"}]}
