From 880d360e0de66bf617978920a3f0c66f23490cf1 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 27 Aug 2012 17:46:27 +0530 Subject: [PATCH] Fix regression that broke DnD of files having a # character in their names to the book details panel --- src/calibre/gui2/dnd.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/dnd.py b/src/calibre/gui2/dnd.py index c474fed537..5aa2cabf8d 100644 --- a/src/calibre/gui2/dnd.py +++ b/src/calibre/gui2/dnd.py @@ -130,6 +130,10 @@ def data_as_string(f, md): pass return raw +def path_from_qurl(qurl): + raw = bytes(bytearray(qurl.encodedPath())) + return urllib.unquote(raw).decode('utf-8') + def dnd_has_extension(md, extensions): if DEBUG: prints('Debugging DND event') @@ -143,7 +147,7 @@ def dnd_has_extension(md, extensions): if md.hasUrls(): urls = [unicode(u.toString()) for u in md.urls()] - paths = [urlparse(u).path for u in urls] + paths = [path_from_qurl(u) for u in md.urls()] exts = frozenset([posixpath.splitext(u)[1][1:].lower() for u in paths if u]) if DEBUG: