# muff configuration files use the ini format supported by ConfigParser
import ConfigParser
+# need os for testing whether the config file exists and is readable
+import os
+
# hack to load all modules in teh muff package
import muff
for module in muff.__all__:
# name of the config file
config_name = "muff.conf"
-# build a list of possible config files
-config_files = []
+# find the config file
for each_dir in config_dirs:
- config_files.append(each_dir + "/" + config_name)
+ config_file = each_dir + "/" + config_name
+ if os.access(config_file, os.R_OK): break
# read the config
config_data = ConfigParser.SafeConfigParser()
-config_data.read(config_files)
+config_data.read(config_file)
+
+def get(section, option):
+ """Convenience function to get configuration data."""
+ return config_data.get(section, option)
+
+def getfloat(section, option):
+ "Convenience function to get floating-point configuration data."""
+ return config_data.getfloat(section, option)
+
+def getint(section, option):
+ """Convenience function to get integer configuration data."""
+ return config_data.getint(section, option)
+
+def set(section, option, value):
+ """Convenienve function to set miscellaneous configuration data."""
+ return muffmisc.setlong(config_data, section, option, value)