39 lines
1.2 KiB
Python
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()
|