)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"e16ce84a75d99873ff034260016b84c4e280f0c3","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Refactor _create_attribute_statement IdP method"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Create an inner function to build the attributes so we avoid"},{"line_number":10,"context_line":"to repeat the same commands for each attribute."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I5e60d1771c05ab53f31fcce2c0e6c4ab36dcde62"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"1aca2d91_4dc8fd74","line":10,"updated":"2015-05-06 06:21:52.000000000","message":"You can add a comment here that the function is a refactor and using .assign() for single elements has same effect as assigning them to the attribute. We checked it (independently), but others may be more picky and raise questions.","commit_id":"a6b37e8cad3b0ffc940d7803bc5cf8edc66d892a"}],"keystone/contrib/federation/idp.py":[{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"c5c36d7b8bfd1f642477e57f0cbfd876d07926e5","unresolved":false,"context_lines":[{"line_number":196,"context_line":"            for value in attribute_values:"},{"line_number":197,"context_line":"                attribute_value \u003d saml.AttributeValue()"},{"line_number":198,"context_line":"                attribute_value.set_text(value)"},{"line_number":199,"context_line":"                attribute.attribute_value \u003d attribute_value"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"            return attribute"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5ad0253b_79792393","line":199,"updated":"2015-04-29 09:38:28.000000000","message":"I think the logic here is wrong:\n\n1) The for loop will essentially only store the last saml.AttributeValue object in the saml.Attribute() object. It should rather be attribute.attribute_value.append(attribute_value).\n\n2) If this passed the tests it means some test are missing.\n\n3) If you look at the old code for complex attributes (like roles) we store list, where where for a simple one we don\u0027t. You function doesn\u0027t seem to reflect this (at list i think it wouldn\u0027t mean if it was written as you had intended to). Probably some type checking is required here.","commit_id":"d4a04b616234c766b5aeb309f4ce56ab91a187b7"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8c40d01da1a7b641c0e4d662e5484a3410163925","unresolved":false,"context_lines":[{"line_number":196,"context_line":"            for value in attribute_values:"},{"line_number":197,"context_line":"                attribute_value \u003d saml.AttributeValue()"},{"line_number":198,"context_line":"                attribute_value.set_text(value)"},{"line_number":199,"context_line":"                attribute.attribute_value \u003d attribute_value"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"            return attribute"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3acd31a7_0cc8ab54","line":199,"in_reply_to":"5ad0253b_13f6888f","updated":"2015-04-30 09:48:55.000000000","message":"yeah, i checked it too: http://cdn.pasteraw.com/3fv8v9xmxlkhtfue1yjaaocb44vuxuz","commit_id":"d4a04b616234c766b5aeb309f4ce56ab91a187b7"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"453ee2fdaf69189c26dfbd958d1ac2e5315bc728","unresolved":false,"context_lines":[{"line_number":196,"context_line":"            for value in attribute_values:"},{"line_number":197,"context_line":"                attribute_value \u003d saml.AttributeValue()"},{"line_number":198,"context_line":"                attribute_value.set_text(value)"},{"line_number":199,"context_line":"                attribute.attribute_value \u003d attribute_value"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"            return attribute"},{"line_number":202,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5ad0253b_13f6888f","line":199,"in_reply_to":"5ad0253b_79792393","updated":"2015-04-29 13:29:24.000000000","message":"thanks for the review, I did notice this before, somehow I managed to upload the wrong patch.\n\nusing .append() here seems to generate valid assertions: http://paste.openstack.org/show/212077/","commit_id":"d4a04b616234c766b5aeb309f4ce56ab91a187b7"}]}
