)]}'
{"glance/objects/fields.py":[{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"894cfa1fa4d10f18ce7efa4f44ac0f612ade9b61","unresolved":false,"context_lines":[{"line_number":38,"context_line":"                   allowed_keys\u003dNone, required_keys\u003dNone, max_size\u003d255):"},{"line_number":39,"context_line":"    field \u003d Dict(element_type\u003delement_type, nullable\u003dnullable, default\u003ddefault)"},{"line_number":40,"context_line":"    field.mutable \u003d mutable"},{"line_number":41,"context_line":"    field.required_on_activate \u003d required_on_activate"},{"line_number":42,"context_line":"    field.system \u003d system"},{"line_number":43,"context_line":"    field.filters \u003d element_filter_ops"},{"line_number":44,"context_line":"    field.sortable \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_362de1a8","line":41,"updated":"2016-07-26 09:06:03.000000000","message":"We have duplication for all 3 attribute types. I think we need to get rid of this. Maybe convert to class.\nAlso users need to know that for Dict we need to use dict_attribute. How is it supposed to be controlled?","commit_id":"319e03f7668727de68858f3e393019146a613948"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"186833d657ae211ed793e6a2a97dde5a9ddf69e7","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            if validator.__name__ \u003d\u003d \u0027max_str_len\u0027:"},{"line_number":54,"context_line":"                break"},{"line_number":55,"context_line":"        else:"},{"line_number":56,"context_line":"            element_validators.append(max_str_len(255))"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def validators_func(val):"},{"line_number":59,"context_line":"        if val is not None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_0af9ae80","line":56,"updated":"2016-07-25 17:48:41.000000000","message":"What if element_type is not string?","commit_id":"319e03f7668727de68858f3e393019146a613948"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"f62224b0b85a4c79a7f61780ae1c8871fc43cb8a","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            if validator.__name__ \u003d\u003d \u0027max_str_len\u0027:"},{"line_number":54,"context_line":"                break"},{"line_number":55,"context_line":"        else:"},{"line_number":56,"context_line":"            element_validators.append(max_str_len(255))"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def validators_func(val):"},{"line_number":59,"context_line":"        if val is not None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_3e02f309","line":56,"in_reply_to":"dada55a8_0af9ae80","updated":"2016-07-25 19:55:31.000000000","message":"Done","commit_id":"319e03f7668727de68858f3e393019146a613948"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"186833d657ae211ed793e6a2a97dde5a9ddf69e7","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            if required_keys is not None:"},{"line_number":64,"context_line":"                for k in required_keys:"},{"line_number":65,"context_line":"                    if k not in val:"},{"line_number":66,"context_line":"                        raise ValueError(\"Key %s is required for the dict.\""},{"line_number":67,"context_line":"                                         % k)"},{"line_number":68,"context_line":"            for k, v in six.iteritems(val):"},{"line_number":69,"context_line":"                if not k:"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_ca5af682","line":66,"updated":"2016-07-25 17:48:41.000000000","message":"It would be nice to show all the required keys, not only first one.","commit_id":"319e03f7668727de68858f3e393019146a613948"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"f62224b0b85a4c79a7f61780ae1c8871fc43cb8a","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            if required_keys is not None:"},{"line_number":64,"context_line":"                for k in required_keys:"},{"line_number":65,"context_line":"                    if k not in val:"},{"line_number":66,"context_line":"                        raise ValueError(\"Key %s is required for the dict.\""},{"line_number":67,"context_line":"                                         % k)"},{"line_number":68,"context_line":"            for k, v in six.iteritems(val):"},{"line_number":69,"context_line":"                if not k:"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_9e095f2f","line":66,"in_reply_to":"dada55a8_ca5af682","updated":"2016-07-25 19:55:31.000000000","message":"Done","commit_id":"319e03f7668727de68858f3e393019146a613948"}]}
