From dd19d43c146a910a2e90deec2f77338d2e969c51 Mon Sep 17 00:00:00 2001 From: Natalia Serrano Date: Mon, 10 Mar 2025 11:55:58 +0100 Subject: [PATCH] refs #1673 add interfaceAdm/InventarioSoftware.py --- ogclient/interfaceAdm/InventarioSoftware.py | 73 +++++++++------------ 1 file changed, 30 insertions(+), 43 deletions(-) diff --git a/ogclient/interfaceAdm/InventarioSoftware.py b/ogclient/interfaceAdm/InventarioSoftware.py index 29f3420..e5185b5 100755 --- a/ogclient/interfaceAdm/InventarioSoftware.py +++ b/ogclient/interfaceAdm/InventarioSoftware.py @@ -1,53 +1,40 @@ #!/usr/bin/env python3 + import os import time import shutil import subprocess import sys -sys.path.append('/opt/opengnsys/lib/engine/bin') import ogGlobals -import SystemLib - -def main(arg1, arg2, dest_file): - start_time = time.time() - - og_log_session = os.getenv(ogGlobals.OGLOGSESSION) - og_log_command = os.getenv(ogGlobals.OGLOGCOMMAND) - if og_log_session and og_log_command: - with open(og_log_session, 'w') as f: - f.write(" ") - with open(og_log_command, 'w') as f: - f.write(" ") - with open(f"{og_log_command}.tmp", 'w') as f: - f.write(" ") - - msg_interface_start = os.getenv(ogGlobals.lang.MSG_INTERFACE_START) - if msg_interface_start: - SystemLib.ogEcho("log", "session", f"{msg_interface_start} {__file__} {arg1} {arg2}") - - try: - result = subprocess.run( - ["python3", "/opt/opengnsys/scripts/listSoftwareInfo.py", arg1, arg2], - capture_output=True, - text=True, - check=True - ) - file = result.stdout.strip().splitlines()[-1] - except subprocess.CalledProcessError as e: - print(f"Error al ejecutar listSoftwareInfo: {e.stderr}") - sys.exit(e.returncode) - - print(f"Copying:( {file} to {dest_file} )") - shutil.copy(file, dest_file) - - elapsed_time = time.time() - start_time - msg_scripts_time_partial = os.getenv(ogGlobals.lang.MSG_SCRIPTS_TIME_PARTIAL) - if msg_scripts_time_partial: - SystemLib.ogEcho("log", "session", f" [ ] {msg_scripts_time_partial} : {int(elapsed_time // 60)}m {int(elapsed_time % 60)}s") +from SystemLib import ogEcho, ogRaiseError if __name__ == "__main__": - if len(sys.argv) != 4: - print("Usage: python InventarioSoftware.py ") - sys.exit(1) - main(sys.argv[1], sys.argv[2], sys.argv[3]) + prog = sys.argv[0] + if len (sys.argv) != 4: + print (f'Usage: {prog} ') + sys.exit (1) + + disk, par, dest_file = sys.argv[1:] + + TIME1 = time.time() + +# Limpia los ficheros temporales usados como log de seguimiento para httpdlog + open (ogGlobals.OGLOGSESSION, 'w').close() + open (ogGlobals.OGLOGCOMMAND, 'w').close() + open (f"{ogGlobals.OGLOGCOMMAND}.tmp", 'w').close() + +# Registro de inicio de ejecución + ogEcho (['log', 'session'], None, f'{ogGlobals.lang.MSG_INTERFACE_START} {prog} {disk} {par} {dest_file}') + + listsi_out = subprocess.run ([f'{ogGlobals.OGSCRIPTS}/listSoftwareInfo.py', disk, par], capture_output=True, text=True).stdout + if listsi_out: + file = listsi_out.splitlines()[0] + else: + ogRaiseError ([], ogGlobals.OG_ERR_GENERIC, 'listSoftwareInfo.py failed') + sys.exit (1) + + shutil.copy (file, dest_file) + + TIME = time.time() - TIME1 + ogEcho(['log', 'session'], None, f' [ ] {ogGlobals.lang.MSG_SCRIPTS_TIME_PARTIAL} : {int(TIME // 60)}m {int(TIME % 60)}s')