aboutsummaryrefslogtreecommitdiff
path: root/tools/cru-py/cru/config.py
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2024-11-11 01:12:29 +0800
committerYuqian Yang <crupest@crupest.life>2025-01-20 15:06:20 +0800
commit12e1272508ba0b5909069319007d677c1c76e355 (patch)
tree969e16dea577b4cbc427791de60083a6c962c1c6 /tools/cru-py/cru/config.py
parentfc6cd0846eae8c7f7a50e18b654b1f14f7b7840f (diff)
downloadcrupest-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.py14
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,