)]}'
{"keystone/contrib/federation/utils.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"bcae7cdf260f6b946975b3e451320b614848f3e9","unresolved":false,"context_lines":[{"line_number":509,"context_line":"        \"\"\""},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"        def extract_groups(groups_by_domain):"},{"line_number":512,"context_line":"            for groups in list(groups_by_domain.values()):"},{"line_number":513,"context_line":"                for group in list({g[\u0027name\u0027]: g for g in groups}.values()):"},{"line_number":514,"context_line":"                    yield group"},{"line_number":515,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9af37de9_7e95bd3e","line":512,"updated":"2015-05-10 14:17:38.000000000","message":"dict().values() isn\u0027t a built-in like zip or map. also... shouldn\u0027t need list() here?","commit_id":"853ca56771e7008e84766016df1c281c46bbc320"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"4f7bb8ff34eeb0db3ac782f4103ecf76507d59cf","unresolved":false,"context_lines":[{"line_number":509,"context_line":"        \"\"\""},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"        def extract_groups(groups_by_domain):"},{"line_number":512,"context_line":"            for groups in list(groups_by_domain.values()):"},{"line_number":513,"context_line":"                for group in list({g[\u0027name\u0027]: g for g in groups}.values()):"},{"line_number":514,"context_line":"                    yield group"},{"line_number":515,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5ad58531_d04ee295","line":512,"in_reply_to":"9af37de9_7e95bd3e","updated":"2015-05-11 19:56:56.000000000","message":"I\u0027m actually not sure. Since the function is actually a generator we could have an issue where the data changes outside of the control of it. Easier to keep the same semantics that we already had.","commit_id":"853ca56771e7008e84766016df1c281c46bbc320"}]}
