Module yamhl.utils
Expand source code Browse git
from typing import Any, Dict
from mako.lookup import TemplateLookup
from .settings import stg
import shlex
from subprocess import call
YAHML = stg(None, "yamhl.yml")
def ddir(d: Dict[Any, Any], dir: str, de: Any={}) -> Any:
    """
    Retrieve dictionary value using recursive indexing with a string.
    ex.:
        `ddir({"data": {"attr": {"ch": 1}}}, "data/attr/ch")`
        will return `1`
    Args:
        dict (dict): Dictionary to retrieve the value from.
        dir (str): Directory of the value to be retrieved.
    Returns:
        op (Any): Retrieved value.
    """
    op = d
    for a in dir.split("/"):
        op = op.get(a)
        if not op:
            break
    return op or de
LOOKUPS = TemplateLookup(directories=ddir(YAHML, "templates") or [])
def srv_tpl(tn: str, **kwargs: Dict[str, Any]):
    return LOOKUPS.get_template(tn).render(**kwargs)
def run(s: str):
    call(shlex.split(s))Functions
- def ddir(d: Dict[Any, Any], dir: str, de: Any = {}) ‑> Any
- 
Retrieve dictionary value using recursive indexing with a string. ex.: ddir({"data": {"attr": {"ch": 1}}}, "data/attr/ch")will return1Args- dict:- dict
- Dictionary to retrieve the value from.
- dir:- str
- Directory of the value to be retrieved.
 Returnsop (Any): Retrieved value. Expand source code Browse gitdef ddir(d: Dict[Any, Any], dir: str, de: Any={}) -> Any: """ Retrieve dictionary value using recursive indexing with a string. ex.: `ddir({"data": {"attr": {"ch": 1}}}, "data/attr/ch")` will return `1` Args: dict (dict): Dictionary to retrieve the value from. dir (str): Directory of the value to be retrieved. Returns: op (Any): Retrieved value. """ op = d for a in dir.split("/"): op = op.get(a) if not op: break return op or de
- def run(s: str)
- 
Expand source code Browse gitdef run(s: str): call(shlex.split(s))
- def srv_tpl(tn: str, **kwargs: Dict[str, Any])
- 
Expand source code Browse gitdef srv_tpl(tn: str, **kwargs: Dict[str, Any]): return LOOKUPS.get_template(tn).render(**kwargs)