new_path method
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from collections.abc import Container, Iterable, MutableMapping, MutableSequence, Sized
|
from collections.abc import Container, Iterable, MutableMapping, MutableSequence, Sized
|
||||||
|
from copy import copy
|
||||||
from typing import Protocol, TypeVar
|
from typing import Protocol, TypeVar
|
||||||
|
|
||||||
from . import events as e
|
from . import events as e
|
||||||
@@ -47,6 +48,11 @@ class HookedContainer(ABC, Sized, Iterable[T], Container[T]):
|
|||||||
|
|
||||||
# Custom Methods
|
# Custom Methods
|
||||||
|
|
||||||
|
def new_path(self, key):
|
||||||
|
new_path = copy(self._path)
|
||||||
|
new_path.append(key)
|
||||||
|
return new_path
|
||||||
|
|
||||||
def get_nested(self, keys):
|
def get_nested(self, keys):
|
||||||
"""Recursively call __getitem__ with each key in the iterable."""
|
"""Recursively call __getitem__ with each key in the iterable."""
|
||||||
result = self
|
result = self
|
||||||
|
|||||||
Reference in New Issue
Block a user