[Python-Dev] Patches in need of review

Claudiu Popa pcmanticore at gmail.com
Wed Apr 23 21:27:27 CEST 2014


Hello!

This approach worked for Nikolaus and I hope that it could work for me.
I have a couple of languishing patches, waiting for a core dev
to review, reject or commit them. I consider them ready to go,
but another pair of eyes could unveil unknown problems to me.
I pinged some issues from this list on core-mentorship a month ago,
without luck though. Here they are:

* http://bugs.python.org/issue19385

`dbm.dumb should be consistent when the database is closed`

This patch adds a check for operations with closed
dbm.dumb databases. The problem is that currently this
fails with AttributeError:

>>> import dbm.dumb as d
>>> db = d.open('test.dat', 'c')
>>> db.close()
>>> db.keys()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/tank/libs/cpython/Lib/dbm/dumb.py", line 212, in keys
    return list(self._index.keys())
AttributeError: 'NoneType' object has no attribute 'keys'

With this patch, the error is consistent with the other
dbm flavours.


* http://bugs.python.org/issue16104

`Use multiprocessing in compileall script`

This patch adds a new command line argument to `compileall`, also
a new argument to `compileall.compile_dir`, which controls the number
of worker processes used to compile a given directory.
The title of the issue is actually misleading a little,
because the patch uses `concurrent.futures` instead.


* http://bugs.python.org/issue19714

`Add tests for importlib.machinery.WindowsRegistryFinder.`

This is Windows specific and adds tests for the finder
in the title.

* http://bugs.python.org/issue17442

`code.InteractiveInterpreter doesn't display the exception cause`

This patch adds the ability for `code.InteractiveInterpreter` instances
to display the exception cause as seen below:

- currently

>>> try:
...    1 / 0
... except ZeroDivisionError as exc:
...    raise IOError from exc
...
Traceback (most recent call last):
  File "<console>", line 4, in <module>
OSError


- with the patch

>>> try:
...    1 / 0
... except ZeroDivisionError as exc:
...    raise IOError from exc
...
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
ZeroDivisionError: division by zero

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<stdin>", line 4, in <module>
OSError

Thank you for your time!


Claudiu


More information about the Python-Dev mailing list