)]}'
{"openstackclient/identity/v3/trust.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"52e211e3ae9ba20384b011e36655535695e1874a","unresolved":false,"context_lines":[{"line_number":143,"context_line":"        trust._info.pop(\u0027links\u0027, None)"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        # Format roles into something sensible"},{"line_number":146,"context_line":"        roles \u003d trust._info.pop(\u0027roles\u0027)"},{"line_number":147,"context_line":"        msg \u003d \u0027\u0027.join([r[\u0027name\u0027] + \u0027 \u0027 for r in roles])"},{"line_number":148,"context_line":"        trust._info[\u0027roles\u0027] \u003d msg"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_d01f2ab5","line":146,"updated":"2015-07-15 14:33:17.000000000","message":"This also needs to be updated:\n\n  msg \u003d \u0027\u0027.join([r[\u0027name\u0027] + \u0027 \u0027 for r in roles[0:-1]])\n  msg +\u003d \u0027\u0027.join(roles[-1][\u0027name\u0027])","commit_id":"5cf7bdc86771b5437d0adf1bc0f023f8f58db6ed"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"f112fb0fb6749a395ab265fcc5e5d8d97c87570f","unresolved":false,"context_lines":[{"line_number":143,"context_line":"        trust._info.pop(\u0027links\u0027, None)"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        # Format roles into something sensible"},{"line_number":146,"context_line":"        roles \u003d trust._info.pop(\u0027roles\u0027)"},{"line_number":147,"context_line":"        msg \u003d \u0027\u0027.join([r[\u0027name\u0027] + \u0027 \u0027 for r in roles])"},{"line_number":148,"context_line":"        trust._info[\u0027roles\u0027] \u003d msg"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_b81cb66a","line":146,"in_reply_to":"9a41bdd9_d01f2ab5","updated":"2015-07-15 21:48:08.000000000","message":"?\n\n  msg \u003d \u0027 \u0027.join([r[\u0027name\u0027] for r in roles])","commit_id":"5cf7bdc86771b5437d0adf1bc0f023f8f58db6ed"},{"author":{"_account_id":6525,"name":"Gilles Dubreuil","email":"gilles@redhat.com","username":"q-1illes-a"},"change_message_id":"421875f895c2b402211aece1fd11ff4dfe457a36","unresolved":false,"context_lines":[{"line_number":143,"context_line":"        trust._info.pop(\u0027links\u0027, None)"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        # Format roles into something sensible"},{"line_number":146,"context_line":"        roles \u003d trust._info.pop(\u0027roles\u0027)"},{"line_number":147,"context_line":"        msg \u003d \u0027\u0027.join([r[\u0027name\u0027] + \u0027 \u0027 for r in roles])"},{"line_number":148,"context_line":"        trust._info[\u0027roles\u0027] \u003d msg"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_ec57e055","line":146,"in_reply_to":"9a41bdd9_d01f2ab5","updated":"2015-07-16 00:19:09.000000000","message":"Ok, thanks","commit_id":"5cf7bdc86771b5437d0adf1bc0f023f8f58db6ed"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"1aa3269c920a349cdc1153b47cac3ccf19ec9528","unresolved":false,"context_lines":[{"line_number":143,"context_line":"        trust._info.pop(\u0027links\u0027, None)"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        # Format roles into something sensible"},{"line_number":146,"context_line":"        roles \u003d trust._info.pop(\u0027roles\u0027)"},{"line_number":147,"context_line":"        msg \u003d \u0027\u0027.join([r[\u0027name\u0027] + \u0027 \u0027 for r in roles])"},{"line_number":148,"context_line":"        trust._info[\u0027roles\u0027] \u003d msg"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_322bad84","line":146,"in_reply_to":"9a41bdd9_ec57e055","updated":"2015-07-19 20:33:47.000000000","message":"Done","commit_id":"5cf7bdc86771b5437d0adf1bc0f023f8f58db6ed"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"f112fb0fb6749a395ab265fcc5e5d8d97c87570f","unresolved":false,"context_lines":[{"line_number":216,"context_line":"        # Format roles into something sensible"},{"line_number":217,"context_line":"        roles \u003d trust._info.pop(\u0027roles\u0027)"},{"line_number":218,"context_line":"        msg \u003d \u0027\u0027.join([r[\u0027name\u0027] + \u0027 \u0027 for r in roles[0:-1]])"},{"line_number":219,"context_line":"        msg +\u003d \u0027\u0027.join(roles[-1][\u0027name\u0027])"},{"line_number":220,"context_line":"        trust._info[\u0027roles\u0027] \u003d msg"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        return zip(*sorted(six.iteritems(trust._info)))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_c52e77a4","line":219,"updated":"2015-07-15 21:48:08.000000000","message":"am i missing something, or can both of these implementations be reduced to:\n\n  msg \u003d \u0027 \u0027.join(r[\u0027name\u0027] for r in roles)\n\nalthough py26 might require:\n\n  msg \u003d \u0027 \u0027.join([r[\u0027name\u0027] for r in roles])\n\nanyway, i don\u0027t see the point of all the extra complexity here","commit_id":"5cf7bdc86771b5437d0adf1bc0f023f8f58db6ed"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"1aa3269c920a349cdc1153b47cac3ccf19ec9528","unresolved":false,"context_lines":[{"line_number":216,"context_line":"        # Format roles into something sensible"},{"line_number":217,"context_line":"        roles \u003d trust._info.pop(\u0027roles\u0027)"},{"line_number":218,"context_line":"        msg \u003d \u0027\u0027.join([r[\u0027name\u0027] + \u0027 \u0027 for r in roles[0:-1]])"},{"line_number":219,"context_line":"        msg +\u003d \u0027\u0027.join(roles[-1][\u0027name\u0027])"},{"line_number":220,"context_line":"        trust._info[\u0027roles\u0027] \u003d msg"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        return zip(*sorted(six.iteritems(trust._info)))"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_d21fe959","line":219,"in_reply_to":"9a41bdd9_577f70df","updated":"2015-07-19 20:33:47.000000000","message":"Done","commit_id":"5cf7bdc86771b5437d0adf1bc0f023f8f58db6ed"},{"author":{"_account_id":6525,"name":"Gilles Dubreuil","email":"gilles@redhat.com","username":"q-1illes-a"},"change_message_id":"421875f895c2b402211aece1fd11ff4dfe457a36","unresolved":false,"context_lines":[{"line_number":216,"context_line":"        # Format roles into something sensible"},{"line_number":217,"context_line":"        roles \u003d trust._info.pop(\u0027roles\u0027)"},{"line_number":218,"context_line":"        msg \u003d \u0027\u0027.join([r[\u0027name\u0027] + \u0027 \u0027 for r in roles[0:-1]])"},{"line_number":219,"context_line":"        msg +\u003d \u0027\u0027.join(roles[-1][\u0027name\u0027])"},{"line_number":220,"context_line":"        trust._info[\u0027roles\u0027] \u003d msg"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        return zip(*sorted(six.iteritems(trust._info)))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_5137854c","line":219,"in_reply_to":"9a41bdd9_c52e77a4","updated":"2015-07-16 00:19:09.000000000","message":"Dolph, did you read the commit message?\nThe point is to avoid an extra space at the end:\n\nmsg \u003d\u003e \"one two\" \nvs\nmsg \u003d\u003e \"one two \"","commit_id":"5cf7bdc86771b5437d0adf1bc0f023f8f58db6ed"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"7143b1d6f6486b6e15aeec490d66d83f1db9380e","unresolved":false,"context_lines":[{"line_number":216,"context_line":"        # Format roles into something sensible"},{"line_number":217,"context_line":"        roles \u003d trust._info.pop(\u0027roles\u0027)"},{"line_number":218,"context_line":"        msg \u003d \u0027\u0027.join([r[\u0027name\u0027] + \u0027 \u0027 for r in roles[0:-1]])"},{"line_number":219,"context_line":"        msg +\u003d \u0027\u0027.join(roles[-1][\u0027name\u0027])"},{"line_number":220,"context_line":"        trust._info[\u0027roles\u0027] \u003d msg"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        return zip(*sorted(six.iteritems(trust._info)))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a41bdd9_577f70df","line":219,"in_reply_to":"9a41bdd9_c52e77a4","updated":"2015-07-16 04:20:35.000000000","message":"dolph, i think that would return\n\n  roles: \u0027 admin1admin2admin3\u0027","commit_id":"5cf7bdc86771b5437d0adf1bc0f023f8f58db6ed"}]}
