move packages/{device,deviceinfo}.py to devices/

This commit is contained in:
InsanePrawn 2022-10-08 02:17:04 +02:00
parent b2112026d2
commit 6581e34087
13 changed files with 35 additions and 30 deletions

View file

@ -9,7 +9,7 @@ from constants import FLASH_PARTS, FASTBOOT, JUMPDRIVE, JUMPDRIVE_VERSION
from exec.file import makedir
from fastboot import fastboot_boot, fastboot_erase_dtbo
from image import get_device_name, losetup_rootfs_image, get_image_path, dump_aboot, dump_lk2nd
from packages.device import get_profile_device
from devices.device import get_profile_device
from packages.flavour import get_profile_flavour, profile_option
from wrapper import enforce_wrap

View file

@ -129,7 +129,7 @@ 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 packages.device import get_devices
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()):

0
devices/__init__.py Normal file
View file

13
devices/cli.py Normal file
View file

@ -0,0 +1,13 @@
import click
from .device import get_devices
@click.command(name='devices')
def cmd_devices():
'list the available devices and descriptions'
devices = get_devices()
if not devices:
raise Exception("No devices found!")
for d in sorted(devices.keys()):
print(devices[d])

View file

@ -1,4 +1,3 @@
import click
import logging
import os
@ -9,10 +8,9 @@ from constants import Arch, ARCHES
from config.scheme import DataClass, munchclass
from distro.distro import get_kupfer_local
from distro.package import LocalPackage
from packages.pkgbuild import Pkgbuild, _pkgbuilds_cache, discover_pkgbuilds, get_pkgbuild_by_path, init_pkgbuilds
from utils import read_files_from_tar
from .build import check_package_version_built
from .pkgbuild import Pkgbuild, _pkgbuilds_cache, discover_pkgbuilds, get_pkgbuild_by_path, init_pkgbuilds
from .deviceinfo import DeviceInfo, parse_deviceinfo
DEVICE_DEPRECATIONS = {
@ -37,6 +35,8 @@ class Device(DataClass):
def parse_deviceinfo(self, try_download: bool = True, lazy: bool = True):
if not lazy or 'deviceinfo' not in self or self.deviceinfo is None:
# avoid import loop
from packages.build import check_package_version_built
is_built = check_package_version_built(self.package, self.arch, try_download=try_download)
if not is_built:
raise Exception(f"device package {self.package.name} for device {self.name} couldn't be acquired!")
@ -154,13 +154,3 @@ def get_device(name: str, pkgbuilds: Optional[dict[str, Pkgbuild]] = None, lazy:
def get_profile_device(profile_name: Optional[str] = None, hint_or_set_arch: bool = False):
profile = config.enforce_profile_device_set(profile_name=profile_name, hint_or_set_arch=hint_or_set_arch)
return get_device(profile.device)
@click.command(name='list')
def cmd_devices_list():
'list the available devices and descriptions'
devices = get_devices()
if not devices:
raise Exception("No devices found!")
for d in sorted(devices.keys()):
print(devices[d])

View file

@ -5,7 +5,7 @@ import os
from copy import copy
from config import ConfigStateHolder, config
from .pkgbuild import init_pkgbuilds, discover_pkgbuilds, Pkgbuild, parse_pkgbuild
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

View file

@ -1,7 +1,7 @@
from config import config
from .device import get_device
from .deviceinfo import DeviceInfo, parse_deviceinfo
from .device import get_device
deviceinfo_text = """
# Reference: <https://postmarketos.org/deviceinfo>

View file

@ -12,6 +12,7 @@ only used to trigger builds of the submodule docs!
cache
chroot
config
devices
flash
forwarding
image

View file

@ -9,7 +9,7 @@ from exec.cmd import run_root_cmd
from exec.file import get_temp_dir
from fastboot import fastboot_flash
from image import dd_image, partprobe, shrink_fs, losetup_rootfs_image, losetup_destroy, dump_aboot, dump_lk2nd, dump_qhypstub, get_image_name, get_image_path
from packages.device import get_profile_device
from devices.device import get_profile_device
from packages.flavour import get_profile_flavour, profile_option
from wrapper import enforce_wrap

View file

@ -16,7 +16,7 @@ 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
from packages.build import build_enable_qemu_binfmt, build_packages, filter_pkgbuilds
from packages.device import Device, get_profile_device
from devices.device import Device, get_profile_device
from packages.flavour import Flavour, get_profile_flavour
from ssh import copy_ssh_keys
from wrapper import enforce_wrap

20
main.py
View file

@ -10,7 +10,8 @@ from logger import logging, setup_logging, verbose_option
from wrapper import nowrapper_option, enforce_wrap
from config import config, config_option, cmd_config
from forwarding import cmd_forwarding
from packages import cmd_packages
from packages.cli import cmd_packages
from devices.cli import cmd_devices
from telnet import cmd_telnet
from chroot import cmd_chroot
from cache import cmd_cache
@ -59,16 +60,17 @@ def main():
exit(1)
cli.add_command(cmd_config)
cli.add_command(cmd_cache)
cli.add_command(cmd_packages)
cli.add_command(cmd_image)
cli.add_command(cmd_boot)
cli.add_command(cmd_flash)
cli.add_command(cmd_ssh)
cli.add_command(cmd_forwarding)
cli.add_command(cmd_telnet)
cli.add_command(cmd_cache)
cli.add_command(cmd_chroot)
cli.add_command(cmd_config)
cli.add_command(cmd_devices)
cli.add_command(cmd_flash)
cli.add_command(cmd_forwarding)
cli.add_command(cmd_image)
cli.add_command(cmd_packages)
cli.add_command(cmd_ssh)
cli.add_command(cmd_telnet)
if __name__ == '__main__':
main()

View file

@ -8,6 +8,7 @@ from typing import Iterable, Optional
from config 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
from distro.distro import get_kupfer_local
from distro.package import LocalPackage
from ssh import run_ssh_command, scp_put_files
@ -16,7 +17,6 @@ from wrapper import check_programs_wrap, enforce_wrap
from .build import build_packages_by_paths
from .pkgbuild import discover_pkgbuilds, filter_pkgbuilds, init_pkgbuilds
from .device import cmd_devices_list, get_profile_device
from .flavour import cmd_flavours_list
@ -52,7 +52,6 @@ def cmd_packages():
cmd_packages.add_command(cmd_flavours_list, 'flavours')
cmd_packages.add_command(cmd_devices_list, 'devices')
@cmd_packages.command(name='update')