diff --git a/archinstall/__init__.py b/archinstall/__init__.py index b694fdf5..cee7c90f 100644 --- a/archinstall/__init__.py +++ b/archinstall/__init__.py @@ -1,43 +1,39 @@ """Arch Linux installer - guided, templates etc.""" +import curses import importlib import os import sys import time -import curses import traceback from argparse import ArgumentParser, Namespace from pathlib import Path from typing import TYPE_CHECKING, Any -from .lib import disk -from .lib import models -from .lib import packages -from .lib import exceptions -from .lib import luks -from .lib import locale -from .lib import mirrors -from .lib import networking -from .lib import profile -from .lib import interactions from . import default_profiles - -from .lib.hardware import SysInfo, GfxDriver -from .lib.installer import Installer, accessibility_tools_in_use -from .lib.output import FormattedOutput, log, error, debug, warn, info -from .lib.pacman import Pacman -from .lib.storage import storage -from .lib.global_menu import GlobalMenu +from .lib import disk, exceptions, interactions, locale, luks, mirrors, models, networking, packages, profile from .lib.boot import Boot -from .lib.translationhandler import TranslationHandler, Language, DeferredTranslation -from .lib.plugins import plugins, load_plugin from .lib.configuration import ConfigurationOutput -from .tui import Tui - from .lib.general import ( - generate_password, locate_binary, clear_vt100_escape_codes, - JSON, UNSAFE_JSON, SysCommandWorker, SysCommand, - run_custom_user_commands, json_stream_to_structure, secret + JSON, + UNSAFE_JSON, + SysCommand, + SysCommandWorker, + clear_vt100_escape_codes, + generate_password, + json_stream_to_structure, + locate_binary, + run_custom_user_commands, + secret, ) +from .lib.global_menu import GlobalMenu +from .lib.hardware import GfxDriver, SysInfo +from .lib.installer import Installer, accessibility_tools_in_use +from .lib.output import FormattedOutput, debug, error, info, log, warn +from .lib.pacman import Pacman +from .lib.plugins import load_plugin, plugins +from .lib.storage import storage +from .lib.translationhandler import DeferredTranslation, Language, TranslationHandler +from .tui import Tui if TYPE_CHECKING: _: Any diff --git a/archinstall/__main__.py b/archinstall/__main__.py index 69a79855..174d1c87 100644 --- a/archinstall/__main__.py +++ b/archinstall/__main__.py @@ -1,6 +1,6 @@ import importlib -import sys import pathlib +import sys # Load .git version before the builtin version if pathlib.Path('./archinstall/__init__.py').absolute().exists(): diff --git a/archinstall/scripts/guided.py b/archinstall/scripts/guided.py index 85bd17d7..da355a0c 100644 --- a/archinstall/scripts/guided.py +++ b/archinstall/scripts/guided.py @@ -1,18 +1,16 @@ from pathlib import Path -from typing import Any, TYPE_CHECKING +from typing import TYPE_CHECKING, Any import archinstall -from archinstall import info, debug -from archinstall import SysInfo -from archinstall.lib import locale -from archinstall.lib import disk -from archinstall.lib.global_menu import GlobalMenu +from archinstall import SysInfo, debug, info +from archinstall.lib import disk, locale from archinstall.lib.configuration import ConfigurationOutput +from archinstall.lib.global_menu import GlobalMenu from archinstall.lib.installer import Installer +from archinstall.lib.interactions.general_conf import ask_chroot from archinstall.lib.models import AudioConfiguration, Bootloader from archinstall.lib.models.network_configuration import NetworkConfiguration from archinstall.lib.profile.profiles_handler import profile_handler -from archinstall.lib.interactions.general_conf import ask_chroot from archinstall.tui import Tui if TYPE_CHECKING: diff --git a/archinstall/scripts/minimal.py b/archinstall/scripts/minimal.py index 88647705..f489d604 100644 --- a/archinstall/scripts/minimal.py +++ b/archinstall/scripts/minimal.py @@ -2,13 +2,12 @@ from pathlib import Path from typing import TYPE_CHECKING, Any import archinstall -from archinstall import info, debug -from archinstall import Installer, ConfigurationOutput +from archinstall import ConfigurationOutput, Installer, debug, info from archinstall.default_profiles.minimal import MinimalProfile -from archinstall.lib.interactions import suggest_single_disk_layout, select_devices +from archinstall.lib import disk +from archinstall.lib.interactions import select_devices, suggest_single_disk_layout from archinstall.lib.models import Bootloader, User from archinstall.lib.profile import ProfileConfiguration, profile_handler -from archinstall.lib import disk from archinstall.tui import Tui if TYPE_CHECKING: diff --git a/archinstall/scripts/only_hd.py b/archinstall/scripts/only_hd.py index 3e0465de..ce2d541a 100644 --- a/archinstall/scripts/only_hd.py +++ b/archinstall/scripts/only_hd.py @@ -2,9 +2,9 @@ from pathlib import Path import archinstall from archinstall import debug -from archinstall.lib.installer import Installer -from archinstall.lib.configuration import ConfigurationOutput from archinstall.lib import disk +from archinstall.lib.configuration import ConfigurationOutput +from archinstall.lib.installer import Installer from archinstall.tui import Tui diff --git a/archinstall/scripts/swiss.py b/archinstall/scripts/swiss.py index a00a0f35..19120878 100644 --- a/archinstall/scripts/swiss.py +++ b/archinstall/scripts/swiss.py @@ -3,21 +3,15 @@ from pathlib import Path from typing import TYPE_CHECKING, Any import archinstall -from archinstall import SysInfo, info, debug -from archinstall.lib import models -from archinstall.lib import disk -from archinstall.lib import locale -from archinstall.lib.models import AudioConfiguration -from archinstall.lib.profile.profiles_handler import profile_handler +from archinstall import SysInfo, debug, info +from archinstall.lib import disk, locale, models +from archinstall.lib.configuration import ConfigurationOutput from archinstall.lib.global_menu import GlobalMenu from archinstall.lib.installer import Installer -from archinstall.lib.configuration import ConfigurationOutput from archinstall.lib.interactions.general_conf import ask_chroot -from archinstall.tui import ( - MenuItemGroup, MenuItem, SelectMenu, - FrameProperties, Alignment, ResultType, - Tui -) +from archinstall.lib.models import AudioConfiguration +from archinstall.lib.profile.profiles_handler import profile_handler +from archinstall.tui import Alignment, FrameProperties, MenuItem, MenuItemGroup, ResultType, SelectMenu, Tui if TYPE_CHECKING: _: Any diff --git a/archinstall/scripts/unattended.py b/archinstall/scripts/unattended.py index 59050c3f..db7c8087 100644 --- a/archinstall/scripts/unattended.py +++ b/archinstall/scripts/unattended.py @@ -1,11 +1,9 @@ import time import archinstall -from archinstall import info -from archinstall import profile +from archinstall import info, profile from archinstall.tui import Tui - for p in profile.profile_handler.get_mac_addr_profiles(): # Tailored means it's a match for this machine # based on it's MAC address (or some other criteria diff --git a/archinstall/tui/__init__.py b/archinstall/tui/__init__.py index b63153d3..c17af3fc 100644 --- a/archinstall/tui/__init__.py +++ b/archinstall/tui/__init__.py @@ -1,12 +1,3 @@ -from .curses_menu import ( - SelectMenu, EditMenu, Tui -) - -from .menu_item import ( - MenuItem, MenuItemGroup -) - -from .types import ( - PreviewStyle, FrameProperties, FrameStyle, Alignment, - Result, ResultType, Chars, Orientation -) +from .curses_menu import EditMenu, SelectMenu, Tui +from .menu_item import MenuItem, MenuItemGroup +from .types import Alignment, Chars, FrameProperties, FrameStyle, Orientation, PreviewStyle, Result, ResultType diff --git a/archinstall/tui/curses_menu.py b/archinstall/tui/curses_menu.py index 25904725..e9b8b713 100644 --- a/archinstall/tui/curses_menu.py +++ b/archinstall/tui/curses_menu.py @@ -1,27 +1,37 @@ from __future__ import annotations -import sys import curses -import dataclasses import curses.panel +import dataclasses import os import signal +import sys from abc import ABCMeta, abstractmethod from collections.abc import Callable from curses.textpad import Textbox from dataclasses import dataclass from types import FrameType, TracebackType -from typing import Any, TYPE_CHECKING, Literal +from typing import TYPE_CHECKING, Any, Literal +from ..lib.output import debug from .help import Help from .menu_item import MenuItem, MenuItemGroup from .types import ( - Result, ResultType, ViewportEntry, - STYLE, FrameProperties, FrameStyle, Alignment, - Chars, MenuKeys, Orientation, PreviewStyle, - MenuCell, _FrameDim, SCROLL_INTERVAL + SCROLL_INTERVAL, + STYLE, + Alignment, + Chars, + FrameProperties, + FrameStyle, + MenuCell, + MenuKeys, + Orientation, + PreviewStyle, + Result, + ResultType, + ViewportEntry, + _FrameDim, ) -from ..lib.output import debug if TYPE_CHECKING: _: Any diff --git a/archinstall/tui/menu_item.py b/archinstall/tui/menu_item.py index 8e1475e1..8a7d8d31 100644 --- a/archinstall/tui/menu_item.py +++ b/archinstall/tui/menu_item.py @@ -2,8 +2,7 @@ from __future__ import annotations from collections.abc import Callable from dataclasses import dataclass, field -from typing import Any, TYPE_CHECKING -from typing import ClassVar +from typing import TYPE_CHECKING, Any, ClassVar from ..lib.output import unicode_ljust diff --git a/archinstall/tui/types.py b/archinstall/tui/types.py index f45d87ce..597fc850 100644 --- a/archinstall/tui/types.py +++ b/archinstall/tui/types.py @@ -5,7 +5,6 @@ from typing import Any from .menu_item import MenuItem - SCROLL_INTERVAL = 10