New submission from Edwin Pozharski <pozhar...@gmail.com>:

set() method of ConfigParser accepts boolean True/False as values at runtime 
without converting them to strings internally.  As a result, getboolean() 
method reports the following error

  File "/usr/lib/python2.6/ConfigParser.py", line 350, in getboolean
    if v.lower() not in self._boolean_states:
AttributeError: 'bool' object has no attribute 'lower'

since it expects get() method to return strings.  (Same problem occurs if other 
types are used, int/float, etc)

Altering set() behavior may be not the best thing to do, I'd rather suggest 
that getboolean() converts the get() output to string.

Of course, the way to avoid this problem is always convert values submitted to 
set() to strings, but it's a hard-to-catch bug.  In my case, I was stuck with 
problematic configuration when assigning values to wx.CheckBox.GetValue(), 
which returns boolean.

----------
messages: 106912
nosy: Edwin.Pozharski
priority: normal
severity: normal
status: open
title: ConfigParser.set does not convert non-string values
type: behavior
versions: Python 2.6

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue8880>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to