Imported from archive.
[mudpy.git] / lib / muff / muffconf.py
index 67bdf1b..7992f12 100644 (file)
@@ -6,6 +6,9 @@
 # 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__:
@@ -17,12 +20,28 @@ config_dirs = [".", "./etc", "/usr/local/muff", "/usr/local/muff/etc", "/etc/muf
 # 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)