class_docstr: Semi-abstract class for interfaces to implement interactive UI
class_docstr_tok: ["Semi-abstract","class","for","interfaces","to","implement","interactive","UI"]
code: def yesno(self, *args, **kwargs):
      # Provide some default sugaring
      default = kwargs.pop("default", None)
      if default is not None:
          if default in {True}:
              default = "yes"
          elif default in {False}:
              default = "no"
          kwargs["default"] = default
      response = self.question(
          *args, choices=["yes", "no"], **kwargs
      ).rstrip("\n")
      assert response in {
          "yes",
          "no",
      }, "shouldn't happen; question() failed"
      return response == "yes"
  
imports: from abc import ABCMeta, abstractmethod
  from ..utils import auto_repr
label_desc: Use image node_id 2 for calling the InteractiveUI obj's underlying member method code with example usage: obj.yesno() and returns: unknown