| 
														
															@@ -1710,12 +1710,17 @@ class YoutubeDL(object): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if filename is None: 
														 | 
														
														 | 
														
															         if filename is None: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             return 
														 | 
														
														 | 
														
															             return 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        try: 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            dn = os.path.dirname(sanitize_path(encodeFilename(filename))) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            if dn and not os.path.exists(dn): 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                os.makedirs(dn) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        except (OSError, IOError) as err: 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            self.report_error('unable to create directory ' + error_to_compat_str(err)) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        def ensure_dir_exists(path): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            try: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                dn = os.path.dirname(path) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if dn and not os.path.exists(dn): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    os.makedirs(dn) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                return True 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            except (OSError, IOError) as err: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                self.report_error('unable to create directory ' + error_to_compat_str(err)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                return False 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if not ensure_dir_exists(sanitize_path(encodeFilename(filename))): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             return 
														 | 
														
														 | 
														
															             return 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if self.params.get('writedescription', False): 
														 | 
														
														 | 
														
															         if self.params.get('writedescription', False): 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1853,8 +1858,11 @@ class YoutubeDL(object): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         for f in requested_formats: 
														 | 
														
														 | 
														
															                         for f in requested_formats: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             new_info = dict(info_dict) 
														 | 
														
														 | 
														
															                             new_info = dict(info_dict) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             new_info.update(f) 
														 | 
														
														 | 
														
															                             new_info.update(f) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            fname = self.prepare_filename(new_info) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            fname = prepend_extension(fname, 'f%s' % f['format_id'], new_info['ext']) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            fname = prepend_extension( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                self.prepare_filename(new_info), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                'f%s' % f['format_id'], new_info['ext']) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            if not ensure_dir_exists(fname): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                return 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             downloaded.append(fname) 
														 | 
														
														 | 
														
															                             downloaded.append(fname) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             partial_success = dl(fname, new_info) 
														 | 
														
														 | 
														
															                             partial_success = dl(fname, new_info) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             success = success and partial_success 
														 | 
														
														 | 
														
															                             success = success and partial_success 
														 |