Source code for almanac.pages.page_navigator

from fnmatch import filter as fn_filter
from itertools import chain
from pathlib import PurePosixPath
from typing import Iterable, Iterator, List, MutableMapping, Optional, Type

from .abstract_page import AbstractPage
from .directory_page import DirectoryPage
from .page_path import PagePath, PagePathLike
from ..errors import (
    BlockedPageOverwriteError,
    NoSuchPageError,
    OutOfBoundsPageError
)
from ..utils import pairwise