X-Git-Url: https://mudpy.org/gitweb?a=blobdiff_plain;f=lib%2Fmuff%2Fmuffconf.py;h=0e7c70969061067862c501c6598bffa4436661b4;hb=0c835a0a43cc3c7782f46857d72e518539725eca;hp=1aea4c1dab5d1e07e6e8fe9ebefb06142f894bc5;hpb=76660ba460dec6c0c70dcad634afe79c09fa3a27;p=mudpy.git diff --git a/lib/muff/muffconf.py b/lib/muff/muffconf.py index 1aea4c1..0e7c709 100644 --- a/lib/muff/muffconf.py +++ b/lib/muff/muffconf.py @@ -1,45 +1,47 @@ """Configuration objects for the MUFF Engine""" -# Copyright (c) 2005 MUDpy, The Fungi -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# - Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# - Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. - +# Copyright (c) 2005 MUDpy, The Fungi , all rights reserved. +# Licensed per terms in the LICENSE file distributed with this software. +# muff configuration files use the ini format supported by ConfigParser import ConfigParser -import string +# 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__: exec("import " + module) -config_data = ConfigParser.SafeConfigParser() +# list of places to look for the config config_dirs = [".", "./etc", "/usr/local/muff", "/usr/local/muff/etc", "/etc/muff", "/etc" ] -config_name = "muff.conf" -config_files = [] + +# name of the config file +config_name = "mudpy.conf" + +# find the config file for each_dir in config_dirs: - config_files.append(each_dir + "/" + config_name) -config_data.read(config_files) + 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_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 config_data.get(section, option, repr(value))