mirror of
				https://github.com/KevinMidboe/spotify-downloader.git
				synced 2025-10-29 18:00:15 +00:00 
			
		
		
		
	Check and replace slashes with dashes to avoid directory creation error (#402)
* Added check for track titles containing slashes * Revert white-space typos * Added check for windows backslash * Added check for non-string filename titles
This commit is contained in:
		
				
					committed by
					
						 Ritiek Malhotra
						Ritiek Malhotra
					
				
			
			
				
	
			
			
			
						parent
						
							b12ca8c785
						
					
				
				
					commit
					acff5fc8e2
				
			| @@ -88,15 +88,16 @@ def format_string(string_format, tags, slugification=False, force_spaces=False): | ||||
|     format_tags[10] = tags["total_tracks"] | ||||
|     format_tags[11] = tags["external_ids"]["isrc"] | ||||
|  | ||||
|     for tag in format_tags: | ||||
|         if slugification: | ||||
|             format_tags[tag] = sanitize_title(format_tags[tag], ok="'-_()[]{}") | ||||
|         else: | ||||
|             format_tags[tag] = str(format_tags[tag]) | ||||
|     format_tags_sanitized = { | ||||
|         k: sanitize_title(str(v), ok="'-_()[]{}") | ||||
|         if slugification | ||||
|         else str(v) | ||||
|         for k, v in format_tags.items() | ||||
|     } | ||||
|  | ||||
|     for x in formats: | ||||
|         format_tag = "{" + formats[x] + "}" | ||||
|         string_format = string_format.replace(format_tag, format_tags[x]) | ||||
|         string_format = string_format.replace(format_tag, format_tags_sanitized[x]) | ||||
|  | ||||
|     if const.args.no_spaces and not force_spaces: | ||||
|         string_format = string_format.replace(" ", "_") | ||||
| @@ -104,12 +105,15 @@ def format_string(string_format, tags, slugification=False, force_spaces=False): | ||||
|     return string_format | ||||
|  | ||||
|  | ||||
| def sanitize_title(title, ok="-_()[]{}\/"): | ||||
| def sanitize_title(title, ok="-_()[]{}"): | ||||
|     """ Generate filename of the song to be downloaded. """ | ||||
|  | ||||
|     if const.args.no_spaces: | ||||
|         title = title.replace(" ", "_") | ||||
|  | ||||
|     # replace slashes with "-" to avoid folder creation errors | ||||
|     title = title.replace("/", "-").replace("\\", "-") | ||||
|  | ||||
|     # slugify removes any special characters | ||||
|     title = slugify(title, ok=ok, lower=False, spaces=True) | ||||
|     return title | ||||
|   | ||||
| @@ -206,7 +206,6 @@ def main(): | ||||
|     log.debug("Platform: {}".format(platform.platform())) | ||||
|     log.debug(pprint.pformat(const.args.__dict__)) | ||||
|  | ||||
|      | ||||
|     try: | ||||
|         if const.args.song: | ||||
|             download_single(raw_song=const.args.song) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user