From 7e211b06f074f5c18c167270c314bcb84e9efc32 Mon Sep 17 00:00:00 2001 From: "Marshall T. Vandegrift" Date: Mon, 18 Aug 2008 12:56:04 -0400 Subject: [PATCH] Fix #966 (Problem converting LIT to LRF) --- src/calibre/ebooks/metadata/opf.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/calibre/ebooks/metadata/opf.py b/src/calibre/ebooks/metadata/opf.py index f5eb54bb6f..dcda78258a 100644 --- a/src/calibre/ebooks/metadata/opf.py +++ b/src/calibre/ebooks/metadata/opf.py @@ -1,10 +1,11 @@ -import cStringIO __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal ' -import uuid '''Read/Write metadata from Open Packaging Format (.opf) files.''' import sys, re, os, glob +import cStringIO +import uuid +from urllib import unquote, quote from calibre import __appname__ from calibre.ebooks.metadata import MetaInformation @@ -25,7 +26,10 @@ class ManifestItem(Resource): @staticmethod def from_opf_manifest_item(item, basedir): if item.has_key('href'): - res = ManifestItem(item['href'], basedir=basedir, is_path=False) + href = item['href'] + if unquote(href) == href: + href = quote(href) + res = ManifestItem(href, basedir=basedir, is_path=False) mt = item.get('media-type', '').strip() if mt: res.mime_type = mt