From 1234261a7a0d3ffd20f0d4ebea0f54a30c493d45 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 7 Jan 2022 21:48:23 +1100 Subject: Global menu (#806) * Global menu * Fix flake8 * Refactor code * Add documentation * Fix flake8 * Add support for user flow mentioned in #799 * Move import * Fix flake8 (again) Co-authored-by: Daniel Girtler Co-authored-by: Anton Hvornum --- archinstall/lib/locale_helpers.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'archinstall/lib/locale_helpers.py') diff --git a/archinstall/lib/locale_helpers.py b/archinstall/lib/locale_helpers.py index 6aa678a6..cbba8d52 100644 --- a/archinstall/lib/locale_helpers.py +++ b/archinstall/lib/locale_helpers.py @@ -1,5 +1,5 @@ import logging -from typing import Iterator +from typing import Iterator, List from .exceptions import ServiceException from .general import SysCommand @@ -11,6 +11,24 @@ def list_keyboard_languages() -> Iterator[str]: yield line.decode('UTF-8').strip() +def list_locales() -> List[str]: + with open('/etc/locale.gen', 'r') as fp: + locales = [] + # before the list of locales begins there's an empty line with a '#' in front + # so we'll collect the localels from bottom up and halt when we're donw + entries = fp.readlines() + entries.reverse() + + for entry in entries: + text = entry[1:].strip() + if text == '': + break + locales.append(text) + + locales.reverse() + return locales + + def list_x11_keyboard_languages() -> Iterator[str]: for line in SysCommand("localectl --no-pager list-x11-keymap-layouts", environment_vars={'SYSTEMD_COLORS': '0'}): yield line.decode('UTF-8').strip() -- cgit v1.2.3-70-g09d2