Fix keyboard layout and timezone menus (#2153)
This commit is contained in:
parent
edbc135903
commit
dc69acd4b4
|
|
@ -44,7 +44,7 @@ def ask_for_a_timezone(preset: Optional[str] = None) -> Optional[str]:
|
||||||
|
|
||||||
choice = Menu(
|
choice = Menu(
|
||||||
_('Select a timezone'),
|
_('Select a timezone'),
|
||||||
list(timezones),
|
timezones,
|
||||||
preset_values=preset,
|
preset_values=preset,
|
||||||
default_option=default
|
default_option=default
|
||||||
).run()
|
).run()
|
||||||
|
|
@ -95,7 +95,7 @@ def select_language(preset: Optional[str] = None) -> Optional[str]:
|
||||||
"""
|
"""
|
||||||
kb_lang = list_keyboard_languages()
|
kb_lang = list_keyboard_languages()
|
||||||
# sort alphabetically and then by length
|
# sort alphabetically and then by length
|
||||||
sorted_kb_lang = sorted(sorted(list(kb_lang)), key=len)
|
sorted_kb_lang = sorted(kb_lang, key=lambda x: (len(x), x))
|
||||||
|
|
||||||
choice = Menu(
|
choice = Menu(
|
||||||
_('Select keyboard layout'),
|
_('Select keyboard layout'),
|
||||||
|
|
|
||||||
|
|
@ -139,7 +139,7 @@ def select_kb_layout(preset: Optional[str] = None) -> Optional[str]:
|
||||||
"""
|
"""
|
||||||
kb_lang = list_keyboard_languages()
|
kb_lang = list_keyboard_languages()
|
||||||
# sort alphabetically and then by length
|
# sort alphabetically and then by length
|
||||||
sorted_kb_lang = sorted(sorted(list(kb_lang)), key=len)
|
sorted_kb_lang = sorted(kb_lang, key=lambda x: (len(x), x))
|
||||||
|
|
||||||
choice = Menu(
|
choice = Menu(
|
||||||
_('Select keyboard layout'),
|
_('Select keyboard layout'),
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,15 @@
|
||||||
from typing import Iterator, List
|
from typing import List
|
||||||
|
|
||||||
from ..exceptions import ServiceException, SysCallError
|
from ..exceptions import ServiceException, SysCallError
|
||||||
from ..general import SysCommand
|
from ..general import SysCommand
|
||||||
from ..output import error
|
from ..output import error
|
||||||
|
|
||||||
|
|
||||||
def list_keyboard_languages() -> Iterator[str]:
|
def list_keyboard_languages() -> List[str]:
|
||||||
for line in SysCommand(
|
return SysCommand(
|
||||||
"localectl --no-pager list-keymaps",
|
"localectl --no-pager list-keymaps",
|
||||||
environment_vars={'SYSTEMD_COLORS': '0'}
|
environment_vars={'SYSTEMD_COLORS': '0'}
|
||||||
).decode():
|
).decode().splitlines()
|
||||||
yield line
|
|
||||||
|
|
||||||
|
|
||||||
def list_locales() -> List[str]:
|
def list_locales() -> List[str]:
|
||||||
|
|
@ -24,12 +23,11 @@ def list_locales() -> List[str]:
|
||||||
return locales
|
return locales
|
||||||
|
|
||||||
|
|
||||||
def list_x11_keyboard_languages() -> Iterator[str]:
|
def list_x11_keyboard_languages() -> List[str]:
|
||||||
for line in SysCommand(
|
return SysCommand(
|
||||||
"localectl --no-pager list-x11-keymap-layouts",
|
"localectl --no-pager list-x11-keymap-layouts",
|
||||||
environment_vars={'SYSTEMD_COLORS': '0'}
|
environment_vars={'SYSTEMD_COLORS': '0'}
|
||||||
).decode():
|
).decode().splitlines()
|
||||||
yield line
|
|
||||||
|
|
||||||
|
|
||||||
def verify_keyboard_layout(layout :str) -> bool:
|
def verify_keyboard_layout(layout :str) -> bool:
|
||||||
|
|
@ -62,9 +60,8 @@ def set_kb_layout(locale :str) -> bool:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
def list_timezones() -> Iterator[str]:
|
def list_timezones() -> List[str]:
|
||||||
for line in SysCommand(
|
return SysCommand(
|
||||||
"timedatectl --no-pager list-timezones",
|
"timedatectl --no-pager list-timezones",
|
||||||
environment_vars={'SYSTEMD_COLORS': '0'}
|
environment_vars={'SYSTEMD_COLORS': '0'}
|
||||||
).decode():
|
).decode().splitlines()
|
||||||
yield line
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue