diff options
-rw-r--r-- | gemato/openpgp.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/gemato/openpgp.py b/gemato/openpgp.py index 6df28de..56257f5 100644 --- a/gemato/openpgp.py +++ b/gemato/openpgp.py @@ -71,9 +71,15 @@ class OpenPGPEnvironment(object): def close(self): if self._home is not None: if self._started: - # terminate the agent spawned by the process - subprocess.Popen(['gpgconf', '--kill', 'all'], - env={'GNUPGHOME': self._home}).wait() + try: + # terminate the agent spawned by the process + subprocess.Popen(['gpgconf', '--kill', 'all'], + env={'GNUPGHOME': self._home}).wait() + except OSError as e: + # ignore ENOENT -- most likely it means gpg1 which + # had no gpg-agent + if e.errno != errno.ENOENT: + raise shutil.rmtree(self._home, onerror=self._rmtree_error_handler) self._home = None |