reconfigure.items.bound¶
-
class
reconfigure.items.bound.BoundCollection(node, item_class, selector=<function <lambda>>)[source]¶ Binds a list-like object to a set of nodes
Parameters: - node – target node (its children will be bound)
- item_class –
BoundDataclass for items - selector –
lambda x: bool, used to filter out a subset of nodes
-
class
reconfigure.items.bound.BoundData(node=None, **kwargs)[source]¶ Binds itself to a node.
bind_*classmethods should be called on module-level, after subclass declaration.Parameters: - node – all bindings will be relative to this node
- kwargs – if
nodeisNone,template(**kwargs)will be used to create node tree fragment
-
classmethod
bind(data_property, getter, setter)[source]¶ Creates an arbitrary named property in the class with given getter and setter. Not usually used directly.
Parameters: - data_property – property name
- getter –
lambda: object, property getter - setter –
lambda value: None, property setter
-
classmethod
bind_attribute(node_attribute, data_property, default=None, path=<function <lambda>>, getter=<function <lambda>>, setter=<function <lambda>>)[source]¶ Binds the value of node object’s attribute to a property
Parameters: - node_attribute –
Node‘s attribute name - data_property – property name to be created
- default – default value of the property (is
PropertyNodedoesn’t exist) - path –
lambda self.node: PropertyNode, can be used to point binding to another Node instead ofself.node. - getter –
lambda object: object, used to transform value when getting - setter –
lambda object: object, used to transform value when setting
- node_attribute –
-
classmethod
bind_child(data_property, path=<function <lambda>>, item_class=None)[source]¶ Directly binds a child Node to a BoundData property
Parameters: - data_property – property name to be created
- path –
lambda self.node: PropertyNode, can be used to point binding to another Node instead ofself.node. - item_class – a
BoundDatasubclass to be used for the property value
-
classmethod
bind_collection(data_property, path=<function <lambda>>, selector=<function <lambda>>, item_class=None, collection_class=<class 'reconfigure.items.bound.BoundCollection'>, **kwargs)[source]¶ Binds the subset of node’s children to a collection property
Parameters: - data_property – property name to be created
- path –
lambda self.node: PropertyNode, can be used to point binding to another Node instead ofself.node. - selector –
lambda Node: bool, can be used to filter out a subset of child nodes - item_class – a
BoundDatasubclass to be used for collection items - collection_class – a
BoundCollectionsubclass to be used for collection property itself
-
classmethod
bind_name(data_property, getter=<function <lambda>>, setter=<function <lambda>>)[source]¶ Binds the value of node’s
nameattribute to a propertyParameters: - data_property – property name to be created
- getter –
lambda object: object, used to transform value when getting - setter –
lambda object: object, used to transform value when setting
-
classmethod
bind_property(node_property, data_property, default=None, default_remove=[], path=<function <lambda>>, getter=<function <lambda>>, setter=<function <lambda>>)[source]¶ Binds the value of a child
reconfigure.node.PropertyNodeto a propertyParameters: - node_property –
PropertyNode‘sname - data_property – property name to be created
- default – default value of the property (is
PropertyNodedoesn’t exist) - default_remove – if setting a value contained in default_remove, the target property is removed
- path –
lambda self.node: PropertyNode, can be used to point binding to another Node instead ofself.node. - getter –
lambda object: object, used to transform value when getting - setter –
lambda object: object, used to transform value when setting
- node_property –
-
template(**kwargs)[source]¶ Override to create empty objects.
Returns: a reconfigure.nodes.Nodetree that will be used as a template for new BoundData instance
-
class
reconfigure.items.bound.BoundDictionary(key=None, **kwargs)[source]¶ Binds a dict-like object to a set of nodes. Accepts same params as
BoundCollectionpluskeyParameters: key – lambda value: object, is used to get key for value in the collection-
items()¶
-