Updated extract_scene to use importlib

This commit is contained in:
Grant Sanderson 2018-08-11 17:15:38 -07:00
parent 5b9afe6e86
commit df5d45e5ae

View file

@ -2,7 +2,8 @@
import sys
import argparse
import imp
# import imp
import importlib
import inspect
import itertools as it
import os
@ -236,30 +237,9 @@ def get_scene_classes(scene_names_to_classes, config):
return prompt_user_for_choice(scene_names_to_classes)
def get_module_windows(file_name):
module_name = file_name.replace(".py", "")
last_module = imp.load_module(
"__init__", *imp.find_module("__init__", ['.']))
for part in module_name.split(os.sep):
load_args = imp.find_module(
part, [os.path.dirname(last_module.__file__)])
last_module = imp.load_module(part, *load_args)
return last_module
def get_module_posix(file_name):
module_name = file_name.replace(".py", "")
last_module = imp.load_module(".", *imp.find_module("."))
for part in module_name.split(os.sep):
load_args = imp.find_module(part, last_module.__path__)
last_module = imp.load_module(part, *load_args)
return last_module
def get_module(file_name):
if os.name == 'nt':
return get_module_windows(file_name)
return get_module_posix(file_name)
module_name = file_name.replace(".py", "").replace(os.sep, ".")
return importlib.import_module(module_name)
def main():