[pypy-dev] ZODB3

Armin Rigo arigo at tunes.org
Wed Mar 21 18:38:47 CET 2012


On Fri, Mar 2, 2012 at 11:03, Aroldo Souza-Leite <asouzaleite at gmx.de> wrote:
>    data = self.__dict__.pop('_container')
> KeyError: '_container'

Last I heard, the Persistent base class, written in C, uses old tricks
that are kind of deprecated; if I remember correctly, before Python
2.2, it was known as the place that introduced the trick called
"extension classes" to Python, which later became "new-style classes"
in Python 2.2.

So I would not be surprized if that causes the user-visible __dict__
of its instances to miss an attribute like "_container" or "data", and
so be generally unsupported by PyPy's cpyext.

If you really care about it, you may want to rewrite at least the base
class, persistent.Persistent, in pure Python.

A bientôt,


More information about the pypy-dev mailing list