disk-provider: fix demo mode check

This commit is contained in:
Peter Eisenmann
2024-06-04 21:26:30 +02:00
parent 99c44038d6
commit 8e910a438f
4 changed files with 15 additions and 8 deletions

View File

@@ -190,4 +190,8 @@ In demo-mode use DiskDummyProvider to
a) avoid any interaction with real disks
b) avoid using UDisks in Flatpak (not installed)
"""
disk_provider = DiskProvider() if not global_state.demo_mode else DiskDummyProvider()
def get_disk_provider():
if global_state.demo_mode:
return DiskDummyProvider()
else:
return DiskProvider()

View File

@@ -3,7 +3,7 @@
from threading import Thread
from .choices_provider import choices_provider
from .disk_provider import disk_provider
from .disk_provider import get_disk_provider
from .language_provider import language_provider
@@ -15,6 +15,7 @@ class PreloadManager:
language_provider.preload()
language_provider.assert_preloaded()
disk_provider = get_disk_provider()
disk_provider.preload()
disk_provider.assert_preloaded()

View File

@@ -4,7 +4,7 @@ from threading import Lock
from gi.repository import Gio, Gtk
from .disk_provider import DeviceInfo, disk_provider
from .disk_provider import DeviceInfo, get_disk_provider
from .global_state import global_state
from .installation_scripting import installation_scripting, Step
from .page import Page
@@ -31,6 +31,7 @@ class DiskPage(Gtk.Stack, Page):
Gtk.Stack.__init__(self, **kwargs)
self.minimum_disk_size = global_state.get_config('minimum_disk_size')
self.disk_provider = get_disk_provider()
# models
self.disk_list.bind_model(self.disk_list_model, self._create_device_row)
@@ -39,11 +40,11 @@ class DiskPage(Gtk.Stack, Page):
if info.size >= self.minimum_disk_size:
return DeviceRow(info)
else:
required_size_str = disk_provider.disk_size_to_str(self.minimum_disk_size)
required_size_str = self.disk_provider.disk_size_to_str(self.minimum_disk_size)
return DeviceRow(info, required_size_str)
def _setup_disk_list(self):
disks = disk_provider.get_disks()
disks = self.disk_provider.get_disks()
if len(disks) == 0:
self.set_visible_child_name('no-disks')

View File

@@ -5,7 +5,7 @@ from threading import Lock
from gi.repository import Gio, Gtk
from .disk_provider import disk_provider
from .disk_provider import get_disk_provider
from .global_state import global_state
from .page import Page
from .system_calls import is_booted_with_uefi
@@ -33,6 +33,7 @@ class PartitionPage(Gtk.Box, Page):
def __init__(self, **kwargs):
Gtk.Box.__init__(self, **kwargs)
self.disk_provider = get_disk_provider()
self.disk = None
self.lock = Lock()
self.minimum_disk_size = global_state.get_config('minimum_disk_size')
@@ -45,7 +46,7 @@ class PartitionPage(Gtk.Box, Page):
if info.size >= self.minimum_disk_size:
return DeviceRow(info)
else:
required_size_str = disk_provider.disk_size_to_str(
required_size_str = self.disk_provider.disk_size_to_str(
self.minimum_disk_size)
return DeviceRow(info, required_size_str)
@@ -56,7 +57,7 @@ class PartitionPage(Gtk.Box, Page):
if not claim_existance:
print('demo-mode: randomly chose that disk does not exist anymore')
return claim_existance
elif not disk_provider.disk_exists(self.disk):
elif not self.disk_provider.disk_exists(self.disk):
return False
else:
return True