generated from jCloud/repository-template
Add feature to compare core.python.namespaces.PythonPackageNamespace instances or core.python.namespaces.PythonModuleNamespace instances
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user