mailman_pgp.utils package

Submodules

mailman_pgp.utils.config module

mailman_pgp.utils.config.expandable_path(value)[source]
mailman_pgp.utils.config.expandable_str(value)[source]
mailman_pgp.utils.config.key_spec(value)[source]

mailman_pgp.utils.email module

mailman_pgp.utils.email.copy_headers(from_msg, to_msg, overwrite=False)[source]

Copy the headers and unixfrom from a message to another one.

Parameters:
  • from_msg (email.message.Message) – The source Message.
  • to_msg (email.message.Message) – The destination Message.
mailman_pgp.utils.email.overwrite_message(from_msg, to_msg)[source]

Overwrite message data of to_msg with that of from_msg.

Parameters:
  • from_msg (email.message.Message) – The source Message.
  • to_msg (email.message.Message) – The destination Message.
mailman_pgp.utils.email.make_multipart(msg)[source]
Parameters:msg (email.message.Message) –
Returns:
Return type:email.message.MIMEMultipart| mailman.email.message.MultipartDigestMessage
mailman_pgp.utils.email.get_email(msg)[source]

mailman_pgp.utils.file module

mailman_pgp.utils.file.locked(lockfile, *lock_args, **lock_kwargs)[source]
Parameters:
  • lockfile
  • lock_args
  • lock_kwargs
Returns:

mailman_pgp.utils.file.locked_obj(lockattr, *lock_args, **lock_kwargs)[source]
Parameters:
  • lockattr
  • lock_args
  • lock_kwargs
Returns:

mailman_pgp.utils.moderation module

mailman_pgp.utils.moderation.record_action(msg, msgdata, action, sender, reason)[source]
Parameters:
  • msg
  • msgdata
  • action
  • sender
  • reason
Returns:

mailman_pgp.utils.pgp module

Miscellaneous PGP utilities.

mailman_pgp.utils.pgp.expired(verifications)[source]
Parameters:verifications
Returns:
mailman_pgp.utils.pgp.revoked(verifications)[source]
Parameters:verifications
Returns:
mailman_pgp.utils.pgp.verifies(verifications)[source]
Parameters:verifications (typing.Sequence[pgpy.types.SignatureVerification]) –
Returns:bool
mailman_pgp.utils.pgp.hashes(verifications)[source]
Parameters:verifications
Returns:
Return type:typing.Generator[bytes]
mailman_pgp.utils.pgp.key_from_blob(blob)[source]
Parameters:blob
Returns:
Return type:pgpy.PGPKey
mailman_pgp.utils.pgp.key_from_file(file)[source]
Parameters:file
Returns:
Return type:pgpy.PGPKey
mailman_pgp.utils.pgp.revoc_from_blob(blob)[source]

Load a key revocation signature from an ASCII-Armored blob.

Parameters:blob
Returns:
Return type:pgpy.PGPSignature
mailman_pgp.utils.pgp.key_revoked(key)[source]
Parameters:key (pgpy.PGPKey) –
Returns:
Return type:bool
mailman_pgp.utils.pgp.key_flags(key)[source]
Parameters:key (pgpy.PGPKey) –
Returns:
Return type:Set[pgpy.constants.KeyFlags]
mailman_pgp.utils.pgp.key_usable(key, flags_required)[source]

Check that the key has the flags_required set of KeyFlags.

Checks only non-expired, non-revoked key/subkeys. Validates revocations it can, so not those made with some other designated revocation key.

Parameters:
  • key (pgpy.PGPKey) – The key to check.
  • flags_required (set) – The set of flags required.
Returns:

Whether the key has the flags_required.

Return type:

bool

mailman_pgp.utils.pgp.key_merge(privkey, new_key, signer_key=None)[source]
Parameters:
  • privkey (pgpy.PGPKey) –
  • new_key (pgpy.PGPKey) –
  • signer_key (pgpy.PGPKey) –

mailman_pgp.utils.rest module

class mailman_pgp.utils.rest.enumflag_validator(enum)[source]

Bases: object

class mailman_pgp.utils.rest.workflow_validator(*classes)[source]

Bases: object

Module contents