keygetter
Fetch values in objects and keys, supported nested data.
Source and package
- Qualified name
-
libtmux._internal .query _list .keygetter - Module
- libtmux._internal.query_list
- Package
- libtmux
- Source
- src/libtmux/_internal/query_list.py
-
Description#
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"... )... )>>> restaurantRestaurant(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'