ros_sugar.config.base_attrs#
Module Contents#
Classes#
Implements setattr method to re-use validators at set time |
API#
- class ros_sugar.config.base_attrs.BaseAttrs#
Implements setattr method to re-use validators at set time
- asdict(filter: Optional[Callable] = None) Dict#
Convert class to dict.
- Return type:
dict
- from_dict(dict_obj: Dict) None#
Gets attributes values from given dictionary
- Parameters:
dict_obj (Dict) β Dictionary {attribute_name: attribute_value}
- Raises:
ValueError β If attribute_name in dictionary does not exists in class attributes
TypeError β If attribute_value type in dictionary does not correspond to class attribute type
- from_file(file_path: str, nested_root_name: Union[str, None] = None, get_common: bool = False) bool#
Update class attributes from yaml, json, or toml
- Parameters:
file_path β Path to config file (.yaml, .json, .toml)
nested_root_name β Nested root name for the config, defaults to None
get_common β Whether to get extra config root (for merging), defaults to False
- to_json() Union[str, bytes, bytearray]#
Dump to json
- Returns:
description
- Return type:
str | bytes | bytearray
- from_json(json_obj: Union[str, bytes, bytearray]) None#
Gets attributes values from given json
- Parameters:
json_obj (str | bytes | bytearray) β Json object
- has_attribute(attr_name: str) bool#
Checks if class object has attribute with given name
- Parameters:
attr_name (str) β description
- Returns:
If object has attribute with given name
- Return type:
bool
- get_attribute_type(attr_name: str) Optional[type]#
Gets type of given attribute name
- Parameters:
attr_name (str) β description
- Raises:
AttributeError β If class does not have attribute with given name
- Returns:
Attribute type
- Return type:
type
- update_value(attr_name: str, attr_value: Any) bool#
Updates the value of an attribute in the class
- Parameters:
attr_name (str) β Attribute name - can be nested name
attr_value (Any) β Attribute value
- Raises:
AttributeError β If class does not contain attribute with given name
TypeError β If class attribute with given name if of different type
- Returns:
If attribute value is updated
- Return type:
bool
- classmethod get_fields_info(class_object) Dict[str, Dict[str, Any]]#
Returns a dictionary with metadata about each field in the class.
This includes the fieldβs name, type annotation, and parsed validator info.
- Returns:
A dictionary where keys are field names and values are dicts of metadata.