)]}'
{"oslo_utils/signatureutils.py":[{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"373a44ec1d691228ccf0f158503e654827037a1b","unresolved":false,"context_lines":[{"line_number":263,"context_line":"    :returns: the hash method, a cryptography object"},{"line_number":264,"context_line":"    :raises: SignatureVerificationError if the hash method name is invalid"},{"line_number":265,"context_line":"    \"\"\""},{"line_number":266,"context_line":"    if hash_method_name not in HASH_METHODS:"},{"line_number":267,"context_line":"        raise SignatureVerificationError("},{"line_number":268,"context_line":"            reason\u003d_(\u0027Invalid signature hash method: %s\u0027) % hash_method_name)"},{"line_number":269,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_e9e574a8","line":266,"updated":"2016-04-22 21:16:18.000000000","message":"How about the following:\n\n   try:\n     return HASH_METHODS[hash_method_name]\n   except KeyError:\n     raise SignatureVerificationError....\n\nThat follows more of the python idiom of ask for forgiveness and not for permission.","commit_id":"485cba17d7fe1f5b84d222e166eec513d71901c6"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"3f965fd983d3c9094ff43b66f7b7b640977f2a30","unresolved":false,"context_lines":[{"line_number":263,"context_line":"    :returns: the hash method, a cryptography object"},{"line_number":264,"context_line":"    :raises: SignatureVerificationError if the hash method name is invalid"},{"line_number":265,"context_line":"    \"\"\""},{"line_number":266,"context_line":"    if hash_method_name not in HASH_METHODS:"},{"line_number":267,"context_line":"        raise SignatureVerificationError("},{"line_number":268,"context_line":"            reason\u003d_(\u0027Invalid signature hash method: %s\u0027) % hash_method_name)"},{"line_number":269,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_9a717bab","line":266,"in_reply_to":"1a122d0e_e9e574a8","updated":"2016-04-25 12:48:40.000000000","message":"Done","commit_id":"485cba17d7fe1f5b84d222e166eec513d71901c6"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"ac837c505710c184b9e6c45178718c9ad2af4b24","unresolved":false,"context_lines":[{"line_number":303,"context_line":"                                       certificate"},{"line_number":304,"context_line":"    :returns: the certificate cryptography object"},{"line_number":305,"context_line":"    :raises: SignatureVerificationError if the retrieval fails or the format"},{"line_number":306,"context_line":"             is invalid"},{"line_number":307,"context_line":"    \"\"\""},{"line_number":308,"context_line":"    keymgr_api \u003d key_manager.API()"},{"line_number":309,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_e92a668f","line":306,"updated":"2016-04-25 19:15:43.000000000","message":"or if its expired right?","commit_id":"c34f3722e930127c74caa736790a86fbf816cdfb"}]}
