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 datetime import datetime
from importlib import import_module from importlib import import_module
import os
import tempfile
from django.http import HttpRequest from django.http import HttpRequest
from django.conf import settings from django.conf import settings
from django.contrib.auth.models import User 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(): def get_request():
......
...@@ -27,6 +27,11 @@ class BaseStorage(object): ...@@ -27,6 +27,11 @@ class BaseStorage(object):
} }
def reset(self): 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() self.init_data()
def _get_current_step(self): def _get_current_step(self):
......
...@@ -634,9 +634,9 @@ storage class <builtin-fs-storage>`):: ...@@ -634,9 +634,9 @@ storage class <builtin-fs-storage>`)::
.. warning:: .. warning::
Please remember to take care of removing old files as the Please remember to take care of removing old temporary files, as the
:class:`WizardView` won't remove any files, whether the wizard gets :class:`WizardView` will only remove these files if the wizard finishes
finished correctly or not. correctly.
Conditionally view/skip specific steps 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