--- ConfigParser.py.orig Wed Jun 16 10:27:15 2004 +++ ConfigParser.py Wed Jun 16 10:34:25 2004 @@ -317,12 +317,14 @@ def getfloat(self, section, option): return self._get(section, float, option) - _boolean_states = {'1': True, 'yes': True, 'true': True, 'on': True, - '0': False, 'no': False, 'false': False, 'off': False} + _boolean_states = {'1': True, 'yes': True, 'true': True, 'on': True, True : True, 1 : True, + '0': False, 'no': False, 'false': False, 'off': False, False : False, 0 : False} def getboolean(self, section, option): v = self.get(section, option) - if v.lower() not in self._boolean_states: + if type(v) == str: + v = v.lower() + if v not in self._boolean_states: raise ValueError, 'Not a boolean: %s' % v return self._boolean_states[v.lower()]