File: _compat.py

package info (click to toggle)
sphinx-design 0.7.0-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 10,900 kB
  • sloc: python: 2,123; xml: 918; javascript: 56; sh: 8; makefile: 3
file content (17 lines) | stat: -rw-r--r-- 562 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
"""Helpers for cross compatibility across dependency versions."""

from collections.abc import Callable, Iterable
from importlib import resources

from docutils.nodes import Element


def findall(node: Element) -> Callable[..., Iterable[Element]]:
    """Iterate through"""
    # findall replaces traverse in docutils v0.18
    # note a difference is that findall is an iterator
    return getattr(node, "findall", node.traverse)


def read_text(module: resources.Package, filename: str) -> str:
    return resources.files(module).joinpath(filename).read_text()