Skip to content

Commit

Permalink
Merge pull request OpenSCAP#2048 from evgenyz/fix-python-imp
Browse files Browse the repository at this point in the history
Fix removal of imp module in Python 3.12
  • Loading branch information
jan-cerny authored Nov 7, 2023
2 parents dc2ecea + 7560152 commit 30c8c39
Showing 1 changed file with 18 additions and 25 deletions.
43 changes: 18 additions & 25 deletions swig/openscap_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,31 +31,24 @@

logger = logging.getLogger("openscap")

from sys import version_info
if version_info >= (2, 6, 0):
def _import_helper():
from os.path import dirname
import imp
fp = None
try:
fp, pathname, description = imp.find_module(
'_openscap_py', [dirname(__file__)])
except ImportError:
import _openscap_py as OSCAP
return OSCAP
if fp is not None:
try:
_mod = imp.load_module(
'_openscap_py', fp, pathname, description)
finally:
fp.close()
return _mod
OSCAP = _import_helper()
del _import_helper
else:
import _openscap_py as OSCAP

del version_info

def _import_helper():
from os.path import dirname
import importlib.machinery
import importlib.util
spec = importlib.machinery.PathFinder.find_spec('_openscap_py', [dirname(__file__)])
if not spec:
spec = importlib.machinery.PathFinder.find_spec('_openscap_py')
if not spec:
raise ImportError("Unable to import _openscap_py module, extra path: '%s'."
% dirname(__file__))
mod = importlib.util.module_from_spec(spec)
spec.loader.exec_module(mod)
return mod


OSCAP = _import_helper()
del _import_helper

import os

Expand Down

0 comments on commit 30c8c39

Please sign in to comment.