# HG changeset patch # User Paul Boddie # Date 1384294070 -3600 # Node ID b98c498cdfbc217b8c050b927440e5bfc12f3f6f # Parent 937f948a2e66665808b5158b1a79fde1afacf905 Show signature details of received keys, putting fingerprints below identities. diff -r 937f948a2e66 -r b98c498cdfbc parsers/pgp_keys.py --- a/parsers/pgp_keys.py Mon Nov 11 23:20:54 2013 +0100 +++ b/parsers/pgp_keys.py Tue Nov 12 23:07:50 2013 +0100 @@ -81,14 +81,20 @@ write(fmt.table_row(on=1)) write(fmt.rawHTML("")); write(fmt.text(_("Known"))); write(fmt.rawHTML("")) write(fmt.rawHTML("")); write(fmt.text(_("Identity"))); write(fmt.rawHTML("")) - write(fmt.rawHTML("")); write(fmt.text(_("Fingerprint"))); write(fmt.rawHTML("")) + write(fmt.rawHTML("")); write(fmt.text(_("Confirmed by"))); write(fmt.rawHTML("")) write(fmt.table_row(on=0)) write(fmt.rawHTML("")) write(fmt.rawHTML("")) + # For each key in the message, show whether it is already known to GPG, + # the user of the key, and whether other known people have signed it. + for key in gpg.getKeysFromString(self.raw): write(fmt.table_row(on=1)) + + # Known... + write(fmt.table_cell(on=1)) try: gpg.listKeys(key["keyid"]) @@ -97,11 +103,37 @@ except MoinMessageError: pass write(fmt.table_cell(on=0)) + + # Identity... + write(fmt.table_cell(on=1)) - write(fmt.text(key["userid"])) + write(fmt.text(key["userid"])); write(fmt.linebreak(0)) + write(fmt.small(on=1)); write(fmt.text(key["fingerprint"])); write(fmt.small(on=0)) write(fmt.table_cell(on=0)) + + # Confirmed by... + write(fmt.table_cell(on=1)) - write(fmt.text(key["fingerprint"])) + + first = True + + for signature in key["signatures"]: + + # Skip unknown signers and self-signatures. + + signer = signature["userid"] + if not signer: + continue + try: + gpg.listKeys(signature["keyid"]) + except MoinMessageError: + continue + + if not first: + write(fmt.linebreak(0)) + write(fmt.text(signer)) + first = False + write(fmt.table_cell(on=0)) write(fmt.table_row(on=0))