From 33f4a81981ae297bc8d1f4557868954a96178ea4 Mon Sep 17 00:00:00 2001 From: InsanePrawn Date: Sat, 8 Oct 2022 04:04:27 +0200 Subject: [PATCH] config: move code from __init__.py into cli.py --- boot.py | 2 +- cache.py | 2 +- chroot/abstract.py | 2 +- chroot/base.py | 2 +- chroot/build.py | 2 +- chroot/cli.py | 2 +- chroot/device.py | 2 +- chroot/helpers.py | 2 +- config/{__init__.py => cli.py} | 9 ++++----- config/state.py | 3 +++ devices/device.py | 2 +- devices/deviceinfo.py | 2 +- devices/test_device.py | 2 +- devices/test_deviceinfo.py | 2 +- distro/distro.py | 2 +- flavours/flavour.py | 2 +- generator.py | 2 +- image.py | 2 +- integration_tests.py | 2 +- main.py | 2 +- packages/build.py | 2 +- packages/cli.py | 2 +- packages/pkgbuild.py | 2 +- packages/srcinfo_cache.py | 2 +- ssh.py | 2 +- wrapper/__init__.py | 2 +- wrapper/docker.py | 2 +- wrapper/wrapper.py | 2 +- 28 files changed, 33 insertions(+), 31 deletions(-) rename config/{__init__.py => cli.py} (98%) diff --git a/boot.py b/boot.py index e262812..dce5b0d 100644 --- a/boot.py +++ b/boot.py @@ -4,7 +4,7 @@ import click from typing import Optional -from config import config +from config.state import config from constants import FLASH_PARTS, FASTBOOT, JUMPDRIVE, JUMPDRIVE_VERSION from exec.file import makedir from fastboot import fastboot_boot, fastboot_erase_dtbo diff --git a/cache.py b/cache.py index ed39c17..8a24fe6 100644 --- a/cache.py +++ b/cache.py @@ -2,7 +2,7 @@ import click import os import logging -from config import config +from config.state import config from constants import CHROOT_PATHS from exec.file import remove_file from packages.cli import cmd_clean as cmd_clean_pkgbuilds diff --git a/chroot/abstract.py b/chroot/abstract.py index dbe056c..baaa0ce 100644 --- a/chroot/abstract.py +++ b/chroot/abstract.py @@ -7,7 +7,7 @@ from shlex import quote as shell_quote from typing import ClassVar, Protocol, Union, Optional, Mapping from uuid import uuid4 -from config import config +from config.state import config from constants import Arch, CHROOT_PATHS, GCC_HOSTSPECS from distro.distro import get_base_distro, get_kupfer_local, RepoInfo from exec.cmd import run_root_cmd, generate_env_cmd, flatten_shell_script, wrap_in_bash, generate_cmd_su diff --git a/chroot/base.py b/chroot/base.py index 552c59b..37ed943 100644 --- a/chroot/base.py +++ b/chroot/base.py @@ -8,7 +8,7 @@ from typing import ClassVar from constants import Arch from exec.cmd import run_root_cmd from exec.file import makedir, root_makedir -from config import config +from config.state import config from .abstract import Chroot, get_chroot from .helpers import base_chroot_name diff --git a/chroot/build.py b/chroot/build.py index 2b080e1..2520d6a 100644 --- a/chroot/build.py +++ b/chroot/build.py @@ -4,7 +4,7 @@ import subprocess from glob import glob from typing import ClassVar, Optional -from config import config +from config.state import config from constants import Arch, GCC_HOSTSPECS, CROSSDIRECT_PKGS, CHROOT_PATHS from distro.distro import get_kupfer_local from exec.cmd import run_root_cmd diff --git a/chroot/cli.py b/chroot/cli.py index fd9413f..4a89403 100644 --- a/chroot/cli.py +++ b/chroot/cli.py @@ -2,7 +2,7 @@ import click import logging import os -from config import config +from config.state import config from wrapper import enforce_wrap from .abstract import Chroot diff --git a/chroot/device.py b/chroot/device.py index 37c5ccf..e41e9b2 100644 --- a/chroot/device.py +++ b/chroot/device.py @@ -3,7 +3,7 @@ import os from typing import ClassVar, Optional -from config import config +from config.state import config from constants import Arch, BASE_PACKAGES from distro.repo import RepoInfo from distro.distro import get_kupfer_local, get_kupfer_https diff --git a/chroot/helpers.py b/chroot/helpers.py index 9da0973..a3dc818 100644 --- a/chroot/helpers.py +++ b/chroot/helpers.py @@ -1,7 +1,7 @@ import os from typing import Optional, TypedDict -from config import config +from config.state import config from constants import Arch BIND_BUILD_DIRS = 'BINDBUILDDIRS' diff --git a/config/__init__.py b/config/cli.py similarity index 98% rename from config/__init__.py rename to config/cli.py index 3136add..dd82202 100644 --- a/config/__init__.py +++ b/config/cli.py @@ -5,9 +5,12 @@ import os from copy import deepcopy from typing import Any, Iterable, Optional, Union +from devices.device import get_devices +from flavours.flavour import get_flavours + from .scheme import Profile from .profile import PROFILE_EMPTY, PROFILE_DEFAULTS -from .state import ConfigStateHolder, CONFIG_DEFAULTS, CONFIG_SECTIONS, merge_configs +from .state import config, CONFIG_DEFAULTS, CONFIG_SECTIONS, merge_configs def list_to_comma_str(str_list: list[str], default='') -> str: @@ -129,7 +132,6 @@ def prompt_choice(current: Optional[Any], key: str, choices: Iterable[Any], allo def prompt_profile_device(current: Optional[str], profile_name: str) -> tuple[str, bool]: - from devices.device import get_devices devices = get_devices() print(click.style("Pick your device!\nThese are the available devices:", bold=True)) for dev in sorted(devices.keys()): @@ -138,7 +140,6 @@ def prompt_profile_device(current: Optional[str], profile_name: str) -> tuple[st def prompt_profile_flavour(current: Optional[str], profile_name: str) -> tuple[str, bool]: - from flavours.flavour import get_flavours flavours = get_flavours() print(click.style("Pick your flavour!\nThese are the available flavours:", bold=True)) for f in sorted(flavours.keys()): @@ -183,8 +184,6 @@ def prompt_for_save(retry_ctx: Optional[click.Context] = None): return False -config: ConfigStateHolder = ConfigStateHolder(file_conf_base=CONFIG_DEFAULTS) - config_option = click.option( '-C', '--config', diff --git a/config/state.py b/config/state.py index 278ff19..4ac5ab6 100644 --- a/config/state.py +++ b/config/state.py @@ -315,3 +315,6 @@ class ConfigStateHolder: new = {key: val for key, val in new.items() if val is not None} self.file.profiles[name] = new self.invalidate_profile_cache() + + +config: ConfigStateHolder = ConfigStateHolder(file_conf_base=CONFIG_DEFAULTS) diff --git a/devices/device.py b/devices/device.py index 82dd5ed..6e80200 100644 --- a/devices/device.py +++ b/devices/device.py @@ -3,7 +3,7 @@ import os from typing import Optional -from config import config +from config.state import config from constants import Arch, ARCHES from config.scheme import DataClass, munchclass from distro.distro import get_kupfer_local diff --git a/devices/deviceinfo.py b/devices/deviceinfo.py index 8e7c3c4..6848eed 100644 --- a/devices/deviceinfo.py +++ b/devices/deviceinfo.py @@ -7,7 +7,7 @@ import os from typing import Mapping -from config import config +from config.state import config from constants import Arch from dataclass import DataClass diff --git a/devices/test_device.py b/devices/test_device.py index 1b64313..137f426 100644 --- a/devices/test_device.py +++ b/devices/test_device.py @@ -4,7 +4,7 @@ import os from copy import copy -from config import ConfigStateHolder, config +from config.state import ConfigStateHolder, config from packages.pkgbuild import init_pkgbuilds, discover_pkgbuilds, Pkgbuild, parse_pkgbuild from .device import Device, DEVICE_DEPRECATIONS, get_device, get_devices, parse_device_pkg, check_devicepkg_name diff --git a/devices/test_deviceinfo.py b/devices/test_deviceinfo.py index 555000a..e4aebf4 100644 --- a/devices/test_deviceinfo.py +++ b/devices/test_deviceinfo.py @@ -1,4 +1,4 @@ -from config import config +from config.state import config from .deviceinfo import DeviceInfo, parse_deviceinfo from .device import get_device diff --git a/distro/distro.py b/distro/distro.py index d4cb009..ba31710 100644 --- a/distro/distro.py +++ b/distro/distro.py @@ -2,7 +2,7 @@ from typing import Generic, Mapping, Optional, TypeVar from constants import Arch, ARCHES, BASE_DISTROS, REPOSITORIES, KUPFER_HTTPS, CHROOT_PATHS from generator import generate_pacman_conf_body -from config import config +from config.state import config from .repo import BinaryPackageType, RepoInfo, Repo, LocalRepo, RemoteRepo diff --git a/flavours/flavour.py b/flavours/flavour.py index 2cc893d..f78ab50 100644 --- a/flavours/flavour.py +++ b/flavours/flavour.py @@ -7,7 +7,7 @@ import os from dataclasses import dataclass from typing import Optional -from config import config +from config.state import config from constants import FLAVOUR_DESCRIPTION_PREFIX, FLAVOUR_INFO_FILE from packages.pkgbuild import discover_pkgbuilds, get_pkgbuild_by_name, init_pkgbuilds, Pkgbuild diff --git a/generator.py b/generator.py index 1ee867a..133e8c4 100644 --- a/generator.py +++ b/generator.py @@ -1,5 +1,5 @@ from constants import Arch, CFLAGS_ARCHES, CFLAGS_GENERAL, COMPILE_ARCHES, GCC_HOSTSPECS -from config import config +from config.state import config def generate_makepkg_conf(arch: Arch, cross: bool = False, chroot: str = None) -> str: diff --git a/image.py b/image.py index e4955d5..908556e 100644 --- a/image.py +++ b/image.py @@ -11,7 +11,7 @@ from typing import Optional, Union from chroot.device import DeviceChroot, get_device_chroot from constants import Arch, BASE_LOCAL_PACKAGES, BASE_PACKAGES, POST_CMDS -from config import config, Profile +from config.state import config, Profile from distro.distro import get_base_distro, get_kupfer_https from exec.cmd import run_root_cmd, generate_cmd_su from exec.file import root_write_file, root_makedir, makedir diff --git a/integration_tests.py b/integration_tests.py index 3d5b956..b333dee 100644 --- a/integration_tests.py +++ b/integration_tests.py @@ -4,7 +4,7 @@ import pytest from glob import glob -from config import config, CONFIG_DEFAULTS +from config.state import config, CONFIG_DEFAULTS from constants import SRCINFO_METADATA_FILE from exec.file import get_temp_dir from logger import setup_logging diff --git a/main.py b/main.py index cb531d5..3aea9c3 100755 --- a/main.py +++ b/main.py @@ -8,7 +8,7 @@ from typing import Optional from logger import logging, setup_logging, verbose_option from wrapper import nowrapper_option, enforce_wrap -from config import config, config_option, cmd_config +from config.cli import config, config_option, cmd_config from forwarding import cmd_forwarding from packages.cli import cmd_packages from flavours.cli import cmd_flavours diff --git a/packages/build.py b/packages/build.py index 9bda88a..3664b7d 100644 --- a/packages/build.py +++ b/packages/build.py @@ -10,7 +10,7 @@ from typing import Iterable, Iterator, Optional from binfmt import register as binfmt_register from constants import REPOSITORIES, CROSSDIRECT_PKGS, QEMU_BINFMT_PKGS, GCC_HOSTSPECS, ARCHES, Arch, CHROOT_PATHS, MAKEPKG_CMD -from config import config +from config.state import config from exec.cmd import run_cmd, run_root_cmd from exec.file import makedir, remove_file, symlink from chroot.build import get_build_chroot, BuildChroot diff --git a/packages/cli.py b/packages/cli.py index 328304b..0e26be6 100644 --- a/packages/cli.py +++ b/packages/cli.py @@ -5,7 +5,7 @@ import os from glob import glob from typing import Iterable, Optional -from config import config +from config.state import config from constants import Arch, ARCHES, REPOSITORIES, SRCINFO_FILE, SRCINFO_METADATA_FILE from exec.file import remove_file from devices.device import get_profile_device diff --git a/packages/pkgbuild.py b/packages/pkgbuild.py index 30c31d1..12f52d5 100644 --- a/packages/pkgbuild.py +++ b/packages/pkgbuild.py @@ -8,7 +8,7 @@ import os from joblib import Parallel, delayed from typing import Iterable, Optional, TypeAlias -from config import config, ConfigStateHolder +from config.state import config, ConfigStateHolder from constants import REPOSITORIES from constants import Arch from distro.package import PackageInfo diff --git a/packages/srcinfo_cache.py b/packages/srcinfo_cache.py index 7f4df34..ecc7382 100644 --- a/packages/srcinfo_cache.py +++ b/packages/srcinfo_cache.py @@ -7,7 +7,7 @@ import subprocess from typing import Optional -from config import config +from config.state import config from constants import MAKEPKG_CMD, SRCINFO_FILE, SRCINFO_METADATA_FILE from dataclass import DataClass from exec.cmd import run_cmd diff --git a/ssh.py b/ssh.py index 5326b51..ab63b36 100644 --- a/ssh.py +++ b/ssh.py @@ -4,7 +4,7 @@ import os import pathlib import click -from config import config +from config.state import config from constants import SSH_COMMON_OPTIONS, SSH_DEFAULT_HOST, SSH_DEFAULT_PORT from exec.cmd import run_cmd from wrapper import check_programs_wrap diff --git a/wrapper/__init__.py b/wrapper/__init__.py index 5571867..7bca277 100644 --- a/wrapper/__init__.py +++ b/wrapper/__init__.py @@ -3,7 +3,7 @@ import logging from typing import Sequence, Union -from config import config +from config.state import config from constants import Arch from utils import programs_available from .docker import DockerWrapper diff --git a/wrapper/docker.py b/wrapper/docker.py index efbfd87..2112548 100644 --- a/wrapper/docker.py +++ b/wrapper/docker.py @@ -4,7 +4,7 @@ import pathlib import subprocess import sys -from config import config +from config.state import config from exec.file import makedir from .wrapper import BaseWrapper, WRAPPER_PATHS diff --git a/wrapper/wrapper.py b/wrapper/wrapper.py index b1c444e..dee429a 100644 --- a/wrapper/wrapper.py +++ b/wrapper/wrapper.py @@ -5,7 +5,7 @@ import pathlib from typing import Protocol -from config import config +from config.state import config from config.state import dump_file as dump_config_file from constants import CHROOT_PATHS, WRAPPER_ENV_VAR