Pass the list of drivers instead of a boolean
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
This commit is contained in:
parent
996391793d
commit
6c7b5b8a93
|
@ -15,6 +15,7 @@
|
|||
|
||||
import asyncio
|
||||
import logging
|
||||
from typing import List
|
||||
|
||||
from subiquitycore.tuicontroller import Skip
|
||||
|
||||
|
@ -31,17 +32,14 @@ class DriversController(SubiquityTuiController):
|
|||
|
||||
async def make_ui(self) -> DriversView:
|
||||
response: DriversResponse = await self.endpoint.GET()
|
||||
if response.drivers is not None and not response.drivers:
|
||||
if not response.drivers and response.drivers is not None:
|
||||
raise Skip
|
||||
if response.drivers is None:
|
||||
return DriversView(self, None, response.install)
|
||||
else:
|
||||
return DriversView(self, bool(response.drivers), response.install)
|
||||
return DriversView(self, response.drivers, response.install)
|
||||
|
||||
async def _wait_drivers(self) -> bool:
|
||||
async def _wait_drivers(self) -> List[str]:
|
||||
response: DriversResponse = await self.endpoint.GET(wait=True)
|
||||
assert response.drivers is not None
|
||||
return bool(response.drivers)
|
||||
return response.drivers
|
||||
|
||||
async def run_answers(self):
|
||||
if 'install' not in self.answers:
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
import asyncio
|
||||
from enum import auto, Enum
|
||||
import logging
|
||||
from typing import Optional
|
||||
from typing import List, Optional
|
||||
|
||||
from urwid import (
|
||||
connect_signal,
|
||||
|
@ -60,11 +60,11 @@ class DriversView(BaseView):
|
|||
|
||||
form = None
|
||||
|
||||
def __init__(self, controller, has_drivers: Optional[bool],
|
||||
def __init__(self, controller, drivers: Optional[List[str]],
|
||||
install: bool) -> None:
|
||||
self.controller = controller
|
||||
|
||||
if has_drivers is None:
|
||||
if drivers is None:
|
||||
self.make_waiting(install)
|
||||
else:
|
||||
self.make_main(install)
|
||||
|
@ -89,9 +89,9 @@ class DriversView(BaseView):
|
|||
async def _wait(self, install: bool) -> None:
|
||||
""" Wait until the "list" of drivers is available and change the view
|
||||
accordingly. """
|
||||
has_drivers = await self.controller._wait_drivers()
|
||||
drivers = await self.controller._wait_drivers()
|
||||
self.spinner.stop()
|
||||
if has_drivers:
|
||||
if drivers:
|
||||
self.make_main(install)
|
||||
else:
|
||||
self.make_no_drivers()
|
||||
|
|
Loading…
Reference in New Issue