From c52ce58b6d73664a888bc912c5cfc01fc21dfa1f Mon Sep 17 00:00:00 2001 From: Safihre Date: Thu, 10 May 2018 10:17:40 +0200 Subject: [PATCH] Handle filenames in redirected URL's better Originated from https://www.reddit.com/r/usenet/comments/8gfjky/this_started_happening_recently_what_could_be/ --- sabnzbd/urlgrabber.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sabnzbd/urlgrabber.py b/sabnzbd/urlgrabber.py index dd9f5e0..fd7ef12 100644 --- a/sabnzbd/urlgrabber.py +++ b/sabnzbd/urlgrabber.py @@ -189,6 +189,7 @@ class URLGrabber(Thread): if item in _RARTING_FIELDS: nzo_info[item] = value + # Get filename from Content-Disposition header if not filename and "filename=" in value: filename = value[value.index("filename=") + 9:].strip(';').strip('"') @@ -209,7 +210,12 @@ class URLGrabber(Thread): continue if not filename: - filename = os.path.basename(url) + filename = os.path.basename(urllib2.unquote(url)) + + # URL was redirected, maybe the redirect has better filename? + # Check if the original URL has extension + if url != fetch_request.url and misc.get_ext(filename) not in VALID_NZB_FILES: + filename = os.path.basename(urllib2.unquote(fetch_request.url)) elif '&nzbname=' in filename: # Sometimes the filename contains the full URL, duh! filename = filename[filename.find('&nzbname=') + 9:]