move on index build and linking previous and next articles

This commit is contained in:
Tykayn 2025-02-19 16:24:20 +01:00 committed by tykayn
parent 7d221d970a
commit 16b93f380e
1711 changed files with 231792 additions and 838 deletions

View file

@ -0,0 +1,29 @@
import os
from typing import Union
_Path = Union[str, os.PathLike]
def ensure_directory(path):
"""Ensure that the parent directory of `path` exists"""
dirname = os.path.dirname(path)
os.makedirs(dirname, exist_ok=True)
def same_path(p1: _Path, p2: _Path) -> bool:
"""Differs from os.path.samefile because it does not require paths to exist.
Purely string based (no comparison between i-nodes).
>>> same_path("a/b", "./a/b")
True
>>> same_path("a/b", "a/./b")
True
>>> same_path("a/b", "././a/b")
True
>>> same_path("a/b", "./a/b/c/..")
True
>>> same_path("a/b", "../a/b/c")
False
>>> same_path("a", "a/b")
False
"""
return os.path.normpath(p1) == os.path.normpath(p2)