Merge pull request #617 from mwhudson/subiquity-controller
make all subiquity controllers used inherit from SubiquityController
This commit is contained in:
commit
b1fb40507f
|
@ -0,0 +1,41 @@
|
||||||
|
# Copyright 2019 Canonical, Ltd.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Affero General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
import logging
|
||||||
|
|
||||||
|
from subiquitycore.controller import (
|
||||||
|
BaseController,
|
||||||
|
Skip,
|
||||||
|
)
|
||||||
|
|
||||||
|
log = logging.getLogger("subiquity.controller")
|
||||||
|
|
||||||
|
|
||||||
|
class SubiquityController(BaseController):
|
||||||
|
|
||||||
|
def configured(self):
|
||||||
|
"""Let the world know that this controller's model is now configured.
|
||||||
|
"""
|
||||||
|
if self.model_name is not None:
|
||||||
|
self.app.base_model.configured(self.model_name)
|
||||||
|
|
||||||
|
|
||||||
|
class NoUIController(SubiquityController):
|
||||||
|
|
||||||
|
def start_ui(self):
|
||||||
|
raise Skip
|
||||||
|
|
||||||
|
def cancel(self):
|
||||||
|
pass
|
|
@ -35,7 +35,8 @@ from subiquitycore.async_helpers import (
|
||||||
run_in_thread,
|
run_in_thread,
|
||||||
schedule_task,
|
schedule_task,
|
||||||
)
|
)
|
||||||
from subiquitycore.controller import NoUIController
|
|
||||||
|
from subiquity.controller import NoUIController
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.controllers.error')
|
log = logging.getLogger('subiquity.controllers.error')
|
||||||
|
|
|
@ -27,12 +27,12 @@ from subiquitycore.async_helpers import (
|
||||||
schedule_task,
|
schedule_task,
|
||||||
SingleInstanceTask,
|
SingleInstanceTask,
|
||||||
)
|
)
|
||||||
from subiquitycore.controller import BaseController
|
|
||||||
from subiquitycore.utils import (
|
from subiquitycore.utils import (
|
||||||
arun_command,
|
arun_command,
|
||||||
run_command,
|
run_command,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from subiquity.controller import SubiquityController
|
||||||
from subiquity.controllers.error import ErrorReportKind
|
from subiquity.controllers.error import ErrorReportKind
|
||||||
from subiquity.models.filesystem import (
|
from subiquity.models.filesystem import (
|
||||||
align_up,
|
align_up,
|
||||||
|
@ -59,7 +59,7 @@ PREP_GRUB_SIZE_BYTES = 8 * 1024 * 1024 # 8MiB
|
||||||
UEFI_GRUB_SIZE_BYTES = 512 * 1024 * 1024 # 512MiB EFI partition
|
UEFI_GRUB_SIZE_BYTES = 512 * 1024 * 1024 # 512MiB EFI partition
|
||||||
|
|
||||||
|
|
||||||
class FilesystemController(BaseController):
|
class FilesystemController(SubiquityController):
|
||||||
|
|
||||||
model_name = "filesystem"
|
model_name = "filesystem"
|
||||||
|
|
||||||
|
|
|
@ -15,14 +15,13 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from subiquitycore.controller import BaseController
|
from subiquity.controller import SubiquityController
|
||||||
|
|
||||||
from subiquity.ui.views import IdentityView
|
from subiquity.ui.views import IdentityView
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.controllers.identity')
|
log = logging.getLogger('subiquity.controllers.identity')
|
||||||
|
|
||||||
|
|
||||||
class IdentityController(BaseController):
|
class IdentityController(SubiquityController):
|
||||||
|
|
||||||
model_name = "identity"
|
model_name = "identity"
|
||||||
|
|
||||||
|
|
|
@ -38,13 +38,13 @@ from subiquitycore.async_helpers import (
|
||||||
schedule_task,
|
schedule_task,
|
||||||
)
|
)
|
||||||
from subiquitycore.context import Status
|
from subiquitycore.context import Status
|
||||||
from subiquitycore.controller import BaseController
|
|
||||||
from subiquitycore.utils import (
|
from subiquitycore.utils import (
|
||||||
arun_command,
|
arun_command,
|
||||||
astart_command,
|
astart_command,
|
||||||
run_command,
|
run_command,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from subiquity.controller import SubiquityController
|
||||||
from subiquity.controllers.error import ErrorReportKind
|
from subiquity.controllers.error import ErrorReportKind
|
||||||
from subiquity.ui.views.installprogress import ProgressView
|
from subiquity.ui.views.installprogress import ProgressView
|
||||||
|
|
||||||
|
@ -91,7 +91,7 @@ def install_step(label, level=None, childlevel=None):
|
||||||
return decorate
|
return decorate
|
||||||
|
|
||||||
|
|
||||||
class InstallProgressController(BaseController):
|
class InstallProgressController(SubiquityController):
|
||||||
|
|
||||||
def __init__(self, app):
|
def __init__(self, app):
|
||||||
super().__init__(app)
|
super().__init__(app)
|
||||||
|
|
|
@ -16,15 +16,15 @@
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from subiquitycore.async_helpers import schedule_task
|
from subiquitycore.async_helpers import schedule_task
|
||||||
from subiquitycore.controller import BaseController
|
|
||||||
|
|
||||||
|
from subiquity.controller import SubiquityController
|
||||||
from subiquity.models.keyboard import KeyboardSetting
|
from subiquity.models.keyboard import KeyboardSetting
|
||||||
from subiquity.ui.views import KeyboardView
|
from subiquity.ui.views import KeyboardView
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.controllers.keyboard')
|
log = logging.getLogger('subiquity.controllers.keyboard')
|
||||||
|
|
||||||
|
|
||||||
class KeyboardController(BaseController):
|
class KeyboardController(SubiquityController):
|
||||||
|
|
||||||
model_name = "keyboard"
|
model_name = "keyboard"
|
||||||
signals = [
|
signals = [
|
||||||
|
|
|
@ -22,8 +22,8 @@ from subiquitycore.async_helpers import (
|
||||||
run_in_thread,
|
run_in_thread,
|
||||||
SingleInstanceTask,
|
SingleInstanceTask,
|
||||||
)
|
)
|
||||||
from subiquitycore.controller import BaseController
|
|
||||||
|
|
||||||
|
from subiquity.controller import SubiquityController
|
||||||
from subiquity.ui.views.mirror import MirrorView
|
from subiquity.ui.views.mirror import MirrorView
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.controllers.mirror')
|
log = logging.getLogger('subiquity.controllers.mirror')
|
||||||
|
@ -36,7 +36,7 @@ class CheckState(enum.IntEnum):
|
||||||
DONE = enum.auto()
|
DONE = enum.auto()
|
||||||
|
|
||||||
|
|
||||||
class MirrorController(BaseController):
|
class MirrorController(SubiquityController):
|
||||||
|
|
||||||
model_name = "mirror"
|
model_name = "mirror"
|
||||||
signals = [
|
signals = [
|
||||||
|
|
|
@ -15,8 +15,10 @@
|
||||||
|
|
||||||
from subiquitycore.controllers.network import NetworkController
|
from subiquitycore.controllers.network import NetworkController
|
||||||
|
|
||||||
|
from subiquity.controller import SubiquityController
|
||||||
|
|
||||||
class NetworkController(NetworkController):
|
|
||||||
|
class NetworkController(NetworkController, SubiquityController):
|
||||||
|
|
||||||
def done(self):
|
def done(self):
|
||||||
self.configured()
|
self.configured()
|
||||||
|
|
|
@ -16,14 +16,13 @@
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from subiquitycore.controller import BaseController
|
from subiquity.controller import SubiquityController
|
||||||
|
|
||||||
from subiquity.ui.views.proxy import ProxyView
|
from subiquity.ui.views.proxy import ProxyView
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.controllers.proxy')
|
log = logging.getLogger('subiquity.controllers.proxy')
|
||||||
|
|
||||||
|
|
||||||
class ProxyController(BaseController):
|
class ProxyController(SubiquityController):
|
||||||
|
|
||||||
model_name = "proxy"
|
model_name = "proxy"
|
||||||
|
|
||||||
|
|
|
@ -25,10 +25,13 @@ from subiquitycore.async_helpers import (
|
||||||
SingleInstanceTask,
|
SingleInstanceTask,
|
||||||
)
|
)
|
||||||
from subiquitycore.controller import (
|
from subiquitycore.controller import (
|
||||||
BaseController,
|
|
||||||
Skip,
|
Skip,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from subiquity.controller import (
|
||||||
|
SubiquityController,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.controllers.refresh')
|
log = logging.getLogger('subiquity.controllers.refresh')
|
||||||
|
|
||||||
|
@ -39,7 +42,7 @@ class CheckState(enum.IntEnum):
|
||||||
UNAVAILABLE = enum.auto()
|
UNAVAILABLE = enum.auto()
|
||||||
|
|
||||||
|
|
||||||
class RefreshController(BaseController):
|
class RefreshController(SubiquityController):
|
||||||
|
|
||||||
signals = [
|
signals = [
|
||||||
('snapd-network-change', 'snapd_network_changed'),
|
('snapd-network-change', 'snapd_network_changed'),
|
||||||
|
|
|
@ -28,7 +28,7 @@ from curtin.reporter.handlers import (
|
||||||
LogHandler,
|
LogHandler,
|
||||||
)
|
)
|
||||||
|
|
||||||
from subiquitycore.controller import NoUIController
|
from subiquity.controller import NoUIController
|
||||||
|
|
||||||
|
|
||||||
class LogHandler(LogHandler):
|
class LogHandler(LogHandler):
|
||||||
|
|
|
@ -21,10 +21,13 @@ from subiquitycore.async_helpers import (
|
||||||
schedule_task,
|
schedule_task,
|
||||||
)
|
)
|
||||||
from subiquitycore.controller import (
|
from subiquitycore.controller import (
|
||||||
BaseController,
|
|
||||||
Skip,
|
Skip,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from subiquity.controller import (
|
||||||
|
SubiquityController,
|
||||||
|
)
|
||||||
|
|
||||||
from subiquity.models.snaplist import SnapSelection
|
from subiquity.models.snaplist import SnapSelection
|
||||||
from subiquity.ui.views.snaplist import SnapListView
|
from subiquity.ui.views.snaplist import SnapListView
|
||||||
|
|
||||||
|
@ -99,7 +102,7 @@ class SnapdSnapInfoLoader:
|
||||||
return self.tasks[snap]
|
return self.tasks[snap]
|
||||||
|
|
||||||
|
|
||||||
class SnapListController(BaseController):
|
class SnapListController(SubiquityController):
|
||||||
|
|
||||||
model_name = "snaplist"
|
model_name = "snaplist"
|
||||||
signals = [
|
signals = [
|
||||||
|
|
|
@ -17,9 +17,9 @@ import logging
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
from subiquitycore.async_helpers import schedule_task
|
from subiquitycore.async_helpers import schedule_task
|
||||||
from subiquitycore.controller import BaseController
|
|
||||||
from subiquitycore import utils
|
from subiquitycore import utils
|
||||||
|
|
||||||
|
from subiquity.controller import SubiquityController
|
||||||
from subiquity.ui.views.ssh import SSHView
|
from subiquity.ui.views.ssh import SSHView
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.controllers.ssh')
|
log = logging.getLogger('subiquity.controllers.ssh')
|
||||||
|
@ -31,7 +31,7 @@ class FetchSSHKeysFailure(Exception):
|
||||||
self.output = output
|
self.output = output
|
||||||
|
|
||||||
|
|
||||||
class SSHController(BaseController):
|
class SSHController(SubiquityController):
|
||||||
|
|
||||||
model_name = "ssh"
|
model_name = "ssh"
|
||||||
|
|
||||||
|
|
|
@ -16,15 +16,14 @@
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from subiquitycore.controller import BaseController
|
from subiquity.controller import SubiquityController
|
||||||
|
|
||||||
from subiquity.ui.views import WelcomeView
|
from subiquity.ui.views import WelcomeView
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger('subiquity.controllers.welcome')
|
log = logging.getLogger('subiquity.controllers.welcome')
|
||||||
|
|
||||||
|
|
||||||
class WelcomeController(BaseController):
|
class WelcomeController(SubiquityController):
|
||||||
|
|
||||||
model_name = "locale"
|
model_name = "locale"
|
||||||
|
|
||||||
|
|
|
@ -21,9 +21,10 @@ import shlex
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from urwid import Text
|
from urwid import Text
|
||||||
|
|
||||||
from subiquitycore.controller import BaseController
|
|
||||||
from subiquitycore.ui.utils import Color
|
from subiquitycore.ui.utils import Color
|
||||||
from subiquitycore.utils import run_command
|
from subiquitycore.utils import run_command
|
||||||
|
|
||||||
|
from subiquity.controller import SubiquityController
|
||||||
from subiquity.ui.views import ZdevView
|
from subiquity.ui.views import ZdevView
|
||||||
|
|
||||||
|
|
||||||
|
@ -627,7 +628,7 @@ class ZdevInfo:
|
||||||
return self.type
|
return self.type
|
||||||
|
|
||||||
|
|
||||||
class ZdevController(BaseController):
|
class ZdevController(SubiquityController):
|
||||||
|
|
||||||
def __init__(self, app):
|
def __init__(self, app):
|
||||||
super().__init__(app)
|
super().__init__(app)
|
||||||
|
|
|
@ -85,11 +85,6 @@ class BaseController(ABC):
|
||||||
running.
|
running.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def configured(self):
|
|
||||||
"""Let the world know that this controller's model is now configured.
|
|
||||||
"""
|
|
||||||
self.app.base_model.configured(self.model_name)
|
|
||||||
|
|
||||||
def serialize(self):
|
def serialize(self):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
@ -154,12 +149,3 @@ class RepeatedController(BaseController):
|
||||||
|
|
||||||
def cancel(self):
|
def cancel(self):
|
||||||
self.orig.cancel()
|
self.orig.cancel()
|
||||||
|
|
||||||
|
|
||||||
class NoUIController(BaseController):
|
|
||||||
|
|
||||||
def start_ui(self):
|
|
||||||
raise Skip
|
|
||||||
|
|
||||||
def cancel(self):
|
|
||||||
pass
|
|
||||||
|
|
Loading…
Reference in New Issue