Bugfix Filename without unidecode dependency

This commit is contained in:
OzzieIsaacs 2017-03-06 19:19:14 +01:00
parent 0c9eacb024
commit 26438f97ab
2 changed files with 3 additions and 3 deletions

View file

@ -238,7 +238,7 @@ def get_valid_filename(value, replace_whitespace=True):
value=value.replace(u'§',u'SS') value=value.replace(u'§',u'SS')
value=value.replace(u'ß',u'ss') value=value.replace(u'ß',u'ss')
value = unicodedata.normalize('NFKD', value) value = unicodedata.normalize('NFKD', value)
re_slugify = re.compile('[\W\s-]', re.UNICODE) re_slugify = re.compile('[^\w\s-]', re.UNICODE)
value = unicode(re_slugify.sub('', value).strip()) value = unicode(re_slugify.sub('', value).strip())
if replace_whitespace: if replace_whitespace:
#*+:\"/<>? werden durch _ ersetzt #*+:\"/<>? werden durch _ ersetzt

View file

@ -675,7 +675,7 @@ def get_opds_download_link(book_id, format):
file_name = book.authors[0].name + '-' + file_name file_name = book.authors[0].name + '-' + file_name
file_name = helper.get_valid_filename(file_name) file_name = helper.get_valid_filename(file_name)
response = make_response(send_from_directory(os.path.join(config.config_calibre_dir, book.path), data.name + "." + format)) response = make_response(send_from_directory(os.path.join(config.config_calibre_dir, book.path), data.name + "." + format))
response.headers["Content-Disposition"] = "attachment; filename=\"%s.%s\"" % (urllib.quote(file_name.encode('utf8')), format) response.headers["Content-Disposition"] = "attachment; filename*=UTF-8''%s.%s" % (urllib.quote(file_name.encode('utf8')), format)
return response return response
@ -1283,7 +1283,7 @@ def get_download_link(book_id, format):
response.headers["Content-Type"] = mimetypes.types_map['.' + format] response.headers["Content-Type"] = mimetypes.types_map['.' + format]
except: except:
pass pass
response.headers["Content-Disposition"] = "attachment; filename=\"%s.%s\"" % (urllib.quote(file_name.encode('utf-8')), format) response.headers["Content-Disposition"] = "attachment; filename*=UTF-8''%s.%s" % (urllib.quote(file_name.encode('utf-8')), format)
return response return response
else: else:
abort(404) abort(404)