Fix #746 - Can't create a filesystem on a new partition during the manual partitioning (#751)

* Changed default value of info in largest_free_space()
* Fixing bad assumption that a disk always contain a minimum of two partitions.
This commit is contained in:
Anton Hvornum 2021-11-22 09:33:00 +00:00 committed by GitHub
parent 66e23af422
commit c264fd466a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 4 deletions

View File

@ -192,7 +192,7 @@ class BlockDevice:
@property
def largest_free_space(self):
info = None
info = []
for space_info in self.free_space:
if not info:
info = space_info
@ -202,6 +202,22 @@ class BlockDevice:
info = space_info
return info
@property
def first_free_sector(self):
if info := self.largest_free_space:
start = info[0]
else:
start = '512MB'
return start
@property
def first_end_sector(self):
if info := self.largest_free_space:
end = info[1]
else:
end = f"{self.size}GB"
return end
def partprobe(self):
SysCommand(['partprobe', self.path])

View File

@ -643,10 +643,10 @@ def manage_new_and_existing_partitions(block_device :BlockDevice) -> dict:
fstype = input("Enter a desired filesystem type for the partition: ").strip()
start = input(f"Enter the start sector (percentage or block number, default: {block_device.largest_free_space[0]}): ").strip()
start = input(f"Enter the start sector (percentage or block number, default: {block_device.first_free_sector}): ").strip()
if not start.strip():
start = block_device.largest_free_space[0]
end_suggested = block_device.largest_free_space[1]
start = block_device.first_free_sector
end_suggested = block_device.first_end_sector
else:
end_suggested = '100%'
end = input(f"Enter the end sector of the partition (percentage or block number, ex: {end_suggested}): ").strip()