|
From: Jeffrey B. <jef...@ea...> - 2008-09-21 17:19:43
|
On Sunday 21 September 2008 04:17:50 Michael Foord wrote: > Jeffrey Barish wrote: > > On Saturday 20 September 2008 18:55:17 Jeffrey Barish wrote: > >> Configobj was working fine until I switched to using unrepr mode. Now > >> it works fine on one platform, but on another the same code produces the > >> following error: > >> > >> ... > >> File "/usr/lib/python2.5/site-packages/configobj.py", line 1272, in > >> __init__ self._load(infile, configspec) > >> File "/usr/lib/python2.5/site-packages/configobj.py", line 1355, in > >> _load raise error > >> configobj.ConfigObjError: Parsing failed with several errors. > >> First error at line 3. > >> > >> Line 3 is: > >> > >> v = 0.77304964539007093 > >> > >> I am using version 4.5.3 on python 2.5.2. Considering that the same rc > >> file works fine on the other platform, I am at a loss as to what to do. > >> Any suggestions? > > > > The problem appears to arise because there is no compiler module on this > > platform (Nokia N800). > > > > Do I have any options other than returning to code like > > > > if x == 'True' > > unrepr mode relies on the compiler module - so it won't work on a > platform that doesn't provide it. > > You could use validate and a configspec to convert types instead. > > > Michael OK. I learned how to use validate. It works nicely for converting types and I am also doing range checking, so it's a better solution anyway. One problem, though. In my configuration file I have a section with colors, but I don't know a priori what colors it will contain. For example: [colors] color1 = [143, 188, 143] color2 = [70, 130, 180] and so on. Since I don't know what the keys are going to be, I presume that there is no way for me to validate the entries. Is that true? It would be nice to be able to test that values are between 0 and 255 and to convert the strings to integers and the brackets to a list. Currently I am doing color1 = 143, 188, 143 and not validating. -- Jeffrey Barish |