"""
import ConfigParser as configparser
+import logging
import os.path
import textwrap
import unittest
"""An entry (section or option) in HookeConfigParser.
"""
def __init__(self, section, option=None, value=None, type='string',
- help=None, wrap=True):
+ count=1, help=None, wrap=True):
self.section = section
self.option = option
- self.value = to_string(value=value, type=type)
+ self.value = value
self.type = type
+ self.count = count
self.help = help
self.wrap = wrap
for i,kv in enumerate(items):
key,value = kv
setting = self._default_settings_dict[(section, key)]
- items[i] = (key, from_string(value=value, type=setting.type))
+ try:
+ items[i] = (key, from_string(value=value, type=setting.type,
+ count=setting.count))
+ except ValueError, e:
+ log = logging.getLogger('hooke')
+ log.error("could not convert '%s' (%s) for %s/%s: %s"
+ % (value, type(value), section, key, e))
+ raise
return items
def set(self, section, option, value):
"""Set an option."""
setting = self._default_settings_dict[(section, option)]
- value = to_string(value=value, type=setting.type)
+ value = to_string(value=value, type=setting.type, count=setting.count)
# Can't use super() because RawConfigParser is a classic class
#return super(HookeConfigParser, self).set(section, option, value)
configparser.RawConfigParser.set(self, section, option, value)