#NEWLINE# def get_bool_opt( options , optname , default = None ) : #NEWLINE# #INDENT# string = options . get ( optname , optname ) #NEWLINE# if isinstance ( string , bool ) : #NEWLINE# #INDENT# return string #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if isinstance ( string , int ) : #NEWLINE# #INDENT# return bool ( string ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( not isinstance ( string , basestring ) ) : #NEWLINE# #INDENT# raise OptionError ( ( 'Invalid type %r for option %s; use 1/0, yes/no, true/false, on/off' % ( string , optname ) ) ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( string . lower ( ) in ( '1' , 'yes' , 'true' , 'on' ) ) : #NEWLINE# #INDENT# return True #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( string . lower ( ) in ( '0' , 'no' , 'false' , 'off' ) ) : #NEWLINE# #INDENT# return False #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# raise OptionError ( ( 'Invalid value %r for option %s; use 1/0, yes/no, true/false, on/off' % ( string , optname ) ) )