From fc45c605c27c34270c0ab8de0b015c163215aa28 Mon Sep 17 00:00:00 2001 From: Yann Dirson Date: Wed, 14 Dec 2022 11:46:37 +0100 Subject: [PATCH 1/2] New diskutil.getHumanDiskLabel to centralize formatting of disk name for user Signed-off-by: Yann Dirson --- diskutil.py | 4 ++++ tui/installer/screens.py | 8 ++------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/diskutil.py b/diskutil.py index 952977b4..d2943a16 100644 --- a/diskutil.py +++ b/diskutil.py @@ -392,6 +392,10 @@ def getHumanDiskName(disk): return disk[5:] return disk +def getHumanDiskLabel(disk): + (vendor, model, size) = getExtendedDiskInfo(disk) + return "%s - %s [%s %s]" % (getHumanDiskName(disk), getHumanDiskSize(size), vendor, model) + # given a list of disks, work out which ones are part of volume # groups that will cause a problem if we install XE to those disks: def findProblematicVGs(disks): diff --git a/tui/installer/screens.py b/tui/installer/screens.py index e7b52721..e83f158d 100644 --- a/tui/installer/screens.py +++ b/tui/installer/screens.py @@ -556,9 +556,7 @@ def select_primary_disk(answers): (boot, root, state, storage, logs) = diskutil.probeDisk(de) if storage[0]: target_is_sr[de] = True - (vendor, model, size) = diskutil.getExtendedDiskInfo(de) - stringEntry = "%s - %s [%s %s]" % (diskutil.getHumanDiskName(de), diskutil.getHumanDiskSize(size), vendor, model) - e = (stringEntry, de) + e = (diskutil.getHumanDiskLabel(de), de) entries.append(e) # we should have at least one disk @@ -665,9 +663,7 @@ def select_guest_disks(answers): # Make a list of entries: (text, item) entries = [] for de in diskEntries: - (vendor, model, size) = diskutil.getExtendedDiskInfo(de) - entry = "%s - %s [%s %s]" % (diskutil.getHumanDiskName(de), diskutil.getHumanDiskSize(size), vendor, model) - entries.append((entry, de)) + entries.append((diskutil.getHumanDiskLabel(de), de)) text = TextboxReflowed(54, "Which disks would you like to use for %s storage? \n\nOne storage repository will be created that spans the selected disks. You can choose not to prepare any storage if you wish to create an advanced configuration after installation." % BRAND_GUEST) buttons = ButtonBar(tui.screen, [('Ok', 'ok'), ('Back', 'back')]) From 97052fc75a85093e8a9335c42bec8482a5976e3c Mon Sep 17 00:00:00 2001 From: Yann Dirson Date: Thu, 8 Dec 2022 17:19:53 +0100 Subject: [PATCH 2/2] tui: show the disk on which an existing installation or backup is found Adding disk vendor and model would be useful, but can take too much horizontal space, especially for good old 80x25 resolution, so we use a shorter string with just the disk size for disambiguation. Signed-off-by: Yann Dirson --- diskutil.py | 6 ++++-- tui/installer/screens.py | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/diskutil.py b/diskutil.py index d2943a16..616dae11 100644 --- a/diskutil.py +++ b/diskutil.py @@ -392,9 +392,11 @@ def getHumanDiskName(disk): return disk[5:] return disk -def getHumanDiskLabel(disk): +def getHumanDiskLabel(disk, short=False): (vendor, model, size) = getExtendedDiskInfo(disk) - return "%s - %s [%s %s]" % (getHumanDiskName(disk), getHumanDiskSize(size), vendor, model) + template = "{device} - {size} [{vendor} {model}]" if not short else "{device} - {size}" + return template.format(device=getHumanDiskName(disk), size=getHumanDiskSize(size), + vendor=vendor, model=model) # given a list of disks, work out which ones are part of volume # groups that will cause a problem if we install XE to those disks: diff --git a/tui/installer/screens.py b/tui/installer/screens.py index e83f158d..bd594a0c 100644 --- a/tui/installer/screens.py +++ b/tui/installer/screens.py @@ -218,9 +218,11 @@ def get_admin_interface_configuration(answers): def get_installation_type(answers): entries = [] for x in answers['upgradeable-products']: - entries.append(("Upgrade %s" % str(x), (x, x.settingsAvailable()))) + entries.append(("Upgrade %s on %s" % (x, diskutil.getHumanDiskLabel(x.primary_disk, short=True)), + (x, x.settingsAvailable()))) for b in answers['backups']: - entries.append(("Restore %s from backup" % str(b), (b, None))) + entries.append(("Restore %s from backup to %s" % (b, diskutil.getHumanDiskLabel(b.root_disk, short=True)), + (b, None))) entries.append( ("Perform clean installation", None) )