@@ -25,7 +25,7 @@ def __init__(self, field, user, params):
2525 self .user = user
2626 self .params = params
2727 self .chunk_suffix = "_part_"
28- self .chunk_folder = getattr (settings , ' ADMIN_RESUMABLE_CHUNK_FOLDER' , '' )
28+ self .chunk_folder = getattr (settings , " ADMIN_RESUMABLE_CHUNK_FOLDER" , "" )
2929
3030 @cached_property
3131 def resumable_storage (self ):
@@ -46,7 +46,9 @@ def storage_filename(self):
4646 instance = self .field .model .objects .filter (pk = instance_id ).first ()
4747 else :
4848 instance = None
49- return self .resumable_storage .full_filename (self .filename , self .upload_to , instance = instance )
49+ return self .resumable_storage .full_filename (
50+ self .filename , self .upload_to , instance = instance
51+ )
5052
5153 @property
5254 def upload_to (self ):
@@ -57,8 +59,11 @@ def chunk_exists(self):
5759 """
5860 Checks if the requested chunk exists.
5961 """
60- return self .chunk_storage .exists (self .current_chunk_name ) and \
61- self .chunk_storage .size (self .current_chunk_name ) == int (self .params .get ('resumableCurrentChunkSize' ))
62+ return self .chunk_storage .exists (
63+ self .current_chunk_name
64+ ) and self .chunk_storage .size (self .current_chunk_name ) == int (
65+ self .params .get ("resumableCurrentChunkSize" )
66+ )
6267
6368 @property
6469 def chunk_names (self ):
@@ -72,10 +77,9 @@ def chunk_names(self):
7277 # chunks folder doesn't exist yet
7378 return chunks
7479 for file in files :
75- if fnmatch .fnmatch (file , '%s%s*' % (self .filename ,
76- self .chunk_suffix )):
80+ if fnmatch .fnmatch (file , "%s%s*" % (self .filename , self .chunk_suffix )):
7781 if self .chunk_folder :
78- chunks .append (self .chunk_folder + '/' + file )
82+ chunks .append (self .chunk_folder + "/" + file )
7983 else :
8084 chunks .append (file )
8185 return chunks
@@ -86,7 +90,7 @@ def current_chunk_name(self):
8690 chunk_name = "%s%s%s" % (
8791 self .filename ,
8892 self .chunk_suffix ,
89- self .params .get (' resumableChunkNumber' ).zfill (4 )
93+ self .params .get (" resumableChunkNumber" ).zfill (4 ),
9094 )
9195 if self .chunk_folder :
9296 return "%s/%s" % (self .chunk_folder , chunk_name )
@@ -97,11 +101,10 @@ def chunks(self):
97101 Iterates over all stored chunks.
98102 """
99103 # TODO: add user identifier to chunk name
100- files = sorted (self .chunk_storage .listdir ('' )[1 ])
104+ files = sorted (self .chunk_storage .listdir ("" )[1 ])
101105 for file in files :
102- if fnmatch .fnmatch (file , '%s%s*' % (self .filename ,
103- self .chunk_suffix )):
104- yield self .chunk_storage .open (file , 'rb' ).read ()
106+ if fnmatch .fnmatch (file , "%s%s*" % (self .filename , self .chunk_suffix )):
107+ yield self .chunk_storage .open (file , "rb" ).read ()
105108
106109 def delete_chunks (self ):
107110 [self .chunk_storage .delete (chunk ) for chunk in self .chunk_names ]
@@ -112,7 +115,7 @@ def file(self):
112115 Merges file and returns its file pointer.
113116 """
114117 if not self .is_complete :
115- raise Exception (' Chunk(s) still missing' )
118+ raise Exception (" Chunk(s) still missing" )
116119 outfile = tempfile .NamedTemporaryFile ("w+b" )
117120 for chunk in self .chunk_names :
118121 outfile .write (self .chunk_storage .open (chunk ).read ())
@@ -124,18 +127,18 @@ def filename(self):
124127 Gets the filename.
125128 """
126129 # TODO: add user identifier to chunk name
127- filename = self .params .get (' resumableFilename' )
128- if '/' in filename :
129- raise Exception (' Invalid filename' )
130- value = "%s_%s" % (self .params .get (' resumableTotalSize' ), filename )
130+ filename = self .params .get (" resumableFilename" )
131+ if "/" in filename :
132+ raise Exception (" Invalid filename" )
133+ value = "%s_%s" % (self .params .get (" resumableTotalSize" ), filename )
131134 return value
132135
133136 @property
134137 def is_complete (self ):
135138 """
136139 Checks if all chunks are already stored.
137140 """
138- return int (self .params .get (' resumableTotalSize' )) == self .size
141+ return int (self .params .get (" resumableTotalSize" )) == self .size
139142
140143 def process_chunk (self , file ):
141144 """
@@ -160,6 +163,8 @@ def collect(self):
160163 Saves the complete file to persistent storage and deletes chunks.
161164 Returns the actual filename in persistent storage.
162165 """
163- actual_filename = self .persistent_storage .save (self .storage_filename , File (self .file ))
166+ actual_filename = self .persistent_storage .save (
167+ self .storage_filename , File (self .file )
168+ )
164169 self .delete_chunks ()
165170 return actual_filename
0 commit comments