X-Git-Url: https://mudpy.org/gitweb?a=blobdiff_plain;f=mudpy;h=6b6c1c3e87bc2ae2ed757cd82d2d77f58d402fe6;hb=b1176dd6b9ee7b3ba4831e959a18e81a6729ba54;hp=5130834ea8b8e0516bb62a5daa3d025fb86c9d57;hpb=fecd4c0fc49593052697b8cf199603cf1fac2b61;p=mudpy.git diff --git a/mudpy b/mudpy index 5130834..6b6c1c3 100755 --- a/mudpy +++ b/mudpy @@ -1,36 +1,35 @@ #!/usr/bin/python -"""Skeletal executable for the MUFF Engine""" +"""Skeletal executable for the mudpy engine.""" # Copyright (c) 2005 mudpy, Jeremy Stanley , all rights reserved. # Licensed per terms in the LICENSE file distributed with this software. -# muff uses the ini-style configs supported by the ConfigParser module -import ConfigParser +# core objects for the mudpy engine +import mudpy +from mudpy import log, on_pulse, reload_data, universe -# need the sys module to alter the import path appropriately -import sys +# loop indefinitely while the world is not flagged for termination or +# there are connected users +while not universe.terminate_world or universe.userlist: -def get_main_loop(): - """Find and return the main loop function""" + # the world was flagged for a reload of all code/data + if universe.reload_modules: - # figure out where to find our main configuration file - config_data = ConfigParser.SafeConfigParser() - config_dirs = [".", "./etc", "/usr/local/muff", "/usr/local/muff/etc", "/etc/muff", "/etc" ] - config_name = "mudpy.conf" - config_files = [] - for each_dir in config_dirs: - config_files.append(each_dir + "/" + config_name) + # reload the mudpy module + reload(mudpy) - # load the config file, get the module path and add it to sys.path - config_data.read(config_files) - module_path = config_data.get("files", "modules") - sys.path.append(module_path) + # move data into new persistent objects + reload_data() - # import the main loop function - from muff.muffmain import main - return main + # reset the reload flag + universe.reload_modules = False -# load the main loop and run it -main = get_main_loop() -main() + # do what needs to be done on each pulse + on_pulse() + +# the loop has terminated, so save persistent data +universe.save() + +# log a final message +log("Shutting down now.")