Files
edx-platform/cms/djangoapps/contentstore/debug_file_uploader.py
M. Zulqarnain 5562944e87 BOM-2369 (A): pyupgrade on api,contentstore and cms_user_tasks apps under CMS (#26676)
* pyupgrade on cms api,contentstore and cms_user_tasks apps
2021-03-04 15:06:07 +05:00

27 lines
765 B
Python

""" Upload file handler to help test progress bars in uploads. """
import time
from django.core.files.uploadhandler import FileUploadHandler
class DebugFileUploader(FileUploadHandler): # lint-amnesty, pylint: disable=missing-class-docstring
def __init__(self, request=None):
super().__init__(request)
self.count = 0
def receive_data_chunk(self, raw_data, start):
time.sleep(1)
self.count = self.count + len(raw_data)
fail_at = None
if 'fail_at' in self.request.GET:
fail_at = int(self.request.GET.get('fail_at'))
if fail_at and self.count > fail_at:
raise Exception('Triggered fail')
return raw_data
def file_complete(self, file_size):
return None