Prefer filename* header (#416)

* Prefer filename* header

* Fix typo
master
hunkyburrito 2022-05-05 06:40:02 -05:00 committed by GitHub
parent 3758fc194f
commit 2ee3b26ae4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 1 deletions

View File

@ -550,7 +550,10 @@ def download_original_file(client: SoundCloud, track: BasicTrack, title: str, pl
# Find filename
header = r.headers.get("content-disposition")
_, params = cgi.parse_header(header)
if "filename" in params:
if "filename*" in params:
encoding, filename = params["filename*"].split("''")
filename = urllib.parse.unquote(filename, encoding=encoding)
elif "filename" in params:
filename = urllib.parse.unquote(params["filename"], encoding="utf-8")
else:
raise SoundCloudException(f"Could not get filename from content-disposition header: {header}")