Commit Graph

521 Commits

Author SHA1 Message Date
Michael Hudson-Doyle ed5e1d86b5 fix lint 2018-05-25 10:43:55 +12:00
Ryan Harper 053a1c249d pyflakes3 fixes for subiquitycore/__init__.py 2018-05-24 16:59:31 -05:00
Ryan Harper d7c8b1111b pep8 fixes for subiquitycore/core.py 2018-05-24 16:59:31 -05:00
Ryan Harper d293c52152 pep8 fixes for subiquitycore/tasksequence.py 2018-05-24 16:59:31 -05:00
Ryan Harper 4c1b6e6fc9 pep8 fixes for subiquitycore/ui/buttons.py 2018-05-24 16:59:31 -05:00
Ryan Harper 080ac4c245 pep8 fixes for subiquitycore/ui/form.py 2018-05-24 16:59:31 -05:00
Ryan Harper 5b666294e5 pep8 fixes for subiquitycore/ui/utils.py 2018-05-24 16:59:31 -05:00
Ryan Harper 7dba257b3c Drop mis-merged code from rebase 2018-05-24 16:59:31 -05:00
Ryan Harper 09d7398ec6 pep8 fixes for subiquitycore/__init__.py 2018-05-24 16:54:02 -05:00
Ryan Harper 5f233be9b1 pep8 fixes for subiquitycore/ui/views/network.py 2018-05-24 16:54:02 -05:00
Ryan Harper c908115ee0 pep8 fixes for subiquitycore/ui/views/network_configure_manual_interface.py 2018-05-24 16:54:02 -05:00
Ryan Harper c4c614860a pep8 fix drop commented code in subiquitycore/controllers/network.py 2018-05-24 16:54:02 -05:00
Ryan Harper 5660d72cf1 pep8 fixes for subiquitycore/controller.py 2018-05-24 16:51:51 -05:00
Ryan Harper 9159cd0003 pep8 fixes for subiquitycore/core.py 2018-05-24 16:51:51 -05:00
Ryan Harper dcc0cbc240 pep8 fixes for subiquitycore/i18n.py 2018-05-24 16:51:51 -05:00
Ryan Harper 02cbd2948c pep8 fixes for subiquitycore/prober.py 2018-05-24 16:51:51 -05:00
Ryan Harper bad0e9761f pep8 fixes for subiquitycore/tasksequence.py 2018-05-24 16:51:51 -05:00
Ryan Harper b328c3deed pep8 fixes for subiquitycore/utils.py 2018-05-24 16:51:51 -05:00
Ryan Harper cfc2c9d227 pep8 fixes for subiquitycore/view.py 2018-05-24 16:51:51 -05:00
Ryan Harper 69331754d9 pep8 fixes for subiquitycore/ui/anchors.py 2018-05-24 16:51:51 -05:00
Ryan Harper df5ff9d48e pep8 fixes for subiquitycore/ui/buttons.py 2018-05-24 16:51:51 -05:00
Ryan Harper 860edbc7b5 pep8 fixes for subiquitycore/ui/container.py 2018-05-24 16:51:51 -05:00
Ryan Harper 2d6cca8281 pep8 fixes for subiquitycore/ui/frame.py 2018-05-24 16:51:51 -05:00
Ryan Harper 7cbf8c2b69 pep8 fixes for subiquitycore/ui/form.py 2018-05-24 16:51:51 -05:00
Ryan Harper 4890d306fc pep8 fixes subiquitycore/ui/selector.py 2018-05-24 16:51:51 -05:00
Ryan Harper 762f5f3008 pep8 fixes for subiquitycore/ui/stretchy.py 2018-05-24 16:51:51 -05:00
Ryan Harper 18406b70ef pep8 fixes for subiquitycore/ui/utils.py 2018-05-24 16:51:51 -05:00
Ryan Harper c99941f3c5 pep8 fixes for subiquitycore/ui/views/login.py 2018-05-24 16:51:51 -05:00
Ryan Harper 62ea440b3d pep8 fixes for subiquitycore/ui/views/network.py 2018-05-24 16:51:51 -05:00
Ryan Harper 0fa5dcab28 pep8 fixes 2018-05-24 16:51:51 -05:00
Ryan Harper c8d4c51ddd pep8 fixes 2018-05-24 16:51:51 -05:00
Ryan Harper ae9412159d Don't use __name__ in getLogger 2018-05-24 16:51:51 -05:00
Ryan Harper 13ca352291 pep8 fixes for subiquitycore/ui/views/network_configure_wlan_interface.py 2018-05-24 16:51:51 -05:00
Ryan Harper 591be4ecbc pep8 fixes for subiquitycore.ui.views.network_default_route 2018-05-24 16:51:51 -05:00
Ryan Harper 45fabd78f2 pep8 fixes for subiquitycore.ui.views.tests.test_network_configure_manual_interface 2018-05-24 16:51:51 -05:00
Ryan Harper f2715a4735 pep8 fixes for subiquitycore.controllers.network 2018-05-24 16:51:51 -05:00
Ryan Harper b7e60f7b91 pep8 fixes for subiquitycore.testing.view_hewlpers 2018-05-24 16:51:51 -05:00
Ryan Harper 40caacaca3 pep8 fixes for subiquitycore.models.network 2018-05-24 16:51:51 -05:00
Ryan Harper a0bf68f3c4 pyflakes3 fixes
Add and enable pyflakes3 on console_conf, subiquity, subiquitycore and tests.
Replace NOQA markers with __all__ declarations for module imports.
Replace some obvious deadcode that voilates flake8, separate pass for removing
dead code rather than commenting will be handled later.
2018-05-24 16:51:51 -05:00
Michael Hudson-Doyle bd48ed9b1d remove SimpleList
and the Body widget, both utterly trivial
2018-05-25 09:35:25 +12:00
Ryan Harper 3c9b2e28c7 Drop commented out / dead code 2018-05-23 18:53:12 -05:00
Michael Hudson-Doyle 0fe1f5145c sprinkle in some more ".base_widget"s 2018-05-23 13:40:14 +12:00
Michael Hudson-Doyle 7441cb6df6 convert ScrollBarListBox to decoration rather than subclass
for all the usual reasons why composition is better than inheritance,
but in particular because I want to have a listbox that has a scrollbar
but not our custom tab behaviour in another branch. decoration in urwid
is not as transparent as it sometimes seems it should be but luckily
there's only one view that does much with its listbox and it was due
for some cleanup anyway.
2018-05-23 13:14:00 +12:00
Michael Hudson-Doyle 626488e988
Merge pull request #334 from CanonicalLtd/mwhudson/move-excerpt-title-to-view
move excerpt, title and footer from controller to view
2018-05-22 22:38:39 +12:00
Ryan Harper a84dd2b272 Encoding input when running commands 2018-05-21 13:35:26 -05:00
Ryan Harper 74ae9b9fde Drop use of encoding kwarg to subprocess for python3.5 compat 2018-05-21 11:54:34 -05:00
Michael Hudson-Doyle 79208bc00b trap a TaskSequence gotcha 2018-05-21 13:09:56 +12:00
Michael Hudson-Doyle 70ec850aad
Merge pull request #336 from CanonicalLtd/mwhudson/hack-ThreadPoolExecutor
hack to stop ThreadPoolExecutor blocking exit
2018-05-21 11:59:12 +12:00
Michael Hudson-Doyle 384dadc5ed hack to stop ThreadPoolExecutor blocking exit 2018-05-21 11:58:10 +12:00
Michael Hudson-Doyle f6f214125f move TaskSequence somewhere more generic
I want to reuse it in my containerizing branch.

