From cfd7b3824214a9f8d96aa575deec09fd9d740234 Mon Sep 17 00:00:00 2001 From: Isis Lovecruft Date: Sat, 11 May 2013 18:25:17 +0000 Subject: [PATCH] Add option to delete subkeys with GPG.delete_keys(). * TODO this needs unittests. --- gnupg/gnupg.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnupg/gnupg.py b/gnupg/gnupg.py index db629be..edcf0c6 100644 --- a/gnupg/gnupg.py +++ b/gnupg/gnupg.py @@ -524,7 +524,7 @@ class GPG(object): logger.debug('recv_keys result: %r', result.__dict__) return result - def delete_keys(self, fingerprints, secret=False): + def delete_keys(self, fingerprints, secret=False, subkeys=False): """Delete a key, or list of keys, from the current keyring. The keys must be refered to by their full fingerprint for GnuPG to @@ -538,11 +538,17 @@ class GPG(object): :param bool secret: If True, delete the corresponding secret key(s) also. (default: False) + :param bool subkeys: If True, delete the secret subkey first, then + the public key. Same as + ``gpg --delete-secret-and-public-key 0x12345678`` + (default: False) """ which='keys' if secret: which='secret-key' + if subkeys: + which='secret-and-public-key' if _util._is_list_or_tuple(fingerprints): fingerprints = ' '.join(fingerprints)