Prerelease This site documents an alpha of libtmux. Its structure, URLs and APIs are subject to change.

libtmux._internal.query_list.keygetter

Python
  • Python
  • Ruby Unavailable
  • Lua Unavailable
  • TypeScript Unavailable
  • Rust Unavailable
  • Go Unavailable
  • Java Unavailable
  • .NET Unavailable
  • C++ Unavailable
  • Swift Unavailable

View as Markdown

Module
libtmux._internal.query_list
Package
libtmux
Source
src/libtmux/_internal/query_list.py
keygetter ( obj : Mapping[str, t.Any] , path : str ) → t.Any | str | list[str] | Mapping[str, str] | None
function [source]
function [source]
keygetter

Fetch values in objects and keys, supported nested data.

With dictionaries:

>>> keygetter({ "food": { "breakfast": "cereal" } }, "food") {'breakfast': 'cereal'}

>>> keygetter({ "food": { "breakfast": "cereal" } }, "food__breakfast") 'cereal'

With objects:

>>> from typing import List, Optional >>> from dataclasses import dataclass, field

>>> @dataclass() ... class Food: ... fruit: List[str] = field(default_factory=list) ... breakfast: Optional[str] = None

>>> @dataclass() ... class Restaurant: ... place: str ... city: str ... state: str ... food: Food = field(default_factory=Food)

>>> restaurant = Restaurant( ... place="Largo", ... city="Tampa", ... state="Florida", ... food=Food( ... fruit=["banana", "orange"], breakfast="cereal" ... ) ... )

>>> restaurant Restaurant(place='Largo', city='Tampa', state='Florida', food=Food(fruit=['banana', 'orange'], breakfast='cereal'))

>>> keygetter(restaurant, "food") Food(fruit=['banana', 'orange'], breakfast='cereal')

>>> keygetter(restaurant, "food__breakfast") 'cereal'

0 declared, 0 inherited

Esc

Type to search.