Improve API and docs a bit while I am looking at it.
2018-05-21 11:52:06 +12:00
Michael Hudson-Doyle cbd5afe2c0 move imports of i18n higher so _ is always installed before tests are imported 2018-05-21 10:14:34 +12:00
Michael Hudson-Doyle ac875751fb fix installprogress 2018-05-18 16:27:05 +12:00
Michael Hudson-Doyle 11708703c9 move titles, footers, excerpts from controller to view
read title and footer from the view instance, make views respsonsible for rendering
the excerpt

adapts infrastructure, welcome, keyboard, network views
2018-05-18 15:55:49 +12:00
Michael Hudson-Doyle 80fffc723c some self review 2018-05-18 13:53:51 +12:00
Michael Hudson-Doyle 7df7a4c1fa fetch ssh keys in the identity screen, all a bit happy path though 2018-05-18 13:53:51 +12:00
Michael Hudson-Doyle bdf3861e5c some simplifications 2018-05-18 13:53:51 +12:00
Michael Hudson-Doyle 3d5efcaf9c actually pass new defaults to run, oops 2018-05-18 13:53:25 +12:00
Michael Hudson-Doyle 1e4992a5e7 stop testing on xenial, we depend on python 3.6 now 2018-05-18 13:38:13 +12:00
Michael Hudson-Doyle cb61144144 small tweaks 2018-05-18 13:21:38 +12:00
Michael Hudson-Doyle 488802fc8b update users of run_command (i thought there was more than this) 2018-05-18 13:11:15 +12:00
Michael Hudson-Doyle c6468982ae Thin the wrappers around subprocess functions
Some of this stuff is not needed with modern Python.

