debug_file_uploader.py 662 Bytes
Newer Older
1 2
import time

3 4
from django.core.files.uploadhandler import FileUploadHandler

5 6

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

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

20 21 22 23
        return raw_data

    def file_complete(self, file_size):
        return None