From 788ae31b0fae95ba0424e224029959e8bcab972c Mon Sep 17 00:00:00 2001 From: Natalia Serrano Date: Thu, 13 Feb 2025 14:03:28 +0100 Subject: [PATCH] refs #1509 add ogDeletePartitionTable --- client/lib/engine/bin/DiskLib.py | 32 +++++-------------- .../shared/functions/ogDeletePartitionTable | 22 +++++++++++++ 2 files changed, 30 insertions(+), 24 deletions(-) create mode 100755 client/shared/functions/ogDeletePartitionTable diff --git a/client/lib/engine/bin/DiskLib.py b/client/lib/engine/bin/DiskLib.py index 0faee2a..1279f70 100755 --- a/client/lib/engine/bin/DiskLib.py +++ b/client/lib/engine/bin/DiskLib.py @@ -320,31 +320,15 @@ def ogCreatePartitionTable (disk, createptt=None): #@param int_ndisk nº de orden del disco #@return la informacion propia del fdisk #*/ ## -def ogDeletePartitionTable(*args): - # Variables locales - DISK = None +def ogDeletePartitionTable (disk): + DISK = ogDiskToDev (disk) + if not DISK: return None - # Si se solicita, mostrar ayuda. - if len(args) == 1 and args[0] == "help": - SystemLib.ogHelp('ogDeletePartitionTable', 'ogDeletePartitionTable int_ndisk', 'ogDeletePartitionTable 1') - return - - # Error si no se reciben 1 parámetros. - if len(args) != 1: - SystemLib.ogRaiseError(OG_ERR_FORMAT) - return - - # Obteniendo Identificador linux del disco. - DISK = ogDiskToDev(args[0]) - if DISK is None: - return - - # Crear una tabla de particiones vacía. - PTTYPE = ogGetPartitionTableType(args[0]) - if PTTYPE == "GPT": - subprocess.run(["sgdisk", "-o", DISK]) - elif PTTYPE == "MSDOS": - subprocess.run(["fdisk", DISK], input="o\nw", text=True) + PTTYPE = ogGetPartitionTableType (disk) + if 'GPT' == PTTYPE: + subprocess.run (['sgdisk', '--clear', DISK]) + elif 'MSDOS' == PTTYPE: + subprocess.run (['fdisk', DISK], input='o\nw', text=True) return #/** diff --git a/client/shared/functions/ogDeletePartitionTable b/client/shared/functions/ogDeletePartitionTable new file mode 100755 index 0000000..5d35b5d --- /dev/null +++ b/client/shared/functions/ogDeletePartitionTable @@ -0,0 +1,22 @@ +#!/usr/bin/python3 + +import sys +import argparse +from SystemLib import ogHelp +from DiskLib import ogDeletePartitionTable + +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 ('ogDeletePartitionTable', 'ogDeletePartitionTable int_ndisk', ['ogDeletePartitionTable 1']) + sys.exit (0) + +args = parser.parse_args() +ret = ogDeletePartitionTable (args.disk) + +if ret is not None: + if ret == True: sys.exit (0) + elif ret == False: sys.exit (1) + else: print (ret)