Breaks everything of course, updates to follow.
2018-05-18 13:00:43 +12:00
Michael Hudson-Doyle 35c08f1d6f up thread pool limit
otherwise we can only do one thing at once! many of the things
we do in the background do not really require an OS thread but oh well
2018-05-18 12:33:25 +12:00
Michael Hudson-Doyle ad9f10a9ac try to ensure that functions run in the background have "_bg_" in their name 2018-05-18 12:29:42 +12:00
Michael Hudson-Doyle 1efa265fc5 remove calls to set_alarm_in that were only there so that exceptions raised would be propagated 2018-05-18 12:25:47 +12: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 13d7f13c42 fixes for stretchy where stretchy widget is selectable 2018-05-14 10:28:33 +12:00
Michael Hudson-Doyle 960f51ca91 remove view argument to Form.as_rows and friends 2018-05-07 10:57:35 +12:00
Michael Hudson-Doyle 0a0af0842b fix stupid crash 2018-05-04 10:31:36 +12:00
Michael Hudson-Doyle fa8f8d32f5 down all network links that have changed config before applying it
this means that if you enter a broken config, it breaks as it should
2018-05-03 12:14:06 +12:00
Michael Hudson-Doyle 92457e5724
Merge pull request #324 from CanonicalLtd/mwhudson/click-helper
add --click, --script arguments to subiquity-tui
2018-05-03 11:35:35 +12:00
Michael Hudson-Doyle 1ed27f1848
Merge pull request #322 from CanonicalLtd/mwhudson/no-create-user
stop creating the user in the live session
2018-05-01 13:01:08 +12:00
Michael Hudson-Doyle 5a6d0ac90f a docstring 2018-05-01 13:00:27 +12:00
Michael Hudson-Doyle acdd3bdec7 refactor a bit 2018-05-01 12:57:03 +12:00
Michael Hudson-Doyle 58d64eb419 over engineered way to delay command-line supplied script invocation
use this to allow click helper to wait for a button to appear
2018-05-01 12:49:39 +12:00
Michael Hudson-Doyle db4d8a537e add a way to specify actions to take in the UI on the command line
--script takes a little python snippet to run in a helpful namespace
--click is a wrapper around --script to click a button
2018-05-01 12:29:29 +12:00
Michael Hudson-Doyle 07438a1049 add support for Frames to find_with_pred in view_helpers 2018-05-01 12:17:53 +12:00
Michael Hudson-Doyle fe671d8d9b fix rendering of nic info if dhcp failed but has addresses of other family
This bug has been here forever! Oh well.
2018-04-27 14:56:30 +12:00
Michael Hudson-Doyle dc17fcae4f stop creating the user in the live session
there is no real reason to do this, and it lets me delete some code.

i also cleaned some other stuff up in the area
2018-04-27 14:16:37 +12:00
Michael Hudson-Doyle 7d704f83f0 mark even more strings as translatable 2018-04-19 13:09:00 +12:00
Michael Hudson-Doyle 78e6fea854 work around strange behaviour of _("") 2018-04-19 10:29:08 +12:00
Michael Hudson-Doyle 688a270c17 a round of marking strings as translatable and ensuring translations are actually displayed in the UI 2018-04-19 10:29:08 +12:00
Michael Hudson-Doyle fdd3fae45a fix crash on escape key 2018-04-19 09:57:11 +12:00
Michael Hudson-Doyle 2d3d500e34 a couple of tweaks to make more translated strings appear 2018-04-18 20:18:15 +12:00
Michael Hudson-Doyle 6396025964
Merge pull request #315 from CanonicalLtd/mwhudson/scollbar-focus
change scrollbar color if focused
2018-04-17 12:57:22 +12:00
Michael Hudson-Doyle ba041718dc
Merge pull request #316 from CanonicalLtd/mwhudson/stretchy-overlay
add an overlay that has nicer resizing behaviour
2018-04-17 12:57:15 +12:00
Michael Hudson-Doyle 7eafa420fb add show_stretch_overlay, simplify show_overlay 2018-04-17 12:23:11 +12:00
Michael Hudson-Doyle 6a76f8ad02 add a version of Overlay that copes with small and large screens better
See the docstring for the long version.
2018-04-17 12:22:00 +12:00
Michael Hudson-Doyle e041260e2a change scrollbar color if focused 2018-04-16 23:31:10 +12:00
Michael Hudson-Doyle 5a6ad92239 add some validation to URLEditor 2018-04-12 09:43:02 +12:00
Michael Hudson-Doyle 13eaa5c9dc add a bare-bones proxy model/view/controller 2018-04-09 15:05:46 +12:00
Michael Hudson-Doyle 028914da97 another small helper 2018-04-09 14:37:26 +12:00
Michael Hudson-Doyle a723d25a4c create a helper to create a common screen layout 2018-04-09 14:30:59 +12:00
Michael Hudson-Doyle 0fc83c4bc1 simplify a bunch of views
i am slowly getting better at urwid...
2018-04-09 14:10:36 +12:00
Michael Hudson-Doyle 9d9c233dc4 bludgeon urwid into some kind of submissoin 2018-03-26 23:49:04 +13:00
Michael Hudson-Doyle e61eb454cf
Merge pull request #299 from CanonicalLtd/mwhudson/disable-wifi-server
do not show wlan interfaces in server installer
2018-03-21 15:44:55 +13:00
Michael Hudson-Doyle 56c582a0d0 the way subiquity works it is better do consider a Pile selectable if any of its elements are selectable
Without this, if a non-selectable thing ends up focused, the net effect is that
all further input is ignored, which is bad.
2018-03-21 11:18:56 +13:00
Michael Hudson-Doyle 0c071f7b0d form fields should not be validated on entry 2018-03-21 10:39:32 +13:00
Michael Hudson-Doyle b3da7266b9 do not show wlan interfaces in server installer 2018-03-21 09:35:21 +13:00
Michael Hudson-Doyle 8287d695dc fix live updates of network screen 2018-03-16 15:30:14 +13:00
Michael Hudson-Doyle 1f937090c0 update help text for address 2018-03-14 14:58:58 +13:00
Michael Hudson-Doyle 59a500c9e5 add more space between form rows, align help to the left 2018-03-14 14:58:58 +13:00
Michael Hudson-Doyle ca953ea01f improve scrolling experience
Before this change, subiquity has lots of ListBoxes that just contain a single
Pile containing all their contents. This is (a) a bit silly (b) make some parts
of the scrolling experience a bit poor, for example urwid tries to scroll all
of a ListBox element into view when it gets focus but this is defeated by
shoving all the elements into a Pile (this causes
https://bugs.launchpad.net/subiquity/+bug/1750058 and a few other strange
bits).

