From 914bd993fcb347a24d65e64ba838cb34f72ab14d Mon Sep 17 00:00:00 2001 From: Alejandro Sirgo Rica Date: Mon, 27 May 2024 16:26:48 +0200 Subject: src: cleanup ogGetImageInfo Rename ogGetImageInfo to get_image_info. Move code from ogOperations.py to obtain image data into get_image_info. --- src/live/ogOperations.py | 17 +---------------- src/utils/image.py | 13 +++++++++++-- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/src/live/ogOperations.py b/src/live/ogOperations.py index 04b4433..6e528f8 100644 --- a/src/live/ogOperations.py +++ b/src/live/ogOperations.py @@ -545,7 +545,7 @@ class OgLiveOperations: if os.access(f'{image_path}', os.R_OK) == False: raise OgError(f'Cannot access partclone image file {image_path}') - image_info = ogGetImageInfo(image_path) + image_info = get_image_info(image_path) except Exception as e: if os.path.exists(image_path): os.unlink(image_path) @@ -560,21 +560,6 @@ class OgLiveOperations: else: raise - try: - st = os.stat(image_path) - size = st.st_size - perms = st.st_mode & (stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO) - mtime = int(st.st_mtime) - except: - logging.info(f'cannot retrieve stats from {image_path}') - size = 0 - perms = 0 - mtime = 0 - - image_info.size = size - image_info.perms = perms - image_info.mtime = mtime - if self._write_md5_file(f'/opt/opengnsys/images/{name}.img') == -1: raise OgError(f'Cannot write {name}.full.sum file') diff --git a/src/utils/image.py b/src/utils/image.py index cdc79c9..a9ffb22 100644 --- a/src/utils/image.py +++ b/src/utils/image.py @@ -106,7 +106,7 @@ def run_lzop_partcloneinfo(image_path): return p2_out -def ogGetImageInfo(image_path): +def get_image_info(image_path): """ Obtain filesystem and device size information of an OpenGnsys partition image. @@ -116,7 +116,7 @@ def ogGetImageInfo(image_path): Returns an ImageInfo object. - >>> image_info = ogGetImageInfo('/opt/opengnsys/images/foobar.img') + >>> image_info = get_image_info('/opt/opengnsys/images/foobar.img') >>> image_info.filesystem >>> 'NTFS' >>> image_info.datasize @@ -128,6 +128,15 @@ def ogGetImageInfo(image_path): """ partclone_output = run_lzop_partcloneinfo(image_path) image_info = image_info_from_partclone(partclone_output) + + try: + st = os.stat(image_path) + self.size = st.st_size + self.perms = st.st_mode & (stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO) + self.mtime = int(st.st_mtime) + except: + logging.info(f'cannot retrieve stats from {image_path}') + return image_info -- cgit v1.2.3-18-g5258