From d1b303fad3d815535d2e0733689c2a3849c10432 Mon Sep 17 00:00:00 2001 From: yurikaka Date: Mon, 13 Jul 2020 17:57:27 -0700 Subject: [PATCH] Update content.py remove the '!' character from file name when try to download a kepub file from kobo browser since kepub file with a '!' in name doesn't work on a kobo device(at least on my kobo forma) --- src/calibre/srv/content.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/calibre/srv/content.py b/src/calibre/srv/content.py index bde445f379..e46f72ca69 100644 --- a/src/calibre/srv/content.py +++ b/src/calibre/srv/content.py @@ -160,8 +160,6 @@ def book_filename(rd, book_id, mi, fmt, as_encoded_unicode=False): au = authors_to_string(mi.authors or [_('Unknown')]) title = mi.title or _('Unknown') ext = (fmt or '').lower() - if ext == 'kepub' and 'Kobo Touch' in rd.inheaders.get('User-Agent', ''): - ext = 'kepub.epub' fname = '%s - %s_%s.%s' % (title[:30], au[:30], book_id, ext) if as_encoded_unicode: # See https://tools.ietf.org/html/rfc6266 @@ -169,6 +167,9 @@ def book_filename(rd, book_id, mi, fmt, as_encoded_unicode=False): fname = unicode_type(quote(fname)) else: fname = ascii_filename(fname).replace('"', '_') + if ext == 'kepub' and 'Kobo Touch' in rd.inheaders.get('User-Agent', ''): + fname = fname.replace('!', '') + fname += '.epub' return fname @@ -228,7 +229,7 @@ def static(ctx, rd, what): except EnvironmentError: raise HTTPNotFound() - +kepub @endpoint('/favicon.png', auth_required=False, cache_control=24) def favicon(ctx, rd): return share_open(I('lt.png'), 'rb')