subiquity/system_setup/client/controllers/wslconfbase.py

39 lines
1.2 KiB
Python

import logging
from subiquity.client.controller import SubiquityTuiController
from subiquity.common.types import WSLConfigurationBase
from system_setup.ui.views.wslconfbase import WSLConfigurationBaseView
log = logging.getLogger("system_setup.client.controllers.wslconfbase")
class WSLConfigurationBaseController(SubiquityTuiController):
endpoint_name = "wslconfbase"
async def make_ui(self):
data = await self.endpoint.GET()
return WSLConfigurationBaseView(self, data)
def run_answers(self):
if all(
elem in self.answers
for elem in [
"automount_root",
"automount_options",
"network_generatehosts",
"network_generateresolvconf",
]
):
configuration = WSLConfigurationBase(**self.answers)
self.done(configuration)
def done(self, configuration_data):
log.debug(
"WSLConfigurationBaseController.done next_screen user_spec=%s",
configuration_data,
)
self.app.next_screen(self.endpoint.POST(configuration_data))
def cancel(self):
self.app.prev_screen()