diff options
| author | Ben McGinnes <[email protected]> | 2018-05-23 04:43:06 +0000 | 
|---|---|---|
| committer | Ben McGinnes <[email protected]> | 2018-05-23 04:43:06 +0000 | 
| commit | 3a9e6a8e088e233097866bb0560a36cfbbc4470e (patch) | |
| tree | 720fc6352caf415c4ad6ad830a660cb75f6f33f3 | |
| parent | cpp: Expose sessionKey and symkeyAlgo (diff) | |
| download | gpgme-3a9e6a8e088e233097866bb0560a36cfbbc4470e.tar.gz gpgme-3a9e6a8e088e233097866bb0560a36cfbbc4470e.zip  | |
docs and examples: python howto
* Updated the decryption example code in the HOWTO and the
  corresponding decrypt-file.py script to gracefully handle a
  decryption failure.  This error will always be triggered when GPGME
  is used to try to decrypt an old, MDC-less encrypted message or
  file.
| -rw-r--r-- | lang/python/docs/GPGMEpythonHOWTOen.org | 17 | ||||
| -rwxr-xr-x | lang/python/examples/howto/decrypt-file.py | 13 | 
2 files changed, 22 insertions, 8 deletions
diff --git a/lang/python/docs/GPGMEpythonHOWTOen.org b/lang/python/docs/GPGMEpythonHOWTOen.org index cb85b61b..ef66effc 100644 --- a/lang/python/docs/GPGMEpythonHOWTOen.org +++ b/lang/python/docs/GPGMEpythonHOWTOen.org @@ -14,7 +14,7 @@    :CUSTOM_ID: intro    :END: -  | Version:        | 0.1.0                                    | +  | Version:        | 0.1.1                                    |    | Author:         | Ben McGinnes <[email protected]>             |    | Author GPG Key: | DB4724E6FA4286C92B4E55C4321E4E2373590E5D |    | Language:       | Australian English, British English      | @@ -673,10 +673,17 @@       newfile = input("Enter path and filename of file to save decrypted data to: ")       with open(ciphertext, "rb") as cfile: -	 plaintext, result, verify_result = gpg.Context().decrypt(cfile) - -     with open(newfile, "wb") as nfile: -	 nfile.write(plaintext) +	 try: +	     plaintext, result, verify_result = gpg.Context().decrypt(cfile) +	 except gpg.errors.GPGMEError as e: +	     plaintext = None +	     print(e) + +     if plaintext is not None: +	 with open(newfile, "wb") as nfile: +	     nfile.write(plaintext) +     else: +	 pass     #+end_src     The data available in =plaintext= in this example is the decrypted diff --git a/lang/python/examples/howto/decrypt-file.py b/lang/python/examples/howto/decrypt-file.py index 60a050bd..b38acc79 100755 --- a/lang/python/examples/howto/decrypt-file.py +++ b/lang/python/examples/howto/decrypt-file.py @@ -38,7 +38,14 @@ else:      newfile = input("Enter path and filename of file to save decrypted data to: ")  with open(ciphertext, "rb") as cfile: -    plaintext, result, verify_result = gpg.Context().decrypt(cfile) +    try: +        plaintext, result, verify_result = gpg.Context().decrypt(cfile) +    except gpg.errors.GPGMEError as e: +        plaintext = None +        print(e) -with open(newfile, "wb") as nfile: -    nfile.write(plaintext) +if plaintext is not None: +    with open(newfile, "wb") as nfile: +        nfile.write(plaintext) +else: +    pass  | 
