35 lines
No EOL
1.3 KiB
Python
35 lines
No EOL
1.3 KiB
Python
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 |