diff options
author | crupest <crupest@outlook.com> | 2024-11-11 01:12:29 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-01-20 15:06:20 +0800 |
commit | 12e1272508ba0b5909069319007d677c1c76e355 (patch) | |
tree | 969e16dea577b4cbc427791de60083a6c962c1c6 /tools/cru-py/cru/config.py | |
parent | fc6cd0846eae8c7f7a50e18b654b1f14f7b7840f (diff) | |
download | crupest-12e1272508ba0b5909069319007d677c1c76e355.tar.gz crupest-12e1272508ba0b5909069319007d677c1c76e355.tar.bz2 crupest-12e1272508ba0b5909069319007d677c1c76e355.zip |
HALF WORK: 2024.1.20
Diffstat (limited to 'tools/cru-py/cru/config.py')
-rw-r--r-- | tools/cru-py/cru/config.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/tools/cru-py/cru/config.py b/tools/cru-py/cru/config.py index 9efcd55..0f6f0d0 100644 --- a/tools/cru-py/cru/config.py +++ b/tools/cru-py/cru/config.py @@ -113,7 +113,7 @@ class ConfigItem(Generic[_T]): self.value, self.default, ) - + @property def description_str(self) -> str: return f"{self.name} ({self.value_type.name}): {self.description}" @@ -123,9 +123,19 @@ class Configuration(CruUniqueKeyList[ConfigItem[Any], str]): def __init__(self): super().__init__(lambda c: c.name) + def get_set_items(self) -> list[ConfigItem[Any]]: + return [item for item in self if item.is_set] + + def get_unset_items(self) -> list[ConfigItem[Any]]: + return [item for item in self if not item.is_set] + + @property + def all_set(self) -> bool: + return len(self.get_unset_items()) == 0 + @property def all_not_set(self) -> bool: - return self.cru_iter().all(lambda item: not item.is_set) + return len(self.get_set_items()) == 0 def add_text_config( self, |