forked from CGM_Public/pretix_original
Revert "Use a temporary file for exports for more stable writing"
This commit is contained in:
@@ -19,8 +19,6 @@
|
|||||||
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
|
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
|
||||||
# <https://www.gnu.org/licenses/>.
|
# <https://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
import inspect
|
|
||||||
import tempfile
|
|
||||||
from typing import Any, Dict
|
from typing import Any, Dict
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
@@ -63,24 +61,14 @@ def export(self, event: Event, fileid: str, provider: str, form_data: Dict[str,
|
|||||||
continue
|
continue
|
||||||
ex = response(event, event.organizer, set_progress)
|
ex = response(event, event.organizer, set_progress)
|
||||||
if ex.identifier == provider:
|
if ex.identifier == provider:
|
||||||
with tempfile.TemporaryFile() as f:
|
d = ex.render(form_data)
|
||||||
if 'output_file' in inspect.signature(ex.render).parameters:
|
if d is None:
|
||||||
d = ex.render(form_data, output_file=f)
|
raise ExportError(
|
||||||
f.seek(0)
|
gettext('Your export did not contain any data.')
|
||||||
if d is None:
|
)
|
||||||
raise ExportError(
|
file.filename, file.type, data = d
|
||||||
gettext('Your export did not contain any data.')
|
f = ContentFile(data)
|
||||||
)
|
file.file.save(cachedfile_name(file, file.filename), f)
|
||||||
file.filename, file.type, data = d
|
|
||||||
else:
|
|
||||||
d = ex.render(form_data)
|
|
||||||
if d is None:
|
|
||||||
raise ExportError(
|
|
||||||
gettext('Your export did not contain any data.')
|
|
||||||
)
|
|
||||||
file.filename, file.type, data = d
|
|
||||||
f = ContentFile(data)
|
|
||||||
file.file.save(cachedfile_name(file, file.filename), f)
|
|
||||||
return file.pk
|
return file.pk
|
||||||
|
|
||||||
|
|
||||||
@@ -141,22 +129,12 @@ def multiexport(self, organizer: Organizer, user: User, device: int, token: int,
|
|||||||
gettext('You do not have sufficient permission to perform this export.')
|
gettext('You do not have sufficient permission to perform this export.')
|
||||||
)
|
)
|
||||||
|
|
||||||
with tempfile.TemporaryFile() as f:
|
d = ex.render(form_data)
|
||||||
if 'output_file' in inspect.signature(ex.render).parameters:
|
if d is None:
|
||||||
d = ex.render(form_data, output_file=f)
|
raise ExportError(
|
||||||
f.seek(0)
|
gettext('Your export did not contain any data.')
|
||||||
if d is None:
|
)
|
||||||
raise ExportError(
|
file.filename, file.type, data = d
|
||||||
gettext('Your export did not contain any data.')
|
f = ContentFile(data)
|
||||||
)
|
file.file.save(cachedfile_name(file, file.filename), f)
|
||||||
file.filename, file.type, data = d
|
|
||||||
else:
|
|
||||||
d = ex.render(form_data)
|
|
||||||
file.filename, file.type, data = d
|
|
||||||
if d is None:
|
|
||||||
raise ExportError(
|
|
||||||
gettext('Your export did not contain any data.')
|
|
||||||
)
|
|
||||||
f = ContentFile(data)
|
|
||||||
file.file.save(cachedfile_name(file, file.filename), f)
|
|
||||||
return file.pk
|
return file.pk
|
||||||
|
|||||||
Reference in New Issue
Block a user