mirror of
https://github.com/tiqi-group/pydase.git
synced 2025-06-07 14:00:40 +02:00
Merge pull request #78 from tiqi-group/feat/removes_private_attr_set_warning
Feat: removes warning if private attribute is set
This commit is contained in:
commit
f2b2ef8dcd
@ -82,7 +82,7 @@ ignore = [
|
|||||||
"PERF203", # try-except-in-loop
|
"PERF203", # try-except-in-loop
|
||||||
]
|
]
|
||||||
extend-exclude = [
|
extend-exclude = [
|
||||||
"docs", "frontend"
|
"docs", "frontend", "tests"
|
||||||
]
|
]
|
||||||
|
|
||||||
[tool.ruff.lint.mccabe]
|
[tool.ruff.lint.mccabe]
|
||||||
|
@ -67,9 +67,6 @@ class DataService(rpyc.Service, AbstractDataService):
|
|||||||
# Check and warn for unexpected type changes in attributes
|
# Check and warn for unexpected type changes in attributes
|
||||||
self._warn_on_type_change(__name, __value)
|
self._warn_on_type_change(__name, __value)
|
||||||
|
|
||||||
# Warn if setting private attributes
|
|
||||||
self._warn_on_private_attr_set(__name)
|
|
||||||
|
|
||||||
# every class defined by the user should inherit from DataService if it is
|
# every class defined by the user should inherit from DataService if it is
|
||||||
# assigned to a public attribute
|
# assigned to a public attribute
|
||||||
if not __name.startswith("_"):
|
if not __name.startswith("_"):
|
||||||
@ -103,15 +100,6 @@ class DataService(rpyc.Service, AbstractDataService):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
def _warn_on_private_attr_set(self, attr_name: str) -> None:
|
|
||||||
if attr_name.startswith(f"_{self.__class__.__name__}__"):
|
|
||||||
logger.warning(
|
|
||||||
"Warning: You should not set private but rather protected attributes! "
|
|
||||||
"Use %s instead of %s.",
|
|
||||||
attr_name.replace(f"_{self.__class__.__name__}__", "_"),
|
|
||||||
attr_name.replace(f"_{self.__class__.__name__}__", "__"),
|
|
||||||
)
|
|
||||||
|
|
||||||
def __check_instance_classes(self) -> None:
|
def __check_instance_classes(self) -> None:
|
||||||
for attr_name, attr_value in get_class_and_instance_attributes(self).items():
|
for attr_name, attr_value in get_class_and_instance_attributes(self).items():
|
||||||
# every class defined by the user should inherit from DataService if it is
|
# every class defined by the user should inherit from DataService if it is
|
||||||
|
@ -34,20 +34,6 @@ def test_instance_attr_inheritance_warning(caplog: LogCaptureFixture) -> None:
|
|||||||
) in caplog.text
|
) in caplog.text
|
||||||
|
|
||||||
|
|
||||||
def test_private_attribute_warning(caplog: LogCaptureFixture) -> None:
|
|
||||||
class ServiceClass(DataService):
|
|
||||||
def __init__(self) -> None:
|
|
||||||
super().__init__()
|
|
||||||
self.__something = ""
|
|
||||||
|
|
||||||
ServiceClass()
|
|
||||||
|
|
||||||
assert (
|
|
||||||
" Warning: You should not set private but rather protected attributes! Use "
|
|
||||||
"_something instead of __something." in caplog.text
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def test_protected_attribute_warning(caplog: LogCaptureFixture) -> None:
|
def test_protected_attribute_warning(caplog: LogCaptureFixture) -> None:
|
||||||
class SubClass:
|
class SubClass:
|
||||||
name = "Hello"
|
name = "Hello"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user