@@ -172,37 +172,38 @@ def call_hook(self, hook, *args, **kwargs):
172
172
return False
173
173
return True
174
174
175
- def download (self , filekey , key_index = None ):
176
- if key_index is None :
177
- filename = settings .files [filekey ]['filename' ]
175
+ def download (self , filekey ):
176
+ if 'filename' in settings . files [ filekey ] :
177
+ filenames = [ settings .files [filekey ]['filename' ] ]
178
178
else :
179
- filename = settings .files [filekey ]['filenames' ][ key_index ]
179
+ filenames = settings .files [filekey ]['filenames' ]
180
180
181
- web_file = None
182
- urls = [e .format (filename = filename ) for e in settings .files [filekey ]['urls' ]]
183
- for url in urls :
184
- try :
185
- web_file = urlopen (url )
186
- if 'html' in web_file .headers ['Content-Type' ]:
187
- # TODO: Make this a subclass
188
- raise Exception ("Content type of downloaded file was {}" .format (web_file .headers ['Content-Type' ]))
189
- self .logger .debug ("Downloaded: {}" .format (url ))
190
- break
191
- except Exception :
192
- web_file = None
193
- continue
194
- else :
195
- self .logger .error ("Web file not found: %s. Tried URLs:\n %s" , filename , '\n ' .join (urls ))
196
-
197
- if web_file is not None :
198
- self .logger .debug ("Saving: {}/{}" .format (self .data_dir , filename ))
199
- if not os .path .exists (self .data_dir ):
200
- os .makedirs (self .data_dir )
201
- file = io .open (os .path .join (self .data_dir , filename ), 'wb' )
202
- file .write (web_file .read ())
203
- file .close ()
204
- elif not os .path .exists (os .path .join (self .data_dir , filename )):
205
- raise Exception ("File not found and download failed: {} [{}]" .format (filename , url ))
181
+ for filename in filenames :
182
+ web_file = None
183
+ urls = [e .format (filename = filename ) for e in settings .files [filekey ]['urls' ]]
184
+ for url in urls :
185
+ try :
186
+ web_file = urlopen (url )
187
+ if 'html' in web_file .headers ['Content-Type' ]:
188
+ # TODO: Make this a subclass
189
+ raise Exception ("Content type of downloaded file was {}" .format (web_file .headers ['Content-Type' ]))
190
+ self .logger .debug ("Downloaded: {}" .format (url ))
191
+ break
192
+ except Exception :
193
+ web_file = None
194
+ continue
195
+ else :
196
+ self .logger .error ("Web file not found: %s. Tried URLs:\n %s" , filename , '\n ' .join (urls ))
197
+
198
+ if web_file is not None :
199
+ self .logger .debug ("Saving: {}/{}" .format (self .data_dir , filename ))
200
+ if not os .path .exists (self .data_dir ):
201
+ os .makedirs (self .data_dir )
202
+ file = io .open (os .path .join (self .data_dir , filename ), 'wb' )
203
+ file .write (web_file .read ())
204
+ file .close ()
205
+ elif not os .path .exists (os .path .join (self .data_dir , filename )):
206
+ raise Exception ("File not found and download failed: {} [{}]" .format (filename , url ))
206
207
207
208
def get_data (self , filekey ):
208
209
if 'filename' in settings .files [filekey ]:
0 commit comments