python3: open user-import pickle-dumping files as binary data

This commit is contained in:
Paul Marillonnet 2020-02-11 15:09:34 +01:00
parent 7bf7c85d22
commit 66139045e2
1 changed files with 6 additions and 5 deletions

View File

@ -27,12 +27,13 @@ import uuid
import threading
from atomicwrites import atomic_write
from atomicwrites import AtomicWriter
from django.core.files.storage import default_storage
from django.db import connection
from django.conf import settings
from django.utils import six
from django.utils.encoding import force_text
from django.utils.functional import cached_property
from django.utils.timezone import utc
from django.utils.translation import ugettext_lazy as _
@ -71,7 +72,7 @@ class UserImport(object):
def meta(self):
meta = {}
if os.path.exists(self.meta_path):
with open(self.meta_path) as fd:
with open(self.meta_path, 'rb') as fd:
meta = pickle.load(fd)
return meta
@ -81,7 +82,7 @@ class UserImport(object):
try:
yield self.meta
finally:
with atomic_write(self.meta_path, overwrite=True) as fd:
with AtomicWriter(self.meta_path, mode='wb', overwrite=True).open() as fd:
pickle.dump(self.meta, fd)
@classmethod
@ -149,7 +150,7 @@ class Report(object):
def data(self):
data = {}
if os.path.exists(self.path):
with open(self.path) as fd:
with open(self.path, 'rb') as fd:
data = pickle.load(fd)
return data
@ -180,7 +181,7 @@ class Report(object):
try:
yield self.data
finally:
with atomic_write(self.path, overwrite=True) as fd:
with AtomicWriter(self.path, mode='wb', overwrite=True).open() as fd:
pickle.dump(self.data, fd)
@classmethod