Skip to content

Commit

Permalink
fix: Drop imp to support Python 3.12
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisburr authored Apr 18, 2024
1 parent 0c23069 commit 0397cba
Showing 1 changed file with 30 additions and 8 deletions.
38 changes: 30 additions & 8 deletions Pilot/pilotTools.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

import fcntl
import getopt
import imp
import json
import os
import re
Expand All @@ -31,6 +30,33 @@

from urllib2 import HTTPError, URLError, urlopen

try:
import importlib.util
from importlib import import_module
except ImportError:
def import_module(module):
import imp

impData = imp.find_module(module)
return imp.load_module(module, *impData)


def load_module_from_path(module_name, path_to_module):
import imp
fp, pathname, description = imp.find_module(module_name, [path_to_module])
try:
module = imp.load_module('module_name', fp, pathname, description)
finally:
if fp:
fp.close()

else:
def load_module_from_path(module_name, path_to_module):
spec = importlib.util.spec_from_file_location(module_name, path_to_module)
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
return module

try:
from cStringIO import StringIO
except ImportError:
Expand Down Expand Up @@ -370,12 +396,9 @@ def __recurseImport(self, modName, parentModule=None, hideExceptions=False):
modName = modName.split(".")
try:
if parentModule:
impData = imp.find_module(modName[0], parentModule.__path__)
module = load_module_from_path(modName[0], parentModule.__path__)
else:
impData = imp.find_module(modName[0])
impModule = imp.load_module(modName[0], *impData)
if impData[0]:
impData[0].close()
module = import_module(modName[0])
except ImportError as excp:
if str(excp).find("No module named %s" % modName[0]) == 0:
return None, None
Expand Down Expand Up @@ -415,8 +438,7 @@ def getCommand(params, commandName):
# Look for commands in the modules in the current directory first
for module in modules:
try:
impData = imp.find_module(module)
commandModule = imp.load_module(module, *impData)
commandModule = import_module(module)
commandObject = getattr(commandModule, commandName)
except Exception:
pass
Expand Down

0 comments on commit 0397cba

Please sign in to comment.