From 6c49815d73269fb83fb7d5a7b641da2c5a54ceb3 Mon Sep 17 00:00:00 2001 From: OpenGnSys Support Team Date: Tue, 12 Dec 2023 17:11:48 +0100 Subject: live: report permissions and last update when creating image add .permissions and .lastupdate to json to report to ogserver. --- src/live/ogOperations.py | 13 ++++++++++--- src/ogRest.py | 2 ++ src/utils/legacy.py | 2 ++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/live/ogOperations.py b/src/live/ogOperations.py index 66f3024..ff1a099 100644 --- a/src/live/ogOperations.py +++ b/src/live/ogOperations.py @@ -10,6 +10,7 @@ import datetime import hashlib import logging import os +import stat import subprocess import shlex import shutil @@ -479,13 +480,19 @@ class OgLiveOperations: raise ValueError('Error: Incorrect command value') try: - stat = os.stat(image_path) - size = stat.st_size + 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 size from {image_path}') + 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 self._write_md5_file(f'/opt/opengnsys/images/{name}.img') diff --git a/src/ogRest.py b/src/ogRest.py index f567280..7848c3d 100644 --- a/src/ogRest.py +++ b/src/ogRest.py @@ -207,6 +207,8 @@ class ogThread(): json_body.add_element('filesystem', image_info.filesystem) json_body.add_element('datasize', datasize) json_body.add_element('size', image_info.size) + json_body.add_element('perms', image_info.perms) + json_body.add_element('lastupdate', image_info.mtime) response = restResponse(ogResponses.OK, json_body, seq=client.seq) client.send(response.get()) diff --git a/src/utils/legacy.py b/src/utils/legacy.py index 6e907b4..def5459 100644 --- a/src/utils/legacy.py +++ b/src/utils/legacy.py @@ -26,6 +26,8 @@ class ImageInfo: self.filesystem = filesystem self.datasize = datasize self.size = 0 + self.mtime = 0 + self.perms = 0 self.clonator = 'PARTCLONE' self.compressor = 'LZOP' -- cgit v1.2.3-18-g5258