From 8c50324dbf84bc2844a3648a520bb7ad08467cd9 Mon Sep 17 00:00:00 2001 From: Laurent Bachelier Date: Mon, 30 Jan 2012 15:48:28 +0100 Subject: [PATCH] Don't remove the module if the signature is invalid Remove it only just before extraction --- weboob/core/repositories.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/weboob/core/repositories.py b/weboob/core/repositories.py index 5dad025c..0b56579d 100644 --- a/weboob/core/repositories.py +++ b/weboob/core/repositories.py @@ -584,8 +584,7 @@ class Repositories(object): tardata = fp.read() - if os.path.isdir(module_dir): - shutil.rmtree(module_dir) + # Check signature if module.signed and Keyring.find_gpgv(): progress.progress(0.5, 'Checking module authenticity...') fpsig = browser.openurl(posixpath.join(module.url + '.sig')) @@ -598,6 +597,8 @@ class Repositories(object): # Extract module from tarball. + if os.path.isdir(module_dir): + shutil.rmtree(module_dir) progress.progress(0.7, 'Setting up module...') with closing(tarfile.open('', 'r:gz', StringIO(tardata))) as tar: tar.extractall(self.modules_dir)