From b193dadf31b1cfb87c5e13d74b991d74ded0b058 Mon Sep 17 00:00:00 2001 From: Natalia Serrano Date: Fri, 14 Feb 2025 14:17:44 +0100 Subject: [PATCH] refs #1514 add ogSetPartitionType --- client/lib/engine/bin/DiskLib.py | 45 ++++++---------------- client/shared/functions/ogSetPartitionType | 24 ++++++++++++ 2 files changed, 36 insertions(+), 33 deletions(-) create mode 100755 client/shared/functions/ogSetPartitionType diff --git a/client/lib/engine/bin/DiskLib.py b/client/lib/engine/bin/DiskLib.py index 8fe5b9e..26c0424 100755 --- a/client/lib/engine/bin/DiskLib.py +++ b/client/lib/engine/bin/DiskLib.py @@ -1226,43 +1226,22 @@ def ogSetPartitionSize(*args): #@return (nada) #@attention Requisitos: fdisk, sgdisk #*/ ## -def ogSetPartitionType(*args): - # Variables locales - DISK = None - PART = None - PTTYPE = None - TYPE = None +def ogSetPartitionType (disk, par, t): + DISK = ogDiskToDev (disk) + if not DISK: return None - # Si se solicita, mostrar ayuda. - if len(args) == 1 and args[0] == "help": - SystemLib.ogHelp('ogSetPartitionType', 'ogSetPartitionType int_ndisk int_npartition str_type', 'ogSetPartitionType 1 1 NTFS') - return + PART = ogDiskToDev (disk, par) + if not PART: return None - # Error si no se reciben 3 parámetros. - if len(args) != 3: - SystemLib.ogRaiseError(OG_ERR_FORMAT) - return + PTTYPE = ogGetPartitionTableType (disk) + if not PTTYPE: return None - # Sustituye nº de disco por su dispositivo. - DISK = ogDiskToDev(args[0]) - if DISK is None: - return - PART = ogDiskToDev(args[0], args[1]) - if PART is None: - return + ID = ogTypeToId (t, PTTYPE) + if not ID: + SystemLib.ogRaiseError ([], ogGlobals.OG_ERR_FORMAT, f'{t},{PTTYPE}') + return None - # Elección del tipo de partición. - PTTYPE = ogGetPartitionTableType(args[0]) - if PTTYPE is None: - return - TYPE = args[2] - ID = ogTypeToId(TYPE, PTTYPE) - if ID is None: - SystemLib.ogRaiseError(OG_ERR_FORMAT, f"{TYPE},{PTTYPE}") - return - - ogSetPartitionId(args[0], args[1], ID) - return + ogSetPartitionId (disk, par, ID) #/** diff --git a/client/shared/functions/ogSetPartitionType b/client/shared/functions/ogSetPartitionType new file mode 100755 index 0000000..875d0c4 --- /dev/null +++ b/client/shared/functions/ogSetPartitionType @@ -0,0 +1,24 @@ +#!/usr/bin/python3 + +import sys +import argparse +from SystemLib import ogHelp +from DiskLib import ogSetPartitionType + +parser = argparse.ArgumentParser (add_help=False) +parser.add_argument ('disk') +parser.add_argument ('par') +parser.add_argument ('type') + +if 2 == len (sys.argv) and 'help' == sys.argv[1]: + #parser.print_help() sale en inglés aunque la locale indique otra cosa + ogHelp ('ogSetPartitionType', 'ogSetPartitionType int_ndisk int_npartition str_type', ['ogSetPartitionType 1 1 NTFS']) + sys.exit (0) + +args = parser.parse_args() +ret = ogSetPartitionType (args.disk, args.par, args.type) + +if ret is not None: + if ret == True: sys.exit (0) + elif ret == False: sys.exit (1) + else: print (ret)