Move lib/mudpy to mudpy for packaging preparation
[mudpy.git] / mudpy / __init__.py
diff --git a/mudpy/__init__.py b/mudpy/__init__.py
new file mode 100644 (file)
index 0000000..5fdefe8
--- /dev/null
@@ -0,0 +1,32 @@
+"""Core modules package for the mudpy engine."""
+
+# Copyright (c) 2004-2015 Jeremy Stanley <fungi@yuggoth.org>. Permission
+# to use, copy, modify, and distribute this software is granted under
+# terms provided in the LICENSE file distributed with this software.
+
+import imp  # noqa (referenced via exec of string literal below)
+
+import mudpy  # noqa (referenced via exec of string literal below)
+
+
+def load():
+    """Import/reload some modules (be careful, as this can result in loops)."""
+
+    # pick up the modules list from this package
+    global modules
+
+    # iterate over the list of modules provided
+    for module in modules:
+
+        # attempt to reload the module, assuming it was probably imported
+        # earlier
+        try:
+            exec("imp.reload(%s)" % module)
+
+        # must not have been, so import it now
+        except NameError:
+            exec("import mudpy.%s" % module)
+
+# load the modules contained in this package
+modules = ["data", "misc", "password", "telnet"]
+load()