Add feature to compare core.python.namespaces.PythonPackageNamespace instances or core.python.namespaces.PythonModuleNamespace instances

This commit is contained in:
2026-04-08 13:33:12 +02:00
parent 286ba68c34
commit 66f06960a9
4 changed files with 39 additions and 4 deletions
+13 -2
View File
@@ -37,7 +37,6 @@ class PythonNamespace:
self.name = name
class PythonPackageNamespace(PythonNamespace):
'''
A subclass of ``PythonNamespace`` for python package namespaces.
@@ -109,6 +108,15 @@ class PythonPackageNamespace(PythonNamespace):
return self._sub_namespaces_names(self)
def __eq__(self, value: PythonPackageNamespace) -> bool:
# For performance reasons, is not called self.sub_namespace_names
# if the name attribute does not match, which can be quickly
# verified
if self.name != value.name:
return False
return value.sub_namespace_names() == self.sub_namespace_names()
class PythonModuleNamespace(PythonNamespace):
'''
A subclass of ``PythonNamespace`` for python module namespaces.
@@ -118,4 +126,7 @@ class PythonModuleNamespace(PythonNamespace):
'''
def __init__(self, name: str) -> None:
super().__init__(name)
super().__init__(name)
def __eq__(self, value: PythonModuleNamespace) -> bool:
return self.name == value.name