naming refactoring
This commit is contained in:
		
							parent
							
								
									547b233c97
								
							
						
					
					
						commit
						db1c8ab9aa
					
				| @ -3,7 +3,7 @@ from typing import Generic, Iterable, TypeVar | |||||||
| from nacl.bindings import crypto_hash_sha256 | from nacl.bindings import crypto_hash_sha256 | ||||||
| from nacl.secret import SecretBox | from nacl.secret import SecretBox | ||||||
| 
 | 
 | ||||||
| from rainbowadn.hashing.hashmentionable import HashMentionable | from rainbowadn.hashing.mentionable import Mentionable | ||||||
| from rainbowadn.hashing.hashpoint import HashPoint | from rainbowadn.hashing.hashpoint import HashPoint | ||||||
| from rainbowadn.hashing.hashresolver import HashResolver | from rainbowadn.hashing.hashresolver import HashResolver | ||||||
| from rainbowadn.hashing.origin import Origin | from rainbowadn.hashing.origin import Origin | ||||||
| @ -29,7 +29,7 @@ class Encrypted(RecursiveMentionable, Generic[EncryptedType]): | |||||||
|         assert isinstance(key, bytes) |         assert isinstance(key, bytes) | ||||||
|         assert isinstance(resolution, tuple) |         assert isinstance(resolution, tuple) | ||||||
|         assert isinstance(mapping, dict) |         assert isinstance(mapping, dict) | ||||||
|         assert isinstance(decrypted, HashMentionable) |         assert isinstance(decrypted, Mentionable) | ||||||
| 
 | 
 | ||||||
|         self.factory: RainbowFactory[EncryptedType] = decrypted.__factory__() |         self.factory: RainbowFactory[EncryptedType] = decrypted.__factory__() | ||||||
|         self.key = key |         self.key = key | ||||||
| @ -196,7 +196,8 @@ class ShortcutResolver(HashResolver): | |||||||
| 
 | 
 | ||||||
|     def resolve(self, point: bytes) -> tuple[bytes, 'HashResolver']: |     def resolve(self, point: bytes) -> tuple[bytes, 'HashResolver']: | ||||||
|         assert isinstance(point, bytes) |         assert isinstance(point, bytes) | ||||||
|  |         resolved: Encrypted = self.mapping[point].resolve() | ||||||
|         return ( |         return ( | ||||||
|             HashPoint.bytes_of_mentioned(self.mapping[point].resolve()), |             HashPoint.bytes_of_mentioned(resolved), | ||||||
|             ShortcutResolver(self.mapping[point].resolve()) |             ShortcutResolver(resolved) | ||||||
|         ) |         ) | ||||||
|  | |||||||
| @ -1,15 +1,14 @@ | |||||||
| import hashlib | import hashlib | ||||||
| from typing import Generic, TypeVar | from typing import Generic, TypeVar | ||||||
| 
 | 
 | ||||||
| from rainbowadn.hashing.hashmentionable import HashMentionable | from rainbowadn.hashing.mentionable import Mentionable | ||||||
| from rainbowadn.hashing.localorigin import LocalOrigin | from rainbowadn.hashing.localorigin import LocalOrigin | ||||||
| from rainbowadn.hashing.origin import Origin | from rainbowadn.hashing.origin import Origin | ||||||
| from rainbowadn.hashing.rainbow_factory import RainbowFactory | from rainbowadn.hashing.rainbow_factory import RainbowFactory | ||||||
| 
 | 
 | ||||||
| __all__ = ('HashPoint',) | __all__ = ('HashPoint',) | ||||||
| 
 | 
 | ||||||
| HashMentioned = TypeVar('HashMentioned') | Mentioned = TypeVar('Mentioned') | ||||||
| ReHashMentioned = TypeVar('ReHashMentioned') |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def _hash(source: bytes) -> bytes: | def _hash(source: bytes) -> bytes: | ||||||
| @ -17,11 +16,11 @@ def _hash(source: bytes) -> bytes: | |||||||
|     return hashlib.sha256(source).digest() |     return hashlib.sha256(source).digest() | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class HashPoint(Generic[HashMentioned]): | class HashPoint(Generic[Mentioned]): | ||||||
|     def __init__( |     def __init__( | ||||||
|             self, |             self, | ||||||
|             point: bytes, |             point: bytes, | ||||||
|             origin: Origin[HashMentioned] |             origin: Origin[Mentioned] | ||||||
|     ): |     ): | ||||||
|         assert isinstance(point, bytes) |         assert isinstance(point, bytes) | ||||||
|         assert isinstance(origin, Origin) |         assert isinstance(origin, Origin) | ||||||
| @ -43,23 +42,23 @@ class HashPoint(Generic[HashMentioned]): | |||||||
|         return _hash(source) |         return _hash(source) | ||||||
| 
 | 
 | ||||||
|     @classmethod |     @classmethod | ||||||
|     def bytes_of_mentioned(cls, mentioned: HashMentionable): |     def bytes_of_mentioned(cls, mentioned: Mentionable): | ||||||
|         assert isinstance(mentioned, HashMentionable) |         assert isinstance(mentioned, Mentionable) | ||||||
|         topology_hash: bytes = mentioned.__topology_hash__() |         topology_hash: bytes = mentioned.__topology_hash__() | ||||||
|         assert isinstance(topology_hash, bytes) |         assert isinstance(topology_hash, bytes) | ||||||
|         assert len(topology_hash) == cls.HASH_LENGTH |         assert len(topology_hash) == cls.HASH_LENGTH | ||||||
|         return topology_hash + bytes(mentioned) |         return topology_hash + bytes(mentioned) | ||||||
| 
 | 
 | ||||||
|     @classmethod |     @classmethod | ||||||
|     def of(cls, mentioned: HashMentioned) -> 'HashPoint[HashMentioned]': |     def of(cls, mentioned: Mentioned) -> 'HashPoint[Mentioned]': | ||||||
|         assert isinstance(mentioned, HashMentionable) |         assert isinstance(mentioned, Mentionable) | ||||||
|         return cls( |         return cls( | ||||||
|             cls.hash(cls.bytes_of_mentioned(mentioned)), LocalOrigin(mentioned) |             cls.hash(cls.bytes_of_mentioned(mentioned)), LocalOrigin(mentioned) | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|     def resolve(self) -> HashMentioned: |     def resolve(self) -> Mentioned: | ||||||
|         resolved = self.origin.resolve() |         resolved = self.origin.resolve() | ||||||
|         assert isinstance(resolved, HashMentionable) |         assert isinstance(resolved, Mentionable) | ||||||
|         assert self.point == self.hash(self.bytes_of_mentioned(resolved)) |         assert self.point == self.hash(self.bytes_of_mentioned(resolved)) | ||||||
|         return resolved |         return resolved | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,9 +1,5 @@ | |||||||
| from typing import TypeVar |  | ||||||
| 
 |  | ||||||
| __all__ = ('HashResolver',) | __all__ = ('HashResolver',) | ||||||
| 
 | 
 | ||||||
| RHashMentioned = TypeVar('RHashMentioned') |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| class HashResolver: | class HashResolver: | ||||||
|     def resolve(self, point: bytes) -> tuple[bytes, 'HashResolver']: |     def resolve(self, point: bytes) -> tuple[bytes, 'HashResolver']: | ||||||
|  | |||||||
| @ -7,15 +7,15 @@ from rainbowadn.hashing.rainbow_factory import RainbowFactory | |||||||
| 
 | 
 | ||||||
| __all__ = ('LocalMetaOrigin',) | __all__ = ('LocalMetaOrigin',) | ||||||
| 
 | 
 | ||||||
| OriginType = TypeVar('OriginType') | Mentioned = TypeVar('Mentioned') | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class LocalMetaOrigin(MetaOrigin[OriginType], Generic[OriginType]): | class LocalMetaOrigin(MetaOrigin[Mentioned], Generic[Mentioned]): | ||||||
|     def __init__(self, origin: Origin[OriginType]): |     def __init__(self, origin: Origin[Mentioned]): | ||||||
|         assert isinstance(origin, Origin) |         assert isinstance(origin, Origin) | ||||||
|         self._origin = origin |         self._origin = origin | ||||||
| 
 | 
 | ||||||
|     def origin(self, factory: RainbowFactory[OriginType], point: bytes) -> Origin[OriginType]: |     def origin(self, factory: RainbowFactory[Mentioned], point: bytes) -> Origin[Mentioned]: | ||||||
|         assert isinstance(factory, RainbowFactory) |         assert isinstance(factory, RainbowFactory) | ||||||
|         assert isinstance(point, bytes) |         assert isinstance(point, bytes) | ||||||
|         assert len(point) == HashPoint.HASH_LENGTH |         assert len(point) == HashPoint.HASH_LENGTH | ||||||
|  | |||||||
| @ -1,18 +1,18 @@ | |||||||
| from typing import Generic, TypeVar | from typing import Generic, TypeVar | ||||||
| 
 | 
 | ||||||
| from rainbowadn.hashing.hashmentionable import HashMentionable | from rainbowadn.hashing.mentionable import Mentionable | ||||||
| from rainbowadn.hashing.origin import Origin | from rainbowadn.hashing.origin import Origin | ||||||
| 
 | 
 | ||||||
| __all__ = ('LocalOrigin',) | __all__ = ('LocalOrigin',) | ||||||
| 
 | 
 | ||||||
| OriginType = TypeVar('OriginType') | Mentioned = TypeVar('Mentioned') | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class LocalOrigin(Origin[OriginType], Generic[OriginType]): | class LocalOrigin(Origin[Mentioned], Generic[Mentioned]): | ||||||
|     def __init__(self, value: OriginType): |     def __init__(self, value: Mentioned): | ||||||
|         assert isinstance(value, HashMentionable) |         assert isinstance(value, Mentionable) | ||||||
|         super().__init__(value.__factory__()) |         super().__init__(value.__factory__()) | ||||||
|         self.value: OriginType = value |         self.value: Mentioned = value | ||||||
| 
 | 
 | ||||||
|     def resolve(self) -> OriginType: |     def resolve(self) -> Mentioned: | ||||||
|         return self.value |         return self.value | ||||||
|  | |||||||
| @ -2,16 +2,16 @@ from typing import TypeVar | |||||||
| 
 | 
 | ||||||
| from rainbowadn.hashing.rainbow_factory import RainbowFactory | from rainbowadn.hashing.rainbow_factory import RainbowFactory | ||||||
| 
 | 
 | ||||||
| __all__ = ('HashMentionable',) | __all__ = ('Mentionable',) | ||||||
| 
 | 
 | ||||||
| HashMentioned = TypeVar('HashMentioned') | Mentioned = TypeVar('Mentioned') | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class HashMentionable: | class Mentionable: | ||||||
|     def __bytes__(self): |     def __bytes__(self): | ||||||
|         raise NotImplementedError |         raise NotImplementedError | ||||||
| 
 | 
 | ||||||
|     def __factory__(self: HashMentioned) -> RainbowFactory[HashMentioned]: |     def __factory__(self: Mentioned) -> RainbowFactory[Mentioned]: | ||||||
|         raise NotImplementedError |         raise NotImplementedError | ||||||
| 
 | 
 | ||||||
|     def __topology_hash__(self) -> bytes: |     def __topology_hash__(self) -> bytes: | ||||||
| @ -6,14 +6,14 @@ from rainbowadn.hashing.rainbow_factory import RainbowFactory | |||||||
| 
 | 
 | ||||||
| __all__ = ('MetaOrigin',) | __all__ = ('MetaOrigin',) | ||||||
| 
 | 
 | ||||||
| OriginType = TypeVar('OriginType') | Mentioned = TypeVar('Mentioned') | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class MetaOrigin(Generic[OriginType]): | class MetaOrigin(Generic[Mentioned]): | ||||||
|     def origin(self, factory: RainbowFactory[OriginType], point: bytes) -> Origin[OriginType]: |     def origin(self, factory: RainbowFactory[Mentioned], point: bytes) -> Origin[Mentioned]: | ||||||
|         raise NotImplementedError |         raise NotImplementedError | ||||||
| 
 | 
 | ||||||
|     def hash_point(self, factory: RainbowFactory[OriginType], point: bytes) -> HashPoint[OriginType]: |     def hash_point(self, factory: RainbowFactory[Mentioned], point: bytes) -> HashPoint[Mentioned]: | ||||||
|         assert isinstance(factory, RainbowFactory) |         assert isinstance(factory, RainbowFactory) | ||||||
|         assert isinstance(point, bytes) |         assert isinstance(point, bytes) | ||||||
|         assert len(point) == HashPoint.HASH_LENGTH |         assert len(point) == HashPoint.HASH_LENGTH | ||||||
|  | |||||||
| @ -4,12 +4,12 @@ from rainbowadn.hashing.rainbow_factory import RainbowFactory | |||||||
| 
 | 
 | ||||||
| __all__ = ('Origin',) | __all__ = ('Origin',) | ||||||
| 
 | 
 | ||||||
| OriginType = TypeVar('OriginType') | Mentioned = TypeVar('Mentioned') | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class Origin(Generic[OriginType]): | class Origin(Generic[Mentioned]): | ||||||
|     def __init__(self, factory: RainbowFactory[OriginType]): |     def __init__(self, factory: RainbowFactory[Mentioned]): | ||||||
|         self.factory = factory |         self.factory = factory | ||||||
| 
 | 
 | ||||||
|     def resolve(self) -> OriginType: |     def resolve(self) -> Mentioned: | ||||||
|         raise NotImplementedError |         raise NotImplementedError | ||||||
|  | |||||||
| @ -4,11 +4,11 @@ from rainbowadn.hashing.hashresolver import HashResolver | |||||||
| 
 | 
 | ||||||
| __all__ = ('RainbowFactory',) | __all__ = ('RainbowFactory',) | ||||||
| 
 | 
 | ||||||
| FHashMentioned = TypeVar('FHashMentioned') | Mentioned = TypeVar('Mentioned') | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class RainbowFactory(Generic[FHashMentioned]): | class RainbowFactory(Generic[Mentioned]): | ||||||
|     """вперёд, уроды, вас ждут заводы""" |     """вперёд, уроды, вас ждут заводы""" | ||||||
| 
 | 
 | ||||||
|     def from_bytes(self, source: bytes, resolver: HashResolver) -> FHashMentioned: |     def from_bytes(self, source: bytes, resolver: HashResolver) -> Mentioned: | ||||||
|         raise NotImplementedError |         raise NotImplementedError | ||||||
|  | |||||||
| @ -1,13 +1,13 @@ | |||||||
| import abc | import abc | ||||||
| from typing import Iterable | from typing import Iterable | ||||||
| 
 | 
 | ||||||
| from rainbowadn.hashing.hashmentionable import HashMentionable | from rainbowadn.hashing.mentionable import Mentionable | ||||||
| from rainbowadn.hashing.hashpoint import HashPoint | from rainbowadn.hashing.hashpoint import HashPoint | ||||||
| 
 | 
 | ||||||
| __all__ = ('RecursiveMentionable',) | __all__ = ('RecursiveMentionable',) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class RecursiveMentionable(HashMentionable, abc.ABC): | class RecursiveMentionable(Mentionable, abc.ABC): | ||||||
|     def points(self) -> Iterable[HashPoint]: |     def points(self) -> Iterable[HashPoint]: | ||||||
|         raise NotImplementedError |         raise NotImplementedError | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -9,20 +9,20 @@ from rainbowadn.hashing.resolverorigin import ResolverOrigin | |||||||
| 
 | 
 | ||||||
| __all__ = ('ResolverMetaOrigin',) | __all__ = ('ResolverMetaOrigin',) | ||||||
| 
 | 
 | ||||||
| OriginType = TypeVar('OriginType') | Mentioned = TypeVar('Mentioned') | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class ResolverMetaOrigin(MetaOrigin[OriginType], Generic[OriginType]): | class ResolverMetaOrigin(MetaOrigin[Mentioned], Generic[Mentioned]): | ||||||
|     def __init__(self, resolver: HashResolver): |     def __init__(self, resolver: HashResolver): | ||||||
|         assert isinstance(resolver, HashResolver) |         assert isinstance(resolver, HashResolver) | ||||||
|         self.resolver = resolver |         self.resolver = resolver | ||||||
| 
 | 
 | ||||||
|     def origin(self, factory: RainbowFactory[OriginType], point: bytes) -> Origin[OriginType]: |     def origin(self, factory: RainbowFactory[Mentioned], point: bytes) -> Origin[Mentioned]: | ||||||
|         assert isinstance(factory, RainbowFactory) |         assert isinstance(factory, RainbowFactory) | ||||||
|         assert isinstance(point, bytes) |         assert isinstance(point, bytes) | ||||||
|         assert len(point) == HashPoint.HASH_LENGTH |         assert len(point) == HashPoint.HASH_LENGTH | ||||||
|         return ResolverOrigin(factory, point, self.resolver) |         return ResolverOrigin(factory, point, self.resolver) | ||||||
| 
 | 
 | ||||||
|     def migrate(self, hash_point: HashPoint[OriginType]) -> HashPoint[OriginType]: |     def migrate(self, hash_point: HashPoint[Mentioned]) -> HashPoint[Mentioned]: | ||||||
|         assert isinstance(hash_point, HashPoint) |         assert isinstance(hash_point, HashPoint) | ||||||
|         return self.hash_point(hash_point.factory, hash_point.point) |         return self.hash_point(hash_point.factory, hash_point.point) | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| from typing import Generic, TypeVar | from typing import Generic, TypeVar | ||||||
| 
 | 
 | ||||||
| from rainbowadn.hashing.hashmentionable import HashMentionable | from rainbowadn.hashing.mentionable import Mentionable | ||||||
| from rainbowadn.hashing.hashpoint import HashPoint | from rainbowadn.hashing.hashpoint import HashPoint | ||||||
| from rainbowadn.hashing.hashresolver import HashResolver | from rainbowadn.hashing.hashresolver import HashResolver | ||||||
| from rainbowadn.hashing.origin import Origin | from rainbowadn.hashing.origin import Origin | ||||||
| @ -8,13 +8,13 @@ from rainbowadn.hashing.rainbow_factory import RainbowFactory | |||||||
| 
 | 
 | ||||||
| __all__ = ('ResolverOrigin',) | __all__ = ('ResolverOrigin',) | ||||||
| 
 | 
 | ||||||
| OriginType = TypeVar('OriginType') | Mentioned = TypeVar('Mentioned') | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class ResolverOrigin(Origin[OriginType], Generic[OriginType]): | class ResolverOrigin(Origin[Mentioned], Generic[Mentioned]): | ||||||
|     def __init__( |     def __init__( | ||||||
|             self, |             self, | ||||||
|             factory: RainbowFactory[OriginType], |             factory: RainbowFactory[Mentioned], | ||||||
|             point: bytes, |             point: bytes, | ||||||
|             resolver: HashResolver |             resolver: HashResolver | ||||||
|     ): |     ): | ||||||
| @ -26,15 +26,15 @@ class ResolverOrigin(Origin[OriginType], Generic[OriginType]): | |||||||
|         self.resolver = resolver |         self.resolver = resolver | ||||||
|         super().__init__(factory) |         super().__init__(factory) | ||||||
| 
 | 
 | ||||||
|     def resolve(self) -> OriginType: |     def resolve(self) -> Mentioned: | ||||||
|         resolved, resolver = self.resolver.resolve(self.point) |         resolved, resolver = self.resolver.resolve(self.point) | ||||||
|         assert isinstance(resolved, bytes) |         assert isinstance(resolved, bytes) | ||||||
|         assert isinstance(resolver, HashResolver) |         assert isinstance(resolver, HashResolver) | ||||||
|         mentioned: OriginType = self.factory.from_bytes(resolved[HashPoint.HASH_LENGTH:], resolver) |         mentioned: Mentioned = self.factory.from_bytes(resolved[HashPoint.HASH_LENGTH:], resolver) | ||||||
|         assert isinstance(mentioned, HashMentionable) |         assert isinstance(mentioned, Mentionable) | ||||||
|         assert mentioned.__topology_hash__() == resolved[:HashPoint.HASH_LENGTH] |         assert mentioned.__topology_hash__() == resolved[:HashPoint.HASH_LENGTH] | ||||||
|         assert self.point == HashPoint.hash(HashPoint.bytes_of_mentioned(mentioned)) |         assert self.point == HashPoint.hash(HashPoint.bytes_of_mentioned(mentioned)) | ||||||
|         return mentioned |         return mentioned | ||||||
| 
 | 
 | ||||||
|     def hash_point(self) -> HashPoint[OriginType]: |     def hash_point(self) -> HashPoint[Mentioned]: | ||||||
|         return HashPoint(self.point, self) |         return HashPoint(self.point, self) | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| import abc | import abc | ||||||
| from typing import Generic, Type, TypeVar | from typing import Generic, Type, TypeVar | ||||||
| 
 | 
 | ||||||
| from rainbowadn.hashing.hashmentionable import HashMentionable | from rainbowadn.hashing.mentionable import Mentionable | ||||||
| from rainbowadn.hashing.hashresolver import HashResolver | from rainbowadn.hashing.hashresolver import HashResolver | ||||||
| from rainbowadn.hashing.rainbow_factory import RainbowFactory | from rainbowadn.hashing.rainbow_factory import RainbowFactory | ||||||
| 
 | 
 | ||||||
| @ -10,7 +10,7 @@ __all__ = ('StaticMentionable', 'StaticFactory',) | |||||||
| StaticMentioned = TypeVar('StaticMentioned') | StaticMentioned = TypeVar('StaticMentioned') | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class StaticMentionable(HashMentionable, abc.ABC): | class StaticMentionable(Mentionable, abc.ABC): | ||||||
|     @classmethod |     @classmethod | ||||||
|     def from_bytes(cls: Type[StaticMentioned], source: bytes, resolver: HashResolver) -> StaticMentioned: |     def from_bytes(cls: Type[StaticMentioned], source: bytes, resolver: HashResolver) -> StaticMentioned: | ||||||
|         raise NotImplementedError |         raise NotImplementedError | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| from collections import OrderedDict | from collections import OrderedDict | ||||||
| from typing import MutableMapping | from typing import MutableMapping | ||||||
| 
 | 
 | ||||||
| from rainbowadn.hashing.hashmentionable import HashMentionable | from rainbowadn.hashing.mentionable import Mentionable | ||||||
| from rainbowadn.hashing.hashpoint import HashPoint | from rainbowadn.hashing.hashpoint import HashPoint | ||||||
| from rainbowadn.hashing.hashresolver import HashResolver | from rainbowadn.hashing.hashresolver import HashResolver | ||||||
| from rainbowadn.hashing.recursivementionable import RecursiveMentionable | from rainbowadn.hashing.recursivementionable import RecursiveMentionable | ||||||
| @ -20,8 +20,8 @@ class DictResolver(HashResolver): | |||||||
|         if hash_point.point in self.table: |         if hash_point.point in self.table: | ||||||
|             pass |             pass | ||||||
|         else: |         else: | ||||||
|             value: HashMentionable = hash_point.resolve() |             value: Mentionable = hash_point.resolve() | ||||||
|             assert isinstance(value, HashMentionable) |             assert isinstance(value, Mentionable) | ||||||
|             self.table[hash_point.point] = HashPoint.bytes_of_mentioned(value) |             self.table[hash_point.point] = HashPoint.bytes_of_mentioned(value) | ||||||
|             if isinstance(value, RecursiveMentionable): |             if isinstance(value, RecursiveMentionable): | ||||||
|                 for hash_point in value.points(): |                 for hash_point in value.points(): | ||||||
|  | |||||||
| @ -2,7 +2,7 @@ from typing import Iterable | |||||||
| 
 | 
 | ||||||
| from rainbowadn.data.atomic.integer import Integer | from rainbowadn.data.atomic.integer import Integer | ||||||
| from rainbowadn.hashing.hash_point_format import hash_point_format, tabulate | from rainbowadn.hashing.hash_point_format import hash_point_format, tabulate | ||||||
| from rainbowadn.hashing.hashmentionable import HashMentionable | from rainbowadn.hashing.mentionable import Mentionable | ||||||
| from rainbowadn.hashing.hashpoint import HashPoint | from rainbowadn.hashing.hashpoint import HashPoint | ||||||
| from rainbowadn.hashing.hashresolver import HashResolver | from rainbowadn.hashing.hashresolver import HashResolver | ||||||
| from rainbowadn.hashing.localmetaorigin import LocalMetaOrigin | from rainbowadn.hashing.localmetaorigin import LocalMetaOrigin | ||||||
| @ -94,8 +94,8 @@ class WrisbtRoot(RecursiveMentionable): | |||||||
|         if exclude.contains(key) or self.contains(key): |         if exclude.contains(key) or self.contains(key): | ||||||
|             return self |             return self | ||||||
|         tree = self |         tree = self | ||||||
|         value: HashMentionable = target.resolve() |         value: Mentionable = target.resolve() | ||||||
|         assert isinstance(value, HashMentionable) |         assert isinstance(value, Mentionable) | ||||||
|         if isinstance(value, RecursiveMentionable): |         if isinstance(value, RecursiveMentionable): | ||||||
|             for hash_point in value.points(): |             for hash_point in value.points(): | ||||||
|                 tree = tree.index(hash_point, exclude) |                 tree = tree.index(hash_point, exclude) | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user