From 5d331a6c469ec47c2fbe53f2d3d4edcdc6211f0c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 17 Jun 2017 16:02:52 +0530 Subject: [PATCH] Fix failing unrar test on windows (I hope) --- src/calibre/utils/unrar.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/calibre/utils/unrar.py b/src/calibre/utils/unrar.py index d17219e09d..2fd0af3886 100644 --- a/src/calibre/utils/unrar.py +++ b/src/calibre/utils/unrar.py @@ -11,7 +11,7 @@ import shutil import re from io import BytesIO -from calibre.constants import filesystem_encoding +from calibre.constants import filesystem_encoding, iswindows from calibre.ptempfile import PersistentTemporaryFile, TemporaryDirectory @@ -71,9 +71,13 @@ def comment(path_or_stream): def extract_member( path_or_stream, match=re.compile(r'\.(jpg|jpeg|gif|png)\s*$', re.I), name=None): from unrardll import extract_member + if iswindows and name is not None: + name = name.replace(os.sep, '/') def is_match(header): fname = header['filename'] + if iswindows: + fname = fname.replace(os.sep, '/') return (name is not None and fname == name) or \ (match is not None and match.search(fname) is not None)