diff --git a/CTFd/utils/exports/__init__.py b/CTFd/utils/exports/__init__.py index 7caa28e8..ce6884ef 100644 --- a/CTFd/utils/exports/__init__.py +++ b/CTFd/utils/exports/__init__.py @@ -14,6 +14,7 @@ import os import re import six import zipfile +import tempfile class CTFdSerializer(JSONSerializer): @@ -56,7 +57,7 @@ def export_ctf(): db = dataset.connect(get_app_config('SQLALCHEMY_DATABASE_URI')) # Backup database - backup = six.BytesIO() + backup = tempfile.SpooledTemporaryFile() backup_zip = zipfile.ZipFile(backup, 'w') diff --git a/tests/utils/test_exports.py b/tests/utils/test_exports.py index ed31bdd5..b59d32a1 100644 --- a/tests/utils/test_exports.py +++ b/tests/utils/test_exports.py @@ -27,7 +27,7 @@ def test_export_ctf(): backup = export_ctf() with open('export.zip', 'wb') as f: - f.write(backup.getvalue()) + f.write(backup.read()) os.remove('export.zip') destroy_ctfd(app)