parameters: (self, option, value1, value2=None, value3=None)
docstring: Sets option value
  
          Args:
              option (str): option name
              value1 (int, str, bool, float): option value
              value2 (int, float): option value for tuples. Optional, defaults to None.
              value3 (float): option value for triple. Optional, defaults to None.
  
          Raises:
              IndigoException: if option does not exist
docstring_summary: Sets option value
docstring_tokens: Sets option value
function: def setOption(self, option, value1, value2=None, value3=None):
          """Sets option value
  
          Args:
              option (str): option name
              value1 (int, str, bool, float): option value
              value2 (int, float): option value for tuples. Optional, defaults to None.
              value3 (float): option value for triple. Optional, defaults to None.
  
          Raises:
              IndigoException: if option does not exist
          """
          self._setSessionId()
          if (
              (
                  type(value1).__name__ == "str"
                  or type(value1).__name__ == "unicode"
              )
              and value2 is None
              and value3 is None
          ):
              self._checkResult(
                  Indigo._lib.indigoSetOption(
                      option.encode(ENCODE_ENCODING),
                      value1.encode(ENCODE_ENCODING),
                  )
              )
          elif (
              type(value1).__name__ == "int"
              and value2 is None
              and value3 is None
          ):
              self._checkResult(
                  Indigo._lib.indigoSetOptionInt(
                      option.encode(ENCODE_ENCODING), value1
                  )
              )
          elif (
              type(value1).__name__ == "float"
              and value2 is None
              and value3 is None
          ):
              self._checkResult(
                  Indigo._lib.indigoSetOptionFloat(
                      option.encode(ENCODE_ENCODING), value1
                  )
              )
          elif (
              type(value1).__name__ == "bool"
              and value2 is None
              and value3 is None
          ):
              value1_b = 0
              if value1:
                  value1_b = 1
              self._checkResult(
                  Indigo._lib.indigoSetOptionBool(
                      option.encode(ENCODE_ENCODING), value1_b
                  )
              )
          elif (
              type(value1).__name__ == "int"
              and value2
              and type(value2).__name__ == "int"
              and value3 is None
          ):
              self._checkResult(
                  Indigo._lib.indigoSetOptionXY(
                      option.encode(ENCODE_ENCODING), value1, value2
                  )
              )
          elif (
              type(value1).__name__ == "float"
              and value2
              and type(value2).__name__ == "float"
              and value3
              and type(value3).__name__ == "float"
          ):
              self._checkResult(
                  Indigo._lib.indigoSetOptionColor(
                      option.encode(ENCODE_ENCODING), value1, value2, value3
                  )
              )
          else:
              raise IndigoException("bad option")
function_tokens: def setOption ( self , option , value1 , value2 = None , value3 = None ) : self . _setSessionId ( ) if ( ( type ( value1 ) . __name__ == "str" or type ( value1 ) . __name__ == "unicode" ) and value2 is None and value3 is None ) : self . _checkResult ( Indigo . _lib . indigoSetOption ( option . encode ( ENCODE_ENCODING ) , value1 . encode ( ENCODE_ENCODING ) , ) ) elif ( type ( value1 ) . __name__ == "int" and value2 is None and value3 is None ) : self . _checkResult ( Indigo . _lib . indigoSetOptionInt ( option . encode ( ENCODE_ENCODING ) , value1 ) ) elif ( type ( value1 ) . __name__ == "float" and value2 is None and value3 is None ) : self . _checkResult ( Indigo . _lib . indigoSetOptionFloat ( option . encode ( ENCODE_ENCODING ) , value1 ) ) elif ( type ( value1 ) . __name__ == "bool" and value2 is None and value3 is None ) : value1_b = 0 if value1 : value1_b = 1 self . _checkResult ( Indigo . _lib . indigoSetOptionBool ( option . encode ( ENCODE_ENCODING ) , value1_b ) ) elif ( type ( value1 ) . __name__ == "int" and value2 and type ( value2 ) . __name__ == "int" and value3 is None ) : self . _checkResult ( Indigo . _lib . indigoSetOptionXY ( option . encode ( ENCODE_ENCODING ) , value1 , value2 ) ) elif ( type ( value1 ) . __name__ == "float" and value2 and type ( value2 ) . __name__ == "float" and value3 and type ( value3 ) . __name__ == "float" ) : self . _checkResult ( Indigo . _lib . indigoSetOptionColor ( option . encode ( ENCODE_ENCODING ) , value1 , value2 , value3 ) ) else : raise IndigoException ( "bad option" )