debug_file_uploader.py 661 Bytes
Newer Older
1 2 3 4 5
from django.core.files.uploadhandler import FileUploadHandler
import time


class DebugFileUploader(FileUploadHandler):
6 7 8 9
    def __init__(self, request=None):
        super(DebugFileUploader, self).__init__(request)
        self.count = 0

10 11
    def receive_data_chunk(self, raw_data, start):
        time.sleep(1)
12
        self.count = self.count + len(raw_data)
13 14 15
        fail_at = None
        if 'fail_at' in self.request.GET:
            fail_at = int(self.request.GET.get('fail_at'))
16 17 18
        if fail_at and self.count > fail_at:
            raise Exception('Triggered fail')

19 20 21 22
        return raw_data

    def file_complete(self, file_size):
        return None