Encode session in base64 to workaround a Qt bug
Recent updates of Qt can no longer store python's binary strings as settings, so I encode it as an easy to handle base64 string to make the session storing work again.
This commit is contained in:
parent
c4e258bbf9
commit
d1d781f3a3
@ -22,6 +22,7 @@ import http.client
|
|||||||
import urllib.parse
|
import urllib.parse
|
||||||
import os.path
|
import os.path
|
||||||
import pickle
|
import pickle
|
||||||
|
import base64
|
||||||
|
|
||||||
from relational.relation import relation
|
from relational.relation import relation
|
||||||
from relational import parser
|
from relational import parser
|
||||||
@ -103,7 +104,7 @@ class UserInterface (object):
|
|||||||
with open(filename, 'w') as f:
|
with open(filename, 'w') as f:
|
||||||
pickle.dump(self.relations, f)
|
pickle.dump(self.relations, f)
|
||||||
return None
|
return None
|
||||||
return pickle.dumps(self.relations)
|
return base64.b64encode(pickle.dumps(self.relations)).decode()
|
||||||
|
|
||||||
def session_restore(self, session=None, filename=None):
|
def session_restore(self, session=None, filename=None):
|
||||||
'''
|
'''
|
||||||
@ -113,7 +114,7 @@ class UserInterface (object):
|
|||||||
'''
|
'''
|
||||||
if session:
|
if session:
|
||||||
try:
|
try:
|
||||||
self.relations = pickle.loads(session)
|
self.relations = pickle.loads(base64.b64decode(session))
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
elif filename:
|
elif filename:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user