mailpipe: don't raise UnverifiedSignatureMessage for valid signatures.
[pygrader.git] / pygrader / mailpipe.py
index 281839b03c8dfe9f9266c74be953a555d9a07d14..d48c9e980098fcd843d0442fa12ba09bdbdd4c8b 100644 (file)
@@ -959,7 +959,11 @@ def _get_verified_message(message, pgp_key):
             fingerprints=fingerprints, decrypted=decrypted)
     signature = matches[0]
     if not verified:
-        if signature.get_summary() != 0:
+        problems = [k for k,v in signature.summary.items() if v]
+        for good in ['green', 'valid']:
+            if good in problems:
+                problems.remove(good)
+        if problems:
             raise UnverifiedSignatureMessage(
                 message=message, signature=signature, decrypted=decrypted)
         # otherwise, we may have an untrusted key.  We'll count that