from typing import List
from .db_config import DbConfig
[docs]
class DbEnumConfig(DbConfig):
def __init__(
self, name: str, default, options: List, description=None, required=True
):
"""
:param name: Key written to the database
:param default: Suggested value to write to the database (can be overridden at install time)
:param description: Helpful text to guide implementer
:param required: If True, will raise errors at runtime when unset
:param options: Only items in options will be allowed at install time
"""
super().__init__(name, default, description=description, required=required)
self.options = options
[docs]
def is_valid(self, value):
"""Returns True if value is in self.options. Else False"""
return value in self.options