def interpret_key_results(result: dict) -> str: if not isinstance(result, dict): return "There was an error with the format of the reply from the operation." # unpack results: valid = result.get('valid', False) comparison = result.get('comparison', 'error') error_msg = result.get('message', None) # errors: if error_msg: if error_msg == "api_connection_issue": return "There was a connection error with connecting to the API." elif error_msg == "invalid_key": return "Your original public key is in an invalid format to begin with." else: return "Unknown Error." # comparison: if comparison == "same": first_sentence = "The key you had locally matched what the server had also." elif comparison == "different": first_sentence = "Your local key was different than the server's key." else: first_sentence = "There was an error with the comparison." # validity: if valid: second_sentence = "The signature now matches with the new key." else: second_sentence = "But the signature still does not match, even with the new key. If you prepare tickets anyway, they might not verify when used." # final return final_msg = first_sentence + " " + second_sentence return final_msg