Commit Graph

44 Commits

Author SHA1 Message Date
Michael Hudson-Doyle dab04bcb3a simple replacement for urwid signals wrapper as used in server
I think this removes all use of urwid from the server code.
2021-04-13 09:41:43 +12:00
Michael Hudson-Doyle edc65dbbfb make the base controller have no ui, add subclass for one that has ui 2020-08-23 23:18:28 +12:00
Michael Hudson-Doyle cb52ab75a2 use the asyncio loop object rather than the urwid loop almost everywhere 2019-12-20 12:04:38 +13:00
Michael Hudson-Doyle cfc38e1c1b 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.
2019-12-20 11:41:12 +13:00
Michael Hudson-Doyle 45478b68a4 add a way to change the default level of a context's children 2019-12-20 09:47:38 +13:00
Michael Hudson-Doyle 5961b68b7d introduce a Context object for logging start/stop events 2019-12-20 09:46:26 +13:00
Michael Hudson-Doyle ca1635a1f9 a bit of refactoring 2019-12-17 15:05:17 +13:00
Michael Hudson-Doyle 324dddac94 push debug_flag block probe crashing into Prober 2019-12-16 23:15:48 +13:00
Michael Hudson-Doyle ae5cd6268a kill off run_in_bg and some related hacks 2019-12-15 08:53:37 +13:00
Michael Hudson-Doyle 285eeee0ed
Merge pull request #598 from mwhudson/repeatedcontroller-index
fix RepeatedController
2019-12-14 22:16:07 +13:00
Michael Hudson-Doyle 0090aec3be fix RepeatedController
a snap update was offered the second time even if it had been
offered already
2019-12-14 21:44:10 +13:00
Michael Hudson-Doyle 5571e1fab3 add a class for controllers with no ui
there will be a bunch of these coming for autoinstall
2019-12-14 21:27:39 +13:00
Michael Hudson-Doyle 64378cdb95 refactor how controllers are stored a bit 2019-12-12 10:38:03 +13:00
Michael Hudson-Doyle ca02972195 add a controlled way to make various things fail
In dry-run mode, treat SUBIQUITY_DEBUG as a comma-separated list of
things to fail:

 * install-fail: curtin install fails
 * copy-logs-fail: the postinstall copying of logs fails
 * bpfail-full: full block device probing fails
 * bpfail-restricted: restricted block device probing fails

In addition, control-u makes the UI crash in dry-run mode.

(This is all for testing of crash report generation but does not depend
on that).
2019-11-04 10:43:29 +13:00
Michael Hudson-Doyle c1e973fe1e Add Controller.showing helper 2019-09-04 15:21:26 +12:00
Michael Hudson-Doyle 9a05653150 Tweak Controller API
* rename 'default' method to 'start_ui'
 * add 'end_ui' hook
 * add Application.cur_controller helper
2019-09-04 15:18:45 +12:00
Michael Hudson-Doyle 7096501a6d reduce answers-related boilerplate 2019-08-15 13:34:10 +12:00
Michael Hudson-Doyle 81b9c883f3 do not copy so many things from app to controller in Controller.__init__ 2019-08-15 13:34:09 +12:00
Michael Hudson-Doyle 98908e91b2 get rid of silly common dictionary that was passed around a bit everywhere 2019-08-15 13:33:38 +12:00
Michael Hudson-Doyle b91c961165 implement screens up to the point of offering the update
don't display anything about check failures yet, or actually allow the
user to start the update
2019-03-12 11:49:03 +13:00
Michael Hudson-Doyle 9aea579027 support a controller being shown more than once 2019-03-12 11:48:58 +13:00
Michael Hudson-Doyle a51f04b02c start network probing after all signals have been connected 2019-03-07 15:31:39 +13:00
Michael Hudson-Doyle 6e077ef457 move code for configuring snapd proxy out of snaplist controller 2019-03-07 15:18:34 +13:00
Michael Hudson-Doyle 9937ebe6e1 add a more systematic way for controllers to record their state
so we can return the point where the user left off on update
2019-03-06 15:55:15 +13:00
Michael Hudson-Doyle 53d1006a06 Make the code for talking to snapd more generic
In preparation for the self-refresh and snap enterprise proxy work, both
of which will require talking to the snapd API.

This also makes the "snaps-from-examples" fakery happen at a lower level.
2019-03-04 16:18:57 +13:00
Michael Hudson-Doyle b77aa9499e make sure all delays during replaying answers repsect SUBIQUITY_REPLAY_TIMESCALE 2019-02-21 11:07:54 +01:00
Michael Hudson-Doyle bee1109a2d Much more fine grained answers support for networking. 2018-10-31 09:59:31 +13:00
Ryan Harper 5660d72cf1 pep8 fixes for subiquitycore/controller.py 2018-05-24 16:51:51 -05:00
Michael Hudson-Doyle 03392a208d stop swallowing exceptions raised by the callback passed to run_in_bg
it is just more confusing that it is worth, especially when doing
development
2018-05-18 12:17:18 +12:00
Michael Hudson-Doyle 1794ed53dd
implement keyboard selection (#276)
A new screen immediately after language.
2018-02-08 10:37:22 +13:00
Michael Hudson-Doyle 6919e5ce68 minimal implementation of canned answers
this allows automation of the enter-enter-enter flow, not much more than that
2017-11-17 13:25:16 +13:00
Michael Hudson-Doyle 8086d5df81 move to a unified model instance
and stop having the controllers construct each model instance for itself
2017-11-16 12:48:20 +13:00
Michael Hudson-Doyle b3241d6b15 remove general clever escape handling 2017-04-05 15:16:30 +12:00
Michael Hudson-Doyle a4d6682478 simpler api for doing stuff in a background thread 2017-01-18 12:03:56 +13:00
Michael Hudson-Doyle fa95fb55ad make callfromthread functionality more available, use it in installprogress 2017-01-18 12:02:34 +13:00
Michael Hudson-Doyle 17b943209e remove subiquitycore/async.py
it was just a glorified global variable.
2017-01-13 15:08:31 +13:00
Michael Hudson-Doyle bd9046ae9c squash some more trivial uses of signals
And move the @view decorator and associated methods used by the network
stuff somewhere more general.
2016-11-22 16:09:51 +13:00
Michael Hudson-Doyle d48a70973e restore escape key behaviour 2016-11-02 12:44:04 +13:00
Michael Hudson-Doyle f603207d94 remove most trivial use of signals from console-conf's flow 2016-10-11 12:48:28 +13:00
Michael Hudson-Doyle 23ff9fe1e8 controllers can have signals without models now. 2016-09-29 14:52:11 +13:00
Michael Hudson-Doyle d9095336e5 do not have controllers (or view code!!) know the order of the screens 2016-09-27 21:35:47 +13:00
Michael Hudson-Doyle dad0e10912 completely separate menu -> signal and signal -> method mappings
and put the signal -> method mapping into the controller

this breaks the subiquity part even more than before, but it's pretty broken
already.
2016-09-27 20:53:17 +13:00
Michael Hudson-Doyle f027382877 rename ControllerPolicy to BaseController 2016-07-26 14:17:30 +12:00
Mathieu Trudel-Lapierre e1970b6477 Rename subiquity to subiquitycore -- will serve as base classes for everything
Signed-off-by: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com>
2016-06-30 14:17:01 -04:00