gh-128911: Add PyImport_ImportModuleAttr() function (#128912)

Add PyImport_ImportModuleAttr() and
PyImport_ImportModuleAttrString() functions.

* Add unit tests.
* Replace _PyImport_GetModuleAttr()
  with PyImport_ImportModuleAttr().
* Replace _PyImport_GetModuleAttrString()
  with PyImport_ImportModuleAttrString().
* Remove "pycore_import.h" includes, no longer needed.
This commit is contained in:
Victor Stinner 2025-01-30 12:17:29 +01:00 committed by GitHub
parent f927204f64
commit 3bebe46d34
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
40 changed files with 194 additions and 56 deletions

View file

@ -362,7 +362,7 @@ _Pickle_InitState(PickleState *st)
}
Py_CLEAR(compat_pickle);
st->codecs_encode = _PyImport_GetModuleAttrString("codecs", "encode");
st->codecs_encode = PyImport_ImportModuleAttrString("codecs", "encode");
if (st->codecs_encode == NULL) {
goto error;
}
@ -373,7 +373,7 @@ _Pickle_InitState(PickleState *st)
goto error;
}
st->partial = _PyImport_GetModuleAttrString("functools", "partial");
st->partial = PyImport_ImportModuleAttrString("functools", "partial");
if (!st->partial)
goto error;