More reliable cleanup

This commit is contained in:
Ian Gulliver
2016-05-10 20:55:50 +00:00
parent 927b851b06
commit f43e9913e9
2 changed files with 33 additions and 30 deletions

View File

@@ -130,17 +130,17 @@ class Fetcher(object):
resp = self._session.get(url, stream=True)
hash_obj = hashlib.sha256()
try:
fh = tempfile.NamedTemporaryFile(dir=self._image_dir, delete=False)
for data in resp.iter_content(self._BUF_SIZE):
hash_obj.update(data)
fh.write(data)
if hash_obj.hexdigest() != image['hash']:
raise InvalidHash
os.rename(fh.name, path)
except:
os.unlink(fh.name)
raise
with tempfile.NamedTemporaryFile(dir=self._image_dir, delete=False) as fh:
try:
for data in resp.iter_content(self._BUF_SIZE):
hash_obj.update(data)
fh.write(data)
if hash_obj.hexdigest() != image['hash']:
raise InvalidHash
os.rename(fh.name, path)
except:
os.unlink(fh.name)
raise
def _SetCurrent(self, image):
filename = '%d.iso' % (image['timestamp'])