make all subiquity controllers used inherit from SubiquityController
There is going to be a chunk of subiquity specific functionality coming for autoinstalls, this gives us somewhere to put it.
This commit is contained in:
parent
df02e85cab
commit
cfc38e1c1b
|
@ -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,
|
||||
schedule_task,
|
||||
)
|
||||
from subiquitycore.controller import NoUIController
|
||||
|
||||
from subiquity.controller import NoUIController
|
||||
|
||||
|
||||
log = logging.getLogger('subiquity.controllers.error')
|
||||
|
|
|
@ -27,12 +27,12 @@ from subiquitycore.async_helpers import (
|
|||
schedule_task,
|
||||
SingleInstanceTask,
|
||||
)
|
||||
from subiquitycore.controller import BaseController
|
||||
from subiquitycore.utils import (
|
||||
arun_command,
|
||||
run_command,
|
||||
)
|
||||
|
||||
from subiquity.controller import SubiquityController
|
||||
from subiquity.controllers.error import ErrorReportKind
|
||||
from subiquity.models.filesystem import (
|
||||
align_up,
|
||||
|
@ -59,7 +59,7 @@ PREP_GRUB_SIZE_BYTES = 8 * 1024 * 1024 # 8MiB
|
|||
UEFI_GRUB_SIZE_BYTES = 512 * 1024 * 1024 # 512MiB EFI partition
|
||||
|
||||
|
||||
class FilesystemController(BaseController):
|
||||
class FilesystemController(SubiquityController):
|
||||
|
||||
model_name = "filesystem"
|
||||
|
||||
|
|
|
@ -15,14 +15,13 @@
|
|||
|
||||
import logging
|
||||
|
||||
from subiquitycore.controller import BaseController
|
||||
|
||||
from subiquity.controller import SubiquityController
|
||||
from subiquity.ui.views import IdentityView
|
||||
|
||||
log = logging.getLogger('subiquity.controllers.identity')
|
||||
|
||||
|
||||
class IdentityController(BaseController):
|
||||
class IdentityController(SubiquityController):
|
||||
|
||||
model_name = "identity"
|
||||
|
||||
|
|
|
@ -38,13 +38,13 @@ from subiquitycore.async_helpers import (
|
|||
schedule_task,
|
||||
)
|
||||
from subiquitycore.context import Status
|
||||
from subiquitycore.controller import BaseController
|
||||
from subiquitycore.utils import (
|
||||
arun_command,
|
||||
astart_command,
|
||||
run_command,
|
||||
)
|
||||
|
||||
from subiquity.controller import SubiquityController
|
||||
from subiquity.controllers.error import ErrorReportKind
|
||||
from subiquity.ui.views.installprogress import ProgressView
|
||||
|
||||
|
@ -91,7 +91,7 @@ def install_step(label, level=None, childlevel=None):
|
|||
return decorate
|
||||
|
||||
|
||||
class InstallProgressController(BaseController):
|
||||
class InstallProgressController(SubiquityController):
|
||||
|
||||
def __init__(self, app):
|
||||
super().__init__(app)
|
||||
|
|
|
@ -16,15 +16,15 @@
|
|||
import logging
|
||||
|
||||
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.ui.views import KeyboardView
|
||||
|
||||
log = logging.getLogger('subiquity.controllers.keyboard')
|
||||
|
||||
|
||||
class KeyboardController(BaseController):
|
||||
class KeyboardController(SubiquityController):
|
||||
|
||||
model_name = "keyboard"
|
||||
signals = [
|
||||
|
|
|
@ -22,8 +22,8 @@ from subiquitycore.async_helpers import (
|
|||
run_in_thread,
|
||||
SingleInstanceTask,
|
||||
)
|
||||
from subiquitycore.controller import BaseController
|
||||
|
||||
from subiquity.controller import SubiquityController
|
||||
from subiquity.ui.views.mirror import MirrorView
|
||||
|
||||
log = logging.getLogger('subiquity.controllers.mirror')
|
||||
|
@ -36,7 +36,7 @@ class CheckState(enum.IntEnum):
|
|||
DONE = enum.auto()
|
||||
|
||||
|
||||
class MirrorController(BaseController):
|
||||
class MirrorController(SubiquityController):
|
||||
|
||||
model_name = "mirror"
|
||||
signals = [
|
||||
|
|
|
@ -15,8 +15,10 @@
|
|||
|
||||
from subiquitycore.controllers.network import NetworkController
|
||||
|
||||
from subiquity.controller import SubiquityController
|
||||
|
||||
class NetworkController(NetworkController):
|
||||
|
||||
class NetworkController(NetworkController, SubiquityController):
|
||||
|
||||
def done(self):
|
||||
self.configured()
|
||||
|
|
|
@ -16,14 +16,13 @@
|
|||
import logging
|
||||
import os
|
||||
|
||||
from subiquitycore.controller import BaseController
|
||||
|
||||
from subiquity.controller import SubiquityController
|
||||
from subiquity.ui.views.proxy import ProxyView
|
||||
|
||||
log = logging.getLogger('subiquity.controllers.proxy')
|
||||
|
||||
|
||||
class ProxyController(BaseController):
|
||||
class ProxyController(SubiquityController):
|
||||
|
||||
model_name = "proxy"
|
||||
|
||||
|
|
|
@ -25,10 +25,13 @@ from subiquitycore.async_helpers import (
|
|||
SingleInstanceTask,
|
||||
)
|
||||
from subiquitycore.controller import (
|
||||
BaseController,
|
||||
Skip,
|
||||
)
|
||||
|
||||
from subiquity.controller import (
|
||||
SubiquityController,
|
||||
)
|
||||
|
||||
|
||||
log = logging.getLogger('subiquity.controllers.refresh')
|
||||
|
||||
|
@ -39,7 +42,7 @@ class CheckState(enum.IntEnum):
|
|||
UNAVAILABLE = enum.auto()
|
||||
|
||||
|
||||
class RefreshController(BaseController):
|
||||
class RefreshController(SubiquityController):
|
||||
|
||||
signals = [
|
||||
('snapd-network-change', 'snapd_network_changed'),
|
||||
|
|
|
@ -28,7 +28,7 @@ from curtin.reporter.handlers import (
|
|||
LogHandler,
|
||||
)
|
||||
|
||||
from subiquitycore.controller import NoUIController
|
||||
from subiquity.controller import NoUIController
|
||||
|
||||
|
||||
class LogHandler(LogHandler):
|
||||
|
|
|
@ -21,10 +21,13 @@ from subiquitycore.async_helpers import (
|
|||
schedule_task,
|
||||
)
|
||||
from subiquitycore.controller import (
|
||||
BaseController,
|
||||
Skip,
|
||||
)
|
||||
|
||||
from subiquity.controller import (
|
||||
SubiquityController,
|
||||
)
|
||||
|
||||
from subiquity.models.snaplist import SnapSelection
|
||||
from subiquity.ui.views.snaplist import SnapListView
|
||||
|
||||
|
@ -99,7 +102,7 @@ class SnapdSnapInfoLoader:
|
|||
return self.tasks[snap]
|
||||
|
||||
|
||||
class SnapListController(BaseController):
|
||||
class SnapListController(SubiquityController):
|
||||
|
||||
model_name = "snaplist"
|
||||
signals = [
|
||||
|
|
|
@ -17,9 +17,9 @@ import logging
|
|||
import subprocess
|
||||
|
||||
from subiquitycore.async_helpers import schedule_task
|
||||
from subiquitycore.controller import BaseController
|
||||
from subiquitycore import utils
|
||||
|
||||
from subiquity.controller import SubiquityController
|
||||
from subiquity.ui.views.ssh import SSHView
|
||||
|
||||
log = logging.getLogger('subiquity.controllers.ssh')
|
||||
|
@ -31,7 +31,7 @@ class FetchSSHKeysFailure(Exception):
|
|||
self.output = output
|
||||
|
||||
|
||||
class SSHController(BaseController):
|
||||
class SSHController(SubiquityController):
|
||||
|
||||
model_name = "ssh"
|
||||
|
||||
|
|
|
@ -16,15 +16,14 @@
|
|||
import logging
|
||||
import os
|
||||
|
||||
from subiquitycore.controller import BaseController
|
||||
|
||||
from subiquity.controller import SubiquityController
|
||||
from subiquity.ui.views import WelcomeView
|
||||
|
||||
|
||||
log = logging.getLogger('subiquity.controllers.welcome')
|
||||
|
||||
|
||||
class WelcomeController(BaseController):
|
||||
class WelcomeController(SubiquityController):
|
||||
|
||||
model_name = "locale"
|
||||
|
||||
|
|
|
@ -21,9 +21,10 @@ import shlex
|
|||
from collections import OrderedDict
|
||||
from urwid import Text
|
||||
|
||||
from subiquitycore.controller import BaseController
|
||||
from subiquitycore.ui.utils import Color
|
||||
from subiquitycore.utils import run_command
|
||||
|
||||
from subiquity.controller import SubiquityController
|
||||
from subiquity.ui.views import ZdevView
|
||||
|
||||
|
||||
|
@ -627,7 +628,7 @@ class ZdevInfo:
|
|||
return self.type
|
||||
|
||||
|
||||
class ZdevController(BaseController):
|
||||
class ZdevController(SubiquityController):
|
||||
|
||||
def __init__(self, app):
|
||||
super().__init__(app)
|
||||
|
|
|
@ -85,11 +85,6 @@ class BaseController(ABC):
|
|||
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):
|
||||
return None
|
||||
|
||||
|
@ -154,12 +149,3 @@ class RepeatedController(BaseController):
|
|||
|
||||
def cancel(self):
|
||||
self.orig.cancel()
|
||||
|
||||
|
||||
class NoUIController(BaseController):
|
||||
|
||||
def start_ui(self):
|
||||
raise Skip
|
||||
|
||||
def cancel(self):
|
||||
pass
|
||||
|
|
Loading…
Reference in New Issue