Projet

Général

Profil

0001-python3-encode-pickle-cached-data-31174.patch

Paul Marillonnet, 06 mars 2019 21:26

Télécharger (1,35 ko)

Voir les différences:

Subject: [PATCH] python3: encode pickle-cached data (#31174)

 src/authentic2/decorators.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
src/authentic2/decorators.py
1
import base64
1 2
import pickle
2 3
import re
3 4
from json import dumps as json_dumps
......
224 225
class PickleCacheMixin(object):
225 226
    def set(self, key, value):
226 227
        value, tstamp = value
227
        value = pickle.dumps(value)
228
        value = base64.b64encode(pickle.dumps(value)).decode('ascii')
228 229
        super(PickleCacheMixin, self).set(key, (value, tstamp))
229 230

  
230 231
    def get(self, key):
231 232
        value = super(PickleCacheMixin, self).get(key)
232 233
        if value[0] is not None:
233
            value = (pickle.loads(value[0]), value[1])
234
            value, tstamp = value
235
            try:
236
                value = base64.b64decode(value.encode('ascii'))
237
            except ValueError:
238
                pass
239
            value = (pickle.loads(value), tstamp)
234 240
        return value
235 241

  
236 242

  
237
-