)]}'
{"keystone/token/providers/fernet/token_formatters.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"782fbbfff2c4778d9cebcf62f4d66778bca4efe3","unresolved":false,"context_lines":[{"line_number":539,"context_line":"            idp_id \u003d idp_id.decode(\u0027utf-8\u0027)"},{"line_number":540,"context_line":"        protocol_id \u003d payload[4]"},{"line_number":541,"context_line":"        if isinstance(protocol_id, six.binary_type):"},{"line_number":542,"context_line":"            protocol_id \u003d protocol_id.decode(\u0027utf-8\u0027)"},{"line_number":543,"context_line":"        expires_at_str \u003d cls._convert_float_to_time_string(payload[5])"},{"line_number":544,"context_line":"        audit_ids \u003d list(map(provider.base64_encode, payload[6]))"},{"line_number":545,"context_line":"        federated_info \u003d dict(group_ids\u003dgroup_ids, idp_id\u003didp_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_255cc1ec","line":542,"range":{"start_line":542,"start_character":44,"end_line":542,"end_character":46},"updated":"2016-05-19 07:09:23.000000000","message":"why is this the only one? it seems we want to either have bytes or str at the top of this function and do it once.","commit_id":"e8f6584401de18bad0e7577b61ba2ccee0de3dac"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"1285e8f327ace03f84d2fe1008241aa109916582","unresolved":false,"context_lines":[{"line_number":539,"context_line":"            idp_id \u003d idp_id.decode(\u0027utf-8\u0027)"},{"line_number":540,"context_line":"        protocol_id \u003d payload[4]"},{"line_number":541,"context_line":"        if isinstance(protocol_id, six.binary_type):"},{"line_number":542,"context_line":"            protocol_id \u003d protocol_id.decode(\u0027utf-8\u0027)"},{"line_number":543,"context_line":"        expires_at_str \u003d cls._convert_float_to_time_string(payload[5])"},{"line_number":544,"context_line":"        audit_ids \u003d list(map(provider.base64_encode, payload[6]))"},{"line_number":545,"context_line":"        federated_info \u003d dict(group_ids\u003dgroup_ids, idp_id\u003didp_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_dab660db","line":542,"in_reply_to":"bab6814e_255cc1ec","updated":"2016-05-19 12:01:59.000000000","message":"I think this is because most everything else in the payload is UUID generated? If the value is UUID generated, the assemble method will automatically convert it to bytes. Adam and I saw something similar with project IDs.","commit_id":"e8f6584401de18bad0e7577b61ba2ccee0de3dac"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"f07529348a56769ae98cc3f2248b1aa834630385","unresolved":false,"context_lines":[{"line_number":539,"context_line":"            idp_id \u003d idp_id.decode(\u0027utf-8\u0027)"},{"line_number":540,"context_line":"        protocol_id \u003d payload[4]"},{"line_number":541,"context_line":"        if isinstance(protocol_id, six.binary_type):"},{"line_number":542,"context_line":"            protocol_id \u003d protocol_id.decode(\u0027utf-8\u0027)"},{"line_number":543,"context_line":"        expires_at_str \u003d cls._convert_float_to_time_string(payload[5])"},{"line_number":544,"context_line":"        audit_ids \u003d list(map(provider.base64_encode, payload[6]))"},{"line_number":545,"context_line":"        federated_info \u003d dict(group_ids\u003dgroup_ids, idp_id\u003didp_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_75ff85aa","line":542,"in_reply_to":"bab6814e_dab660db","updated":"2016-05-19 12:13:30.000000000","message":"what lance said afaict","commit_id":"e8f6584401de18bad0e7577b61ba2ccee0de3dac"}]}