The fix for this is obvious (don't wrap ListBox elements in a Pile) but this
breaks some aspects of tab cycling (when you shift tab back into a listbox you
want the last element of the box to be both selected and scrolled into view,
that sort of thing). Fixing all these bits of broken behaviour required
rewriting the tab cycling implementation to the point of copy/paste/hack-ing
the Pile.keypress method. Rather than doing the same for Columns, I just
prevent the creation of Columns with more than 1 selectable, which as we want
subiquity to be navigable with up/down/return does not seem so bad.

As penitence for all this, I've added a bunch of commentary explaining what is
going on.
2018-03-14 14:35:27 +13:00
Michael Hudson-Doyle c57f0057f3 simplifications 2018-03-14 14:20:53 +13:00
Michael Hudson-Doyle 9ba11aedb5 change how ssh import field works
This is the only place in subiquity today where we have selectable fields side
by side, which contradicts the goal to be able to navigate subiquity with up,
down and enter keys only. Replace the existing fancy widget with two fields,
one to select the import source and one to enter the username.

Also remove the "Ubuntu SSO" option as that has never worked.
2018-03-14 14:07:03 +13:00
Michael Hudson-Doyle f77a861c38 pop up a little dialog while the keyboard config is applying 2018-03-13 20:58:33 +13:00
Michael Hudson-Doyle 0656d2b2bc add a border to all overlays to make them more readable 2018-03-12 14:25:27 +13:00
Michael Hudson-Doyle d15565bdf1 console_conf does not pass a hostname here 2018-03-08 18:06:34 +13:00
Michael Hudson-Doyle 8d8071de8d nicer install progress reporting in the footer to start with 2018-02-28 13:49:24 +13:00
Michael Hudson-Doyle b215ceaf7d do not log wifi password when an interface appears
This can happen in particular when netplan re-plugs an interface.
2018-02-26 22:29:41 +13:00
Michael Hudson-Doyle 4a5e3b3815 stop showing >s on network config choices that do not lead to a new screen 2018-02-20 10:32:51 +13:00
Michael Hudson-Doyle 306978ee79 cursor positioning nerdery on network config screen 2018-02-20 10:29:24 +13:00
Michael Hudson-Doyle a14b8debda try different process for exit to shell 2018-02-13 15:38:55 +13: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 923df8d0b2 allow forms to override name of cancel button 2018-01-12 12:56:24 +13:00
Michael Hudson-Doyle 124b4e7f20 make the contents of a selector pop up dialog a listbox
the one for keyboard layout will need to scroll!
2018-01-12 10:27:44 +13:00
Michael Hudson-Doyle c9f3bd3ae0 fix behaviour of "up" on views that have done initially focused
before this, if you press up on e.g. the network view, focus would go to the first nic
not the last as you might expect. this is pretty obscure but oh well. such is urwid.
2018-01-11 11:50:08 +13:00
Michael Hudson-Doyle f972119126 beef up partition view tests a bit 2017-12-21 14:41:05 +13:00
Michael Hudson-Doyle ad9c527b51 touch /run/casper-no-prompt if answers are supplied 2017-12-21 11:40:51 +13:00
Michael Hudson-Doyle d77b4148ef expand NetworkConfigureIPv4InterfaceView tests a bit 2017-12-11 09:52:36 +13:00
Michael Hudson-Doyle 67611165df fix network manual view and add super simple test of it 2017-12-08 09:41:51 +13:00
Michael Hudson-Doyle 956342478a move subiquity.ui.views.tests.helpers to subiquitycore.testing.view_helpers 2017-12-08 09:28:48 +13:00
Michael Hudson-Doyle c60d37f275 some testing ideas 2017-11-27 21:51:39 +13:00
Michael Hudson-Doyle 94b4f550e3 update config to match probert changes 2017-11-27 09:54:11 +13:00
Michael Hudson-Doyle ad95cdd4d7
Merge pull request #255 from CanonicalLtd/vorlon/fix-up-tests
fix tests slightly
2017-11-27 09:09:08 +13:00
Michael Hudson-Doyle 54a52015d6 tone down log spam a bit 2017-11-24 12:50:37 +13:00
Michael Hudson-Doyle c5692c38f4
Merge pull request #271 from CanonicalLtd/mwhudson/colors
implement new color scheme from design
2017-11-24 12:13:03 +13:00
Michael Hudson-Doyle fadd568323
Merge pull request #268 from CanonicalLtd/mwhudson/reorg-config-rendering
move curtin config rendering to a method on SubiquityModel
2017-11-24 12:12:37 +13:00
Michael Hudson-Doyle b5c07497e8 make language and disk selection buttons use the done style 2017-11-24 11:19:01 +13:00
Michael Hudson-Doyle ba8056768e update to use colors from design 2017-11-22 14:10:03 +13:00
Michael Hudson-Doyle c85602527e stop any of the *_btn functions defining a label by default 2017-11-22 13:53:35 +13:00
Michael Hudson-Doyle e211f67b72 permit myself one bit of clever code 2017-11-22 12:16:09 +13:00
Michael Hudson-Doyle ab9e382387 remove some more leftover bits 2017-11-22 12:05:30 +13:00
Michael Hudson-Doyle 20d4e04efd streamline a bit, add comments 2017-11-22 11:49:20 +13:00
Michael Hudson-Doyle 225a7637ca move color scaffolding into core 2017-11-22 11:37:49 +13:00
Michael Hudson-Doyle 918a1979b3 stop modifying the xterm palette at all and use ISO 8613 3 codes instead 2017-11-22 11:26:47 +13:00
Michael Hudson-Doyle cfbc4ffc0c more precise color rendering in xterm-like terminals 2017-11-21 15:24:07 +13:00
Michael Hudson-Doyle 484239c060 do not move on from network screen inside callback
things get super confusing when there is an exception
2017-11-21 11:27:26 +13:00
Michael Hudson-Doyle 36bcc539c3 move curtin config rendering to a method on SubiquityModel
this moves to curtin's native netplan support as a side effect
2017-11-20 13:45:58 +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 e7afa9b0b3 correct _data_ready call when udev is not settled 2017-11-17 13:24:30 +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 947a65a3bb changes following changes in probert
the only really visible effect of all this is to make --dry-run
--machine-config foo show the network config from foo, not the machine
running subiquity. (The existing configs won't work, though)
2017-11-15 14:27:24 +13:00
Michael Hudson-Doyle 4d0d48f2f5 add some comments 2017-10-25 21:52:43 +13:00
Michael Hudson-Doyle 94e58a0aaa reduce padding around overlays 2017-10-25 21:27:31 +13:00
Michael Hudson-Doyle c0889dfffc add explicit entries in the palette for scrollbar parts 2017-10-25 21:09:49 +13:00
Michael Hudson-Doyle 3515961ac9 slightly lower level implementation of ScrollBarListBox.render
lower level and less reentrant, which is the main advantage
2017-10-25 21:01:03 +13:00
Michael Hudson-Doyle 0b4ae2b1a5 prevent scrollbox from getting squished to 0 rows 2017-10-25 20:50:53 +13:00
Michael Hudson-Doyle 08e51b87ae move some listboxs inside their padding 2017-10-20 15:51:01 +13:00
Michael Hudson-Doyle 5405abecc3 Add a scrollbar to our custom listbox implementation.
It's pretty ugly for now.
2017-10-20 15:47:32 +13:00
Michael Hudson-Doyle b6a27582c9 redo padding and layout of network views 2017-10-20 14:55:01 +13:00