GoogleCloudPlatform / GoogleCloudPlatform/appengine-python-standard

NDB_PY2_UNPICKLE_COMPAT?

Abierto
#103 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
86
Forks
61
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

There is an env var being checked in a couple places that I don't see mentioned outside the code:
```
class PickleProperty(BlobProperty):
...
def _from_base_type(self, value):
try:
return pickle.loads(value)
except UnicodeDecodeError:
if int(os.environ.get('NDB_PY2_UNPICKLE_COMPAT', '0')):
return pickle.loads(value, encoding='bytes')
raise
```
```
class Key(object):
...
def __new__(cls, *_args, **kwargs):
...
if int(os.environ.get('NDB_PY2_UNPICKLE_COMPAT', '0')):
kwargs = {six.ensure_str(k): v for (k, v) in kwargs.items()}
```
Should we set this, is it set for us, should we avoid it?
I'm running into some assorted pickle-related issues which had me looking at [this (not-so-)recent change](https://github.com/GoogleCloudPlatform/appengine-python-standard/pull/88), and it's a bit tricky to figure out if it's better to try more "global" sorts of fixes or just site-specific workarounds to avoid dealing with messier problems.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.