X-Git-Url: https://mudpy.org/gitweb?a=blobdiff_plain;f=lib%2Fmuff%2Fmuffvars.py;h=becaac185b9272739ea19a7f21e28eb43de8f4b5;hb=b051f2573564ad980d1a3b276eaea78a51571267;hp=fea37b4f53db348660ad4d5c4abf1816b6af36e9;hpb=5051d98170148455cd687c680c0caf0581e247b1;p=mudpy.git diff --git a/lib/muff/muffvars.py b/lib/muff/muffvars.py index fea37b4..becaac1 100644 --- a/lib/muff/muffvars.py +++ b/lib/muff/muffvars.py @@ -1,46 +1,61 @@ """Global variable 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. +# persistent variables are stored in ini-style files supported by ConfigParser +import ConfigParser + +# hack to load all modules in the muff package import muff for module in muff.__all__: exec("import " + module) +# does the files:variable setting exist yet? +try: + if muffconf.get("files", "variable"): pass + +# if not, reload the muffconf module +except AttributeError: + reload(muffconf) + +# now we can safely load persistent variables from file +variable_file = muffconf.get("files", "variable") +variable_data = ConfigParser.SafeConfigParser() +variable_data.read(variable_file) + +# if there is no userlist, create an empty one try: if userlist: pass except NameError: userlist = [] +# if there is no listening socket, create an empty one try: if newsocket: pass except NameError: newsocket = None +# flag to raise when the world should be shut down terminate_world = False + +# flag to raise when all code modules, config and data should be reloaded reload_modules = False +# a dict of replacement macros +macros = { + "$(eol)": "\r\n", + "$(bld)": chr(27) + "[1m", + "$(nrm)": chr(27) + "[0m", + "$(blk)": chr(27) + "[30m", + "$(grn)": chr(27) + "[32m", + "$(red)": chr(27) + "[31m" + } + +# function to save persistent variables to file +def save(): + file_descriptor = open(variable_file, "w") + variable_data.write(file_descriptor) + file_descriptor.flush() + file_descriptor.close() +