GoogleCloudPlatform / GoogleCloudPlatform/appengine-python-standard

NDB_PY2_UNPICKLE_COMPAT?

Ouverte
#103 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Python
Étoiles
86
Forks
61
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.