From 375a3a8ad0f699761af3f72ab984fe33e5561355 Mon Sep 17 00:00:00 2001 From: Natalia Serrano Date: Wed, 12 Feb 2025 11:20:03 +0100 Subject: [PATCH] refs #1495 add ogIsDiskLocked --- client/lib/engine/bin/DiskLib.py | 24 ++++-------------------- client/shared/functions/ogIsDiskLocked | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 20 deletions(-) create mode 100755 client/shared/functions/ogIsDiskLocked diff --git a/client/lib/engine/bin/DiskLib.py b/client/lib/engine/bin/DiskLib.py index 114afd6..cb2657a 100755 --- a/client/lib/engine/bin/DiskLib.py +++ b/client/lib/engine/bin/DiskLib.py @@ -1090,26 +1090,10 @@ def ogIdToType(ID): #@return Código de salida: 0 - bloqueado, 1 - sin bloquear o error. #@note Los ficheros de bloqueo se localizan en \c /var/lock/dev, siendo \c dev el dispositivo de la partición o de su disco, sustituyendo el carácter "/" por "-". #*/ ## -def ogIsDiskLocked(*args): - # Variables locales - DISK = None - LOCKFILE = None - - # Si se solicita, mostrar ayuda. - if len(args) == 1 and args[0] == "help": - SystemLib.ogHelp('ogIsDiskLocked', 'ogIsDiskLocked int_ndisk', 'if ogIsDiskLocked(1): ...') - return - - # Falso, en caso de error. - if len(args) != 1: - return False - DISK = ogDiskToDev(args[0], 2) - if DISK is None: - return False - - # Comprobar existencia de fichero de bloqueo para el disco. - LOCKFILE = f"/var/lock/lock{DISK.replace('/', '-')}" - return os.path.isfile(LOCKFILE) +def ogIsDiskLocked (disk): + DISK = ogDiskToDev (disk) + if not DISK: return False + return os.path.isfile (f'/var/lock/lock{DISK.replace('/', '-')}') #/** diff --git a/client/shared/functions/ogIsDiskLocked b/client/shared/functions/ogIsDiskLocked new file mode 100755 index 0000000..25ebde8 --- /dev/null +++ b/client/shared/functions/ogIsDiskLocked @@ -0,0 +1,22 @@ +#!/usr/bin/python3 + +import sys +import argparse +from SystemLib import ogHelp +from DiskLib import ogIsDiskLocked + +parser = argparse.ArgumentParser (add_help=False) +parser.add_argument ('disk') + +if 2 == len (sys.argv) and 'help' == sys.argv[1]: + #parser.print_help() sale en inglés aunque la locale indique otra cosa + ogHelp ('ogIsDiskLocked', 'ogIsDiskLocked int_ndisk', ['ogIsDiskLocked 1']) + sys.exit (0) + +args = parser.parse_args() +ret = ogIsDiskLocked (args.disk) + +if ret is not None: + if ret == True: sys.exit (0) + elif ret == False: sys.exit (1) + else: print (ret)