From: Jeremy Stanley Date: Sat, 29 Jul 2017 15:01:08 +0000 (+0000) Subject: Use importlib in place of imp X-Git-Tag: 0.0.1~151 X-Git-Url: https://mudpy.org/gitweb?p=mudpy.git;a=commitdiff_plain;h=9d92e6288e8e14a7213912b6480e33a72392af07;hp=1c0623cbe57049eb56d8b4f559d1a1687a0a0c53 Use importlib in place of imp As of Python 3.4, the newer importlib module supports the reload() function we need. Switch from the deprecated imp module, except before 3.4 where we will simply pretend imp is importlib for readability. --- diff --git a/mudpy/__init__.py b/mudpy/__init__.py index 2f1bed5..29cb472 100644 --- a/mudpy/__init__.py +++ b/mudpy/__init__.py @@ -4,10 +4,16 @@ # 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 sys import mudpy # noqa (referenced via exec of string literal below) +if sys.version_info >= (3, 4): + import importlib # noqa (referenced via exec of string literal below) +else: + # Python 3.3 lacks importlib.reload() + import imp as importlib # noqa (referenced via exec of string literal) + def load(): """Import/reload some modules (be careful, as this can result in loops).""" @@ -21,7 +27,7 @@ def load(): # attempt to reload the module, assuming it was probably imported # earlier try: - exec("imp.reload(%s)" % module) + exec("importlib.reload(%s)" % module) # must not have been, so import it now except NameError: diff --git a/mudpy/daemon.py b/mudpy/daemon.py index 2413204..4bc111f 100644 --- a/mudpy/daemon.py +++ b/mudpy/daemon.py @@ -3,11 +3,16 @@ # terms provided in the LICENSE file distributed with this software. # core objects for the mudpy engine -import imp import sys import mudpy +if sys.version_info >= (3, 4): + import importlib +else: + # Python 3.3 lacks importlib.reload() + import imp as importlib + def main(): @@ -21,7 +26,7 @@ def main(): # the world was flagged for a reload of all code/data if mudpy.misc.universe.reload_flag: - imp.reload(mudpy) + importlib.reload(mudpy) mudpy.misc.reload_data() mudpy.misc.universe.reload_flag = False