From dee79265897f67689e626d5c85f5b48b8e623a4a Mon Sep 17 00:00:00 2001 From: Daniel Girtler Date: Fri, 11 Nov 2022 19:11:41 +1100 Subject: Remove custom font setting (#1552) * Remove custom font setting * flake8 * Remove default preview Co-authored-by: Daniel Girtler --- archinstall/lib/menu/menu.py | 2 +- archinstall/lib/translationhandler.py | 25 ++--------------- archinstall/lib/user_interaction/general_conf.py | 35 +++++++----------------- 3 files changed, 13 insertions(+), 49 deletions(-) (limited to 'archinstall/lib') diff --git a/archinstall/lib/menu/menu.py b/archinstall/lib/menu/menu.py index 13ce8c0e..773ff1de 100644 --- a/archinstall/lib/menu/menu.py +++ b/archinstall/lib/menu/menu.py @@ -53,7 +53,7 @@ class Menu(TerminalMenu): preset_values :Union[str, List[str]] = None, cursor_index : Optional[int] = None, preview_command: Optional[Callable] = None, - preview_size: float = 0.75, + preview_size: float = 0.0, preview_title: str = 'Info', header :Union[List[str],str] = None, raise_error_on_interrupt :bool = False, diff --git a/archinstall/lib/translationhandler.py b/archinstall/lib/translationhandler.py index 1a3ed85f..0d74f974 100644 --- a/archinstall/lib/translationhandler.py +++ b/archinstall/lib/translationhandler.py @@ -21,15 +21,10 @@ class Language: translation: gettext.NullTranslations translation_percent: int translated_lang: Optional[str] - external_dep: Optional[str] @property def display_name(self) -> str: - if not self.external_dep and self.translated_lang: - name = self.translated_lang - else: - name = self.name_en - + name = self.name_en return f'{name} ({self.translation_percent}%)' def is_match(self, lang_or_translated_lang: str) -> bool: @@ -48,24 +43,9 @@ class TranslationHandler: self._base_pot = 'base.pot' self._languages = 'languages.json' - # check if a custom font was provided, otherwise we'll - # use one that can display latin, greek, cyrillic characters - if self.is_custom_font_enabled(): - self._set_font(self.custom_font_path().name) - else: - self._set_font('LatGrkCyr-8x16') - self._total_messages = self._get_total_active_messages() self._translated_languages = self._get_translations() - @classmethod - def custom_font_path(cls) -> Path: - return Path('/usr/share/kbd/consolefonts/archinstall_font.psfu.gz') - - @classmethod - def is_custom_font_enabled(cls) -> bool: - return cls.custom_font_path().exists() - @property def translated_languages(self) -> List[Language]: return self._translated_languages @@ -84,7 +64,6 @@ class TranslationHandler: abbr = mapping_entry['abbr'] lang = mapping_entry['lang'] translated_lang = mapping_entry.get('translated_lang', None) - external_dep = mapping_entry.get('external_dep', False) try: # get a translation for a specific language @@ -99,7 +78,7 @@ class TranslationHandler: # prevent cases where the .pot file is out of date and the percentage is above 100 percent = min(100, percent) - language = Language(abbr, lang, translation, percent, translated_lang, external_dep) + language = Language(abbr, lang, translation, percent, translated_lang) languages.append(language) except FileNotFoundError as error: raise TranslationError(f"Could not locate language file for '{lang}': {error}") diff --git a/archinstall/lib/user_interaction/general_conf.py b/archinstall/lib/user_interaction/general_conf.py index 6365014d..efd746a4 100644 --- a/archinstall/lib/user_interaction/general_conf.py +++ b/archinstall/lib/user_interaction/general_conf.py @@ -4,19 +4,16 @@ import logging import pathlib from typing import List, Any, Optional, Dict, TYPE_CHECKING -from ..menu.menu import MenuSelectionType -from ..menu.text_input import TextInput - from ..locale_helpers import list_keyboard_languages, list_timezones from ..menu import Menu -from ..output import log -from ..profiles import Profile, list_profiles +from ..menu.menu import MenuSelectionType +from ..menu.text_input import TextInput from ..mirrors import list_mirrors - -from ..translationhandler import Language, TranslationHandler +from ..output import log from ..packages.packages import validate_package_list - +from ..profiles import Profile, list_profiles from ..storage import storage +from ..translationhandler import Language if TYPE_CHECKING: _: Any @@ -125,21 +122,14 @@ def select_archinstall_language(languages: List[Language], preset_value: Languag # name of the language in its own language options = {lang.display_name: lang for lang in languages} - def dependency_preview(current_selection: str) -> Optional[str]: - current_lang = options[current_selection] - - if current_lang.external_dep and not TranslationHandler.is_custom_font_enabled(): - font_file = TranslationHandler.custom_font_path() - text = str(_('To be able to use this translation, please install a font manually that supports the language.')) + '\n' - text += str(_('The font should be stored as {}')).format(font_file) - return text - return None + title = 'NOTE: If a language can not displayed properly, a proper font must be set manually in the console.\n' + title += 'All available fonts can be found in "/usr/share/kbd/consolefonts"\n' + title += 'e.g. setfont LatGrkCyr-8x16 (to display latin/greek/cyrillic characters)\n' choice = Menu( - _('Archinstall language'), + title, list(options.keys()), default_option=preset_value.display_name, - preview_command=lambda x: dependency_preview(x), preview_size=0.5 ).run() @@ -147,12 +137,7 @@ def select_archinstall_language(languages: List[Language], preset_value: Languag case MenuSelectionType.Esc: return preset_value case MenuSelectionType.Selection: - language: Language = options[choice.value] - # we have to make sure that the proper AUR dependency is - # present to be able to use this language - if not language.external_dep or TranslationHandler.is_custom_font_enabled(): - return language - return select_archinstall_language(languages, preset_value) + return options[choice.value] def select_profile(preset) -> Optional[Profile]: -- cgit v1.2.3-54-g00ecf