single_set_proxy.py 624 B

123456789101112131415161718192021
  1. from .proxy import proxy
  2. from .model import model
  3. class single_set_proxy(proxy):
  4. def set(self, target: str) -> None:
  5. self._target.content = target
  6. def get(self) -> str:
  7. return self._target.content
  8. def __init_subclass__(cls, target_model: type) -> None:
  9. super().__init_subclass__()
  10. if not issubclass(target_model, model):
  11. raise TypeError("Target must be subclass of single_set_model.")
  12. cls.__target_model = target_model
  13. @classmethod
  14. def create(cls, content: str) -> proxy:
  15. return cls(cls.__target_model(content = content))