Commit 54774f1e authored by Jérome Perrin's avatar Jérome Perrin

TemplateTool: use json to encode repository business template uid

parent be7379b7
...@@ -61,7 +61,6 @@ import re ...@@ -61,7 +61,6 @@ import re
from xml.dom.minidom import parse from xml.dom.minidom import parse
from xml.parsers.expat import ExpatError from xml.parsers.expat import ExpatError
import struct import struct
from six.moves import cPickle as pickle
from base64 import b64encode, b64decode from base64 import b64encode, b64decode
from Products.ERP5Type.Message import translateString from Products.ERP5Type.Message import translateString
from zLOG import LOG, INFO, WARNING from zLOG import LOG, INFO, WARNING
...@@ -69,6 +68,7 @@ from base64 import decodestring ...@@ -69,6 +68,7 @@ from base64 import decodestring
import subprocess import subprocess
import time import time
from Products.ERP5Type.Utils import bytes2str from Products.ERP5Type.Utils import bytes2str
import json
WIN = os.name == 'nt' WIN = os.name == 'nt'
...@@ -721,7 +721,8 @@ class TemplateTool (BaseTool): ...@@ -721,7 +721,8 @@ class TemplateTool (BaseTool):
Decode the uid of a business template from a repository. Decode the uid of a business template from a repository.
Return a repository and an id. Return a repository and an id.
""" """
return pickle.loads(b64decode(uid)) repository, id = json.loads(b64decode(uid))
return repository.encode('utf-8'), id.encode('utf-8')
security.declarePublic( 'encodeRepositoryBusinessTemplateUid' ) security.declarePublic( 'encodeRepositoryBusinessTemplateUid' )
def encodeRepositoryBusinessTemplateUid(self, repository, id): def encodeRepositoryBusinessTemplateUid(self, repository, id):
...@@ -729,7 +730,7 @@ class TemplateTool (BaseTool): ...@@ -729,7 +730,7 @@ class TemplateTool (BaseTool):
encode the repository and the id of a business template. encode the repository and the id of a business template.
Return an uid. Return an uid.
""" """
return b64encode(pickle.dumps((repository, id))) return b64encode(json.dumps((repository, id)))
security.declarePublic('compareVersionStrings') security.declarePublic('compareVersionStrings')
def compareVersionStrings(self, version, comparing_string): def compareVersionStrings(self, version, comparing_string):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment