Improve categorization of features (#904)

This updates the categorization of features and makes the id mandatory for features
This commit is contained in:
Teemu R
2024-05-07 11:13:35 +02:00
committed by GitHub
parent 50b5107f75
commit 55653d0346
31 changed files with 131 additions and 52 deletions

View File

@@ -53,14 +53,10 @@ class Module(ABC):
def _add_feature(self, feature: Feature):
"""Add module feature."""
def _slugified_name(name):
return name.lower().replace(" ", "_").replace("'", "_")
feat_name = _slugified_name(feature.name)
if feat_name in self._module_features:
raise KasaException("Duplicate name detected %s" % feat_name)
self._module_features[feat_name] = feature
id_ = feature.id
if id_ in self._module_features:
raise KasaException("Duplicate id detected %s" % id_)
self._module_features[id_] = feature
def __repr__(self) -> str:
return (