GoogleCloudPlatform / GoogleCloudPlatform/appengine-python-standard

NDB_PY2_UNPICKLE_COMPAT?

Offen
#103 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Python
Sterne
86
Forks
61
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.