Source code for action_triggers.descriptors.config_field

"""Module for defining descriptors related to defining the fields that appear
for a given config in `settings.ACTION_TRIGGERS`.

Note: This is not used in the current implementation. It is a work in progress
and a placeholder for future work.
"""


[docs] class ConfigField: # pragma: no cover """Descriptor representing a particular config element that appears in the Action Triggers settings (`settings.ACTION_TRIGGERS`). :param required: Whether or not the field defined is required. (default: True) :param kwargs: Additional keyword arguments to be passed to the field """ def __init__(self, required: bool = True, **kwargs): self.required = required self.kwargs = kwargs def __set_name__(self, owner: type, name: str) -> None: self.name = name def __set__(self, instance: object, value: dict) -> None: if not isinstance(value, dict): raise TypeError(f"{self.name} must be a dictionary") instance.__dict__[self.name] = value