diff options
Diffstat (limited to 'src/live')
-rw-r--r-- | src/live/ogOperations.py | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/live/ogOperations.py b/src/live/ogOperations.py index 2d5146c..9c67728 100644 --- a/src/live/ogOperations.py +++ b/src/live/ogOperations.py @@ -157,15 +157,20 @@ class OgLiveOperations: m.update(buf) return m.hexdigest() - def _write_md5_file(self, path): + def _md5_file(self, path): + if not os.path.exists(path): + raise OgError(f'Failed to calculate checksum, image file {path} does not exist') + + return self._compute_md5(path) + + def _write_md5_file(self, path, checksum): if not os.path.exists(path): raise OgError(f'Failed to calculate checksum, image file {path} does not exist') filename = path + ".full.sum" - dig = self._compute_md5(path) try: with open(filename, 'w') as f: - f.write(dig) + f.write(checksum) except: logging.error(f'Cannot write checksum {filename}') return -1 @@ -585,9 +590,15 @@ class OgLiveOperations: logging.info(f'Writing checksum file {name}.img.full.sum...') logging.info('*DO NOT REBOOT OR POWEROFF* the client during this time') - if self._write_md5_file(f'/opt/opengnsys/images/{name}.img') == -1: + checksum = self._md5_file(f'/opt/opengnsys/images/{name}.img') + if checksum == -1: + raise OgError(f'Cannot access {name}.full.sum file') + + if self._write_md5_file(f'/opt/opengnsys/images/{name}.img', checksum) == -1: raise OgError(f'Cannot write {name}.full.sum file') + image_info.checksum = checksum + self._restartBrowser(self._url) logging.info('Image creation command OK') |