Author: jross
Date: 2011-01-12 15:49:31 +0000 (Wed, 12 Jan 2011)
New Revision: 4459
Modified:
trunk/parsley/python/parsley/config.py
Log:
When loading a config section that has no corresponding file data, load the common values
Modified: trunk/parsley/python/parsley/config.py
===================================================================
--- trunk/parsley/python/parsley/config.py 2011-01-11 16:47:18 UTC (rev 4458)
+++ trunk/parsley/python/parsley/config.py 2011-01-12 15:49:31 UTC (rev 4459)
@@ -42,27 +42,28 @@
self.parameters = list()
def parse(self, parser):
- values = ConfigValues()
+ in_values = dict()
+ out_values = ConfigValues()
- if not parser.has_section(self.name):
- return values
+ for section in ("common", self.name):
+ try:
+ items = parser.items(section)
+ except NoSectionError:
+ continue
+ in_values.update(items)
+
for param in self.parameters:
- name = param.name.replace("-", "_")
-
try:
- string = parser.get(self.name, param.name)
+ string = in_values[param.name]
value = param.unmarshal(string)
- except NoOptionError:
- try:
- string = parser.get("common", param.name)
- value = param.unmarshal(string)
- except NoOptionError:
- value = param.default
+ except KeyError:
+ value = param.default
- values[name] = value
+ name = param.name.replace("-", "_")
+ out_values[name] = value
- return values
+ return out_values
class ConfigParameter(object):
def __init__(self, section, name, type):
Show replies by date