miio.descriptorcollection module
- class miio.descriptorcollection.DescriptorCollection(*args, device: Device)[source]
-
A container of descriptors.
This is a glorified dictionary that provides several useful features for handling descriptors like binding names (method_name, setter_name) to device callables, setting property constraints, and handling duplicate identifiers.
- add_descriptor(descriptor: Descriptor)[source]
Add a descriptor to the collection.
This adds a suffix to the identifier if the name already exists.
- clear() None. Remove all items from D.
- copy()
- descriptors_from_object(obj)[source]
Add descriptors from an object.
This collects descriptors from the given object and adds them into the collection by: 1. Checking for ‘_descriptors’ for descriptors created by the class itself. 2. Going through all members and looking if they have a ‘_descriptor’ attribute set by a decorator
- classmethod fromkeys(iterable, value=None)
- get(k[, d]) D[k] if k in D, else d. d defaults to None.
- items() a set-like object providing a view on D's items
- keys() a set-like object providing a view on D's keys
- pop(k[, d]) v, remove specified key and return the corresponding value.
If key is not found, d is returned if given, otherwise KeyError is raised.
- popitem() (k, v), remove and return some (key, value) pair
as a 2-tuple; but raise KeyError if D is empty.
- setdefault(k[, d]) D.get(k,d), also set D[k]=d if k not in D
- update([E, ]**F) None. Update D from mapping/iterable E and F.
If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v
- values() an object providing a view on D's values