Kaydet (Commit) c95a3fad authored tarafından Simon Charette's avatar Simon Charette Kaydeden (comit) Florian Apolloner

[1.7.x] Fixed #22299 -- Cleanup wizard temp files when possible.

Thanks to @erikr for the review.

Backport of fa8b4735 from master.
üst e3792bb9
from datetime import datetime
from importlib import import_module
import os
import tempfile
from django.http import HttpRequest
from django.conf import settings
from django.contrib.auth.models import User
from django.core.files.storage import FileSystemStorage
from django.core.files.uploadedfile import SimpleUploadedFile
temp_storage_location = tempfile.mkdtemp(dir=os.environ.get('DJANGO_TEST_TEMP_DIR'))
temp_storage = FileSystemStorage(location=temp_storage_location)
def get_request():
......
......@@ -27,6 +27,11 @@ class BaseStorage(object):
}
def reset(self):
# Delete temporary files before breaking reference to them.
wizard_files = self.data[self.step_files_key]
for step_files in six.itervalues(wizard_files):
for step_file in six.itervalues(step_files):
self.file_storage.delete(step_file['tmp_name'])
self.init_data()
def _get_current_step(self):
......
......@@ -634,9 +634,9 @@ storage class <builtin-fs-storage>`)::
.. warning::
Please remember to take care of removing old files as the
:class:`WizardView` won't remove any files, whether the wizard gets
finished correctly or not.
Please remember to take care of removing old temporary files, as the
:class:`WizardView` will only remove these files if the wizard finishes
correctly.
Conditionally view/skip specific steps
======================================
......
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