Staging
v0.8.1
https://github.com/python/cpython
Revision 3f9eee6eb4b25fe1926eaa5f00e02344b126f54d authored by Eric Snow on 15 September 2017, 22:35:20 UTC, committed by GitHub on 15 September 2017, 22:35:20 UTC
The concrete PyDict_* API is used to interact with PyInterpreterState.modules in a number of places. This isn't compatible with all dict subclasses, nor with other Mapping implementations. This patch switches the concrete API usage to the corresponding abstract API calls.

We also add a PyImport_GetModule() function (and some other helpers) to reduce a bunch of code duplication.
1 parent e82c034
History
Tip revision: 3f9eee6eb4b25fe1926eaa5f00e02344b126f54d authored by Eric Snow on 15 September 2017, 22:35:20 UTC
bpo-28411: Support other mappings in PyInterpreterState.modules. (#3593)
Tip revision: 3f9eee6
File Mode Size
asyncio
collections
concurrent
ctypes
curses
dbm
distutils
email
encodings
ensurepip
html
http
idlelib
importlib
json
lib2to3
logging
msilib
multiprocessing
pydoc_data
site-packages
sqlite3
test
tkinter
turtledemo
unittest
urllib
venv
wsgiref
xml
xmlrpc
__future__.py -rw-r--r-- 4.7 KB
__phello__.foo.py -rw-r--r-- 64 bytes
_bootlocale.py -rw-r--r-- 1.6 KB
_collections_abc.py -rw-r--r-- 25.7 KB
_compat_pickle.py -rw-r--r-- 8.5 KB
_compression.py -rw-r--r-- 5.2 KB
_markupbase.py -rw-r--r-- 14.3 KB
_osx_support.py -rw-r--r-- 18.7 KB
_pydecimal.py -rw-r--r-- 223.5 KB
_pyio.py -rw-r--r-- 87.2 KB
_sitebuiltins.py -rw-r--r-- 3.0 KB
_strptime.py -rw-r--r-- 24.1 KB
_threading_local.py -rw-r--r-- 7.2 KB
_weakrefset.py -rw-r--r-- 5.5 KB
abc.py -rw-r--r-- 8.5 KB
aifc.py -rw-r--r-- 31.7 KB
antigravity.py -rw-r--r-- 476 bytes
argparse.py -rw-r--r-- 92.4 KB
ast.py -rw-r--r-- 11.8 KB
asynchat.py -rw-r--r-- 11.1 KB
asyncore.py -rw-r--r-- 19.6 KB
base64.py -rwxr-xr-x 20.0 KB
bdb.py -rw-r--r-- 30.6 KB
binhex.py -rw-r--r-- 13.6 KB
bisect.py -rw-r--r-- 2.5 KB
bz2.py -rw-r--r-- 12.1 KB
cProfile.py -rwxr-xr-x 5.2 KB
calendar.py -rw-r--r-- 23.3 KB
cgi.py -rwxr-xr-x 32.8 KB
cgitb.py -rw-r--r-- 11.7 KB
chunk.py -rw-r--r-- 5.3 KB
cmd.py -rw-r--r-- 14.5 KB
code.py -rw-r--r-- 10.4 KB
codecs.py -rw-r--r-- 35.4 KB
codeop.py -rw-r--r-- 5.9 KB
colorsys.py -rw-r--r-- 4.0 KB
compileall.py -rw-r--r-- 11.6 KB
configparser.py -rw-r--r-- 52.7 KB
contextlib.py -rw-r--r-- 15.8 KB
copy.py -rw-r--r-- 8.6 KB
copyreg.py -rw-r--r-- 6.9 KB
crypt.py -rw-r--r-- 1.8 KB
csv.py -rw-r--r-- 15.8 KB
datetime.py -rw-r--r-- 78.3 KB
decimal.py -rw-r--r-- 320 bytes
difflib.py -rw-r--r-- 82.2 KB
dis.py -rw-r--r-- 19.4 KB
doctest.py -rw-r--r-- 101.9 KB
enum.py -rw-r--r-- 32.7 KB
filecmp.py -rw-r--r-- 9.6 KB
fileinput.py -rw-r--r-- 14.2 KB
fnmatch.py -rw-r--r-- 3.1 KB
formatter.py -rw-r--r-- 14.8 KB
fractions.py -rw-r--r-- 23.1 KB
ftplib.py -rw-r--r-- 34.4 KB
functools.py -rw-r--r-- 30.5 KB
genericpath.py -rw-r--r-- 4.6 KB
getopt.py -rw-r--r-- 7.3 KB
getpass.py -rw-r--r-- 5.9 KB
gettext.py -rw-r--r-- 21.2 KB
glob.py -rw-r--r-- 5.5 KB
gzip.py -rw-r--r-- 19.9 KB
hashlib.py -rw-r--r-- 9.3 KB
heapq.py -rw-r--r-- 22.5 KB
hmac.py -rw-r--r-- 4.9 KB
imaplib.py -rw-r--r-- 51.8 KB
imghdr.py -rw-r--r-- 3.7 KB
imp.py -rw-r--r-- 10.4 KB
inspect.py -rw-r--r-- 113.1 KB
io.py -rw-r--r-- 3.4 KB
ipaddress.py -rw-r--r-- 74.0 KB
keyword.py -rwxr-xr-x 2.2 KB
linecache.py -rw-r--r-- 5.2 KB
locale.py -rw-r--r-- 73.5 KB
lzma.py -rw-r--r-- 12.7 KB
macpath.py -rw-r--r-- 5.9 KB
mailbox.py -rw-r--r-- 76.8 KB
mailcap.py -rw-r--r-- 7.9 KB
mimetypes.py -rw-r--r-- 20.5 KB
modulefinder.py -rw-r--r-- 22.5 KB
netrc.py -rw-r--r-- 5.6 KB
nntplib.py -rw-r--r-- 42.1 KB
ntpath.py -rw-r--r-- 21.9 KB
nturl2path.py -rw-r--r-- 2.5 KB
numbers.py -rw-r--r-- 10.0 KB
opcode.py -rw-r--r-- 5.8 KB
operator.py -rw-r--r-- 10.6 KB
optparse.py -rw-r--r-- 59.0 KB
os.py -rw-r--r-- 37.0 KB
pathlib.py -rw-r--r-- 46.6 KB
pdb.py -rwxr-xr-x 59.9 KB
pickle.py -rw-r--r-- 54.6 KB
pickletools.py -rw-r--r-- 88.9 KB
pipes.py -rw-r--r-- 8.7 KB
pkgutil.py -rw-r--r-- 21.0 KB
platform.py -rwxr-xr-x 45.0 KB
plistlib.py -rw-r--r-- 28.7 KB
poplib.py -rw-r--r-- 14.6 KB
posixpath.py -rw-r--r-- 15.0 KB
pprint.py -rw-r--r-- 20.4 KB
profile.py -rwxr-xr-x 21.5 KB
pstats.py -rw-r--r-- 25.9 KB
pty.py -rw-r--r-- 4.7 KB
py_compile.py -rw-r--r-- 7.0 KB
pyclbr.py -rw-r--r-- 14.8 KB
pydoc.py -rw-r--r-- 102.6 KB
queue.py -rw-r--r-- 8.5 KB
quopri.py -rwxr-xr-x 7.1 KB
random.py -rw-r--r-- 26.7 KB
re.py -rw-r--r-- 14.4 KB
reprlib.py -rw-r--r-- 5.1 KB
rlcompleter.py -rw-r--r-- 6.9 KB
runpy.py -rw-r--r-- 11.7 KB
sched.py -rw-r--r-- 6.3 KB
secrets.py -rw-r--r-- 2.0 KB
selectors.py -rw-r--r-- 18.1 KB
shelve.py -rw-r--r-- 8.3 KB
shlex.py -rw-r--r-- 12.7 KB
shutil.py -rw-r--r-- 39.4 KB
signal.py -rw-r--r-- 2.1 KB
site.py -rw-r--r-- 20.8 KB
smtpd.py -rwxr-xr-x 33.9 KB
smtplib.py -rwxr-xr-x 43.1 KB
sndhdr.py -rw-r--r-- 6.9 KB
socket.py -rw-r--r-- 26.8 KB
socketserver.py -rw-r--r-- 25.8 KB
sre_compile.py -rw-r--r-- 25.5 KB
sre_constants.py -rw-r--r-- 6.8 KB
sre_parse.py -rw-r--r-- 36.5 KB
ssl.py -rw-r--r-- 43.8 KB
stat.py -rw-r--r-- 4.9 KB
statistics.py -rw-r--r-- 20.2 KB
string.py -rw-r--r-- 11.0 KB
stringprep.py -rw-r--r-- 12.6 KB
struct.py -rw-r--r-- 257 bytes
subprocess.py -rw-r--r-- 60.0 KB
sunau.py -rw-r--r-- 17.7 KB
symbol.py -rwxr-xr-x 2.1 KB
symtable.py -rw-r--r-- 7.1 KB
sysconfig.py -rw-r--r-- 23.6 KB
tabnanny.py -rwxr-xr-x 11.1 KB
tarfile.py -rwxr-xr-x 90.4 KB
telnetlib.py -rw-r--r-- 22.6 KB
tempfile.py -rw-r--r-- 25.9 KB
textwrap.py -rw-r--r-- 19.0 KB
this.py -rw-r--r-- 1003 bytes
threading.py -rw-r--r-- 46.7 KB
timeit.py -rwxr-xr-x 13.1 KB
token.py -rw-r--r-- 3.7 KB
tokenize.py -rw-r--r-- 28.0 KB
trace.py -rwxr-xr-x 28.2 KB
traceback.py -rw-r--r-- 22.5 KB
tracemalloc.py -rw-r--r-- 16.3 KB
tty.py -rw-r--r-- 879 bytes
turtle.py -rw-r--r-- 140.2 KB
types.py -rw-r--r-- 8.8 KB
typing.py -rw-r--r-- 78.1 KB
uu.py -rwxr-xr-x 6.7 KB
uuid.py -rw-r--r-- 23.8 KB
warnings.py -rw-r--r-- 18.2 KB
wave.py -rw-r--r-- 17.3 KB
weakref.py -rw-r--r-- 20.0 KB
webbrowser.py -rwxr-xr-x 22.6 KB
xdrlib.py -rw-r--r-- 5.8 KB
zipapp.py -rw-r--r-- 7.0 KB
zipfile.py -rw-r--r-- 73.6 KB

back to top