diff --git a/pmb/core/config.py b/pmb/core/config.py index f93739ff..b950d011 100644 --- a/pmb/core/config.py +++ b/pmb/core/config.py @@ -3,6 +3,7 @@ from copy import deepcopy import enum +import inspect import multiprocessing from typing import Any, ClassVar, TypedDict from pathlib import Path @@ -90,14 +91,14 @@ class Config: def __init__(self) -> None: # Make sure we aren't modifying the class defaults - for key in Config.__annotations__.keys(): + for key in inspect.get_annotations(Config).keys(): setattr(self, key, deepcopy(Config.get_default(key))) @staticmethod def keys() -> list[str]: - keys = list(Config.__annotations__.keys()) + keys = list(inspect.get_annotations(Config).keys()) keys.remove("mirrors") - keys += [f"mirrors.{k}" for k in Mirrors.__annotations__.keys()] + keys += [f"mirrors.{k}" for k in inspect.get_annotations(Mirrors).keys()] return sorted(keys) @staticmethod diff --git a/pmb/parse/deviceinfo.py b/pmb/parse/deviceinfo.py index 4a164ba1..69d8872a 100644 --- a/pmb/parse/deviceinfo.py +++ b/pmb/parse/deviceinfo.py @@ -5,6 +5,7 @@ from pathlib import Path from pmb.core.context import get_context from pmb.core.arch import Arch from pmb.helpers import logging +import inspect import os import pmb.config import pmb.helpers.other @@ -53,7 +54,7 @@ def _parse_kernel_suffix(info: dict[str, str], device: str, kernel: str | None) ret = copy.copy(info) suffix_kernel = kernel.replace("-", "_") - for key in Deviceinfo.__annotations__.keys(): + for key in inspect.get_annotations(Deviceinfo).keys(): key_kernel = f"{key}_{suffix_kernel}" if key_kernel not in ret: continue