pkgcore.gpg — pkgcore master documentation
Source code for pkgcore.gpg
__all__ = ("skip_signatures",) msg_header = "-----BEGIN PGP SIGNED MESSAGE-----\n" msg_header_len = len(msg_header) msg_hash = "Hash:" msg_hash_len = len(msg_hash) sig_header = "-----BEGIN PGP SIGNATURE-----\n" sig_header_len = len(sig_header) sig_footer = "-----END PGP SIGNATURE-----\n" sig_footer_len = len(sig_footer)[docs] def skip_signatures(iterable): i = iter(iterable) # format is- # """ # -----BEGIN PGP SIGNED MESSAGE----- # Hash: SHA1 # # """ for line in i: # so... prune msg first, then if line.endswith(msg_header): line = next(i) while line[msg_hash_len:] == msg_hash: line = next(i) # skip blank line after msg. next(i) continue while line.endswith(sig_header): line = next(i) # swallow the footer. while not line.endswith(sig_footer): line = next(i) # leave the next line on the stack line = next(i) yield line