From 1fdbdd637cafb0e73331cf8f86b87f46dcb6ba4f Mon Sep 17 00:00:00 2001 From: Natalia Serrano Date: Thu, 13 Feb 2025 11:32:49 +0100 Subject: [PATCH] refs #1498 add ogIdToType --- client/lib/engine/bin/DiskLib.py | 160 ++++++++++++----------------- client/shared/functions/ogIdToType | 22 ++++ 2 files changed, 87 insertions(+), 95 deletions(-) create mode 100755 client/shared/functions/ogIdToType diff --git a/client/lib/engine/bin/DiskLib.py b/client/lib/engine/bin/DiskLib.py index 7315d56..7a89fcf 100755 --- a/client/lib/engine/bin/DiskLib.py +++ b/client/lib/engine/bin/DiskLib.py @@ -999,104 +999,74 @@ def ogHidePartition(*args): #@return str_parttype mnemónico de tipo de partición. #@exception OG_ERR_FORMAT Formato incorrecto. #*/ ## -def ogIdToType(ID): +def ogIdToType (ID): # Obtener valor hexadecimal de 4 caracteres rellenado con 0 por delante. ID = ID.zfill(4) - TYPE = None - # Asignar el tipo de partición según el ID. - if ID == "0000": - TYPE = "EMPTY" - elif ID == "0001": - TYPE = "FAT12" - elif ID in ["0005", "000f"]: - TYPE = "EXTENDED" - elif ID in ["0006", "000e"]: - TYPE = "FAT16" - elif ID == "0007": - TYPE = "NTFS" - elif ID in ["000b", "000c"]: - TYPE = "FAT32" - elif ID == "0011": - TYPE = "HFAT12" - elif ID == "0012": - TYPE = "COMPAQDIAG" - elif ID in ["0016", "001e"]: - TYPE = "HFAT16" - elif ID == "0017": - TYPE = "HNTFS" - elif ID in ["001b", "001c"]: - TYPE = "HFAT32" - elif ID == "0042": - TYPE = "WIN-DYNAMIC" - elif ID in ["0082", "8200"]: - TYPE = "LINUX-SWAP" - elif ID in ["0083", "8300"]: - TYPE = "LINUX" - elif ID in ["008e", "8E00"]: - TYPE = "LINUX-LVM" - elif ID in ["00a5", "a503"]: - TYPE = "FREEBSD" - elif ID == "00a6": - TYPE = "OPENBSD" - elif ID == "00a7": - TYPE = "CACHE" # (compatibilidad con Brutalix) - elif ID in ["00af", "af00"]: - TYPE = "HFS" - elif ID in ["00be", "be00"]: - TYPE = "SOLARIS-BOOT" - elif ID in ["00bf", "bf00145"]: - TYPE = "SOLARIS" - elif ID in ["00ca", "ca00"]: - TYPE = "CACHE" - elif ID == "00da": - TYPE = "DATA" - elif ID == "00ee": - TYPE = "GPT" - elif ID in ["00ef", "ef00"]: - TYPE = "EFI" - elif ID == "00fb": - TYPE = "VMFS" - elif ID in ["00fd", "fd00"]: - TYPE = "LINUX-RAID" - elif ID == "0700": - TYPE = "WINDOWS" - elif ID == "0c01": - TYPE = "WIN-RESERV" - elif ID == "7f00": - TYPE = "CHROMEOS-KRN" - elif ID == "7f01": - TYPE = "CHROMEOS" - elif ID == "7f02": - TYPE = "CHROMEOS-RESERV" - elif ID == "8301": - TYPE = "LINUX-RESERV" - elif ID == "a500": - TYPE = "FREEBSD-DISK" - elif ID == "a501": - TYPE = "FREEBSD-BOOT" - elif ID == "a502": - TYPE = "FREEBSD-SWAP" - elif ID == "ab00": - TYPE = "HFS-BOOT" - elif ID == "af01": - TYPE = "HFS-RAID" - elif ID == "bf02": - TYPE = "SOLARIS-SWAP" - elif ID == "bf03": - TYPE = "SOLARIS-DISK" - elif ID == "ef01": - TYPE = "MBR" - elif ID == "ef02": - TYPE = "BIOS-BOOT" - elif ID == "10000": - TYPE = "LVM-LV" - elif ID == "10010": - TYPE = "ZFS-VOL" - else: - TYPE = "UNKNOWN" - - return TYPE + id2type = { + '0000': 'EMPTY', + '0001': 'FAT12', + '0005': 'EXTENDED', + '000f': 'EXTENDED', + '0006': 'FAT16', + '000e': 'FAT16', + '0007': 'NTFS', + '000b': 'FAT32', + '000c': 'FAT32', + '0011': 'HFAT12', + '0012': 'COMPAQDIAG', + '0016': 'HFAT16', + '001e': 'HFAT16', + '0017': 'HNTFS', + '001b': 'HFAT32', + '001c': 'HFAT32', + '0042': 'WIN-DYNAMIC', + '0082': 'LINUX-SWAP', + '8200': 'LINUX-SWAP', + '0083': 'LINUX', + '8300': 'LINUX', + '008e': 'LINUX-LVM', + '8E00': 'LINUX-LVM', + '00a5': 'FREEBSD', + 'a503': 'FREEBSD', + '00a6': 'OPENBSD', + '00a7': 'CACHE', # (compatibilidad con Brutalix) + '00af': 'HFS', + 'af00': 'HFS', + '00be': 'SOLARIS-BOOT', + 'be00': 'SOLARIS-BOOT', + '00bf': 'SOLARIS', + 'bf00145': 'SOLARIS', + '00ca': 'CACHE', + 'ca00': 'CACHE', + '00da': 'DATA', + '00ee': 'GPT', + '00ef': 'EFI', + 'ef00': 'EFI', + '00fb': 'VMFS', + '00fd': 'LINUX-RAID', + 'fd00': 'LINUX-RAID', + '0700': 'WINDOWS', + '0c01': 'WIN-RESERV', + '7f00': 'CHROMEOS-KRN', + '7f01': 'CHROMEOS', + '7f02': 'CHROMEOS-RESERV', + '8301': 'LINUX-RESERV', + 'a500': 'FREEBSD-DISK', + 'a501': 'FREEBSD-BOOT', + 'a502': 'FREEBSD-SWAP', + 'ab00': 'HFS-BOOT', + 'af01': 'HFS-RAID', + 'bf02': 'SOLARIS-SWAP', + 'bf03': 'SOLARIS-DISK', + 'ef01': 'MBR', + 'ef02': 'BIOS-BOOT', + '10000': 'LVM-LV', + '10010': 'ZFS-VOL', + } + if ID in id2type: + return id2type[ID] + return 'UNKNOWN' # ogIsDiskLocked int_ndisk diff --git a/client/shared/functions/ogIdToType b/client/shared/functions/ogIdToType new file mode 100755 index 0000000..50bec6e --- /dev/null +++ b/client/shared/functions/ogIdToType @@ -0,0 +1,22 @@ +#!/usr/bin/python3 + +import sys +import argparse +from SystemLib import ogHelp +from DiskLib import ogIdToType + +parser = argparse.ArgumentParser (add_help=False) +parser.add_argument ('id') + +if 2 == len (sys.argv) and 'help' == sys.argv[1]: + #parser.print_help() sale en inglés aunque la locale indique otra cosa + ogHelp ('ogIdToType', 'ogIdToType int_idpart', ['ogIdToType 83']) + sys.exit (0) + +args = parser.parse_args() +ret = ogIdToType (args.id) + +if ret is not None: + if ret == True: sys.exit (0) + elif ret == False: sys.exit (1) + else: print (ret)