mixins¶
ReadsJSON¶
-
class
wysdom.mixins.ReadsJSON(value: Mapping[str, Any] = None, json_dom_info: DOMInfo = None)¶ Bases:
wysdom.dom.DOMObject.DOMObjectAdds JSON reading and writing functionality to a DOMObject.
- Parameters
value – A dict (or any
collections.abc.Mapping) containing the data to populate this object’s properties.json_dom_info – A
DOMInfonamed tuple containing information about this object’s position in the DOM.
-
classmethod
from_json(json_string: str) → wysdom.mixins.ReadsJSON.ReadsJSON¶ Create a new DOM object by from a JSON string.
- Parameters
json_string – JSON string to read
- Returns
New DOM object instance
-
classmethod
from_json_file(filename: str) → wysdom.mixins.ReadsJSON.ReadsJSON¶ Create a new DOM object from a file on disk.
- Parameters
filename – File path on disk of JSON file
- Returns
New DOM object instance
-
to_json() → str¶ Serialize the DOM object to JSON.
return: The DOM object, serialized as a JSON string
ReadsYAML¶
-
class
wysdom.mixins.ReadsYAML(value: Mapping[str, Any] = None, json_dom_info: DOMInfo = None)¶ Bases:
wysdom.dom.DOMObject.DOMObjectAdds YAML reading and writing functionality to a DOMObject.
- Parameters
value – A dict (or any
collections.abc.Mapping) containing the data to populate this object’s properties.json_dom_info – A
DOMInfonamed tuple containing information about this object’s position in the DOM.
-
classmethod
from_yaml(yaml_string: Union[str, TextIO]) → wysdom.mixins.ReadsYAML.ReadsYAML¶ Create a new DOM object by from a YAML string.
- Parameters
yaml_string – YAML string to read
- Returns
New DOM object instance
-
classmethod
from_yaml_file(filename: str) → wysdom.mixins.ReadsYAML.ReadsYAML¶ Create a new DOM object from a file on disk.
- Parameters
filename – File path on disk of YAML file
- Returns
New DOM object instance
-
to_yaml(**kwargs: Any) → str¶ Serialize the DOM object to YAML.
- Parameters
kwargs – Optional keyword arguments to pass to PyYAML’s safe_dump method. See parameters for Dumper in https://pyyaml.org/wiki/PyYAMLDocumentation
- Returns
The DOM object, serialized as a YAML string
RegistersSubclasses¶
-
class
wysdom.mixins.RegistersSubclasses(*args: Any, **kwargs: Any)¶ Bases:
abc.ABCA mixin class that allows subclasses to be registered in the main class by a registered name, using the register_as parameter in the subclass declaration.
-
registered_name= None¶
-
classmethod
registered_subclass(name: str, return_common_superclass: bool = True) → Type[wysdom.mixins.RegistersSubclasses.RegistersSubclasses]¶ Return a registered subclass by name.
- Parameters
name – The registered name of the subclass, as defined in register_as when the class was declared.
return_common_superclass – Disambiguate multiple valid subclasses by returning the common superclass among them, if one exists. Defaults to True.
- Returns
A subclass of the class from which this method was called.
- Raises
KeyError – If no matching subclass is found or if multiple ambiguous subclasses are found.
-
classmethod
registered_subclass_instance(name: str, *args: Any, **kwargs: Any) → wysdom.mixins.RegistersSubclasses.RegistersSubclasses¶ Create a new instance of a registered subclass by name.
- Parameters
name – The registered name of the subclass, as defined in register_as when the class was declared.
args – Positional arguments to pass to the subclass.
kwargs – Keyword arguments to pass to the subclass.
- Returns
An instance of a subclass of the class from which this method was called.
-
classmethod
registered_subclasses() → Dict[str, List[Type[wysdom.mixins.RegistersSubclasses.RegistersSubclasses]]]¶ Return all of the registered subclasses in this class’s namespace.
- Returns
A dictionary of subclasses, indexed by registered name.
-
classmethod
registered_subclasses_by_name(name) → List[Type[wysdom.mixins.RegistersSubclasses.RegistersSubclasses]]¶ Return all of the registered subclasses for a given name that are a proper subclass of this class.
- Parameters
name – The registered name of the subclass, as defined in register_as when the class was declared.
- Returns
A list of subclasses of the class from which this method was called.
-