refs #1514 add ogSetPartitionType

pull/1/head
Natalia Serrano 2025-02-14 14:17:44 +01:00
parent d71e261829
commit b193dadf31
2 changed files with 36 additions and 33 deletions

View File

@ -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)
#/**

View File

@ -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)