From 9c5faee800109f8e8aa2efe5e133421a37bec8da Mon Sep 17 00:00:00 2001 From: Eli Algranti Date: Sun, 29 Apr 2012 21:09:06 +1000 Subject: [PATCH] Fixed the order Search/Replace expressions are applied. S/R expressions where inserted at the start of the rules list in order so they where applied in reverse. Used a reverse iterator over the list of search/replace expressions so they are applied in the correct order. --- src/calibre/ebooks/conversion/preprocess.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/ebooks/conversion/preprocess.py b/src/calibre/ebooks/conversion/preprocess.py index 16acaad383..014a8dbe77 100644 --- a/src/calibre/ebooks/conversion/preprocess.py +++ b/src/calibre/ebooks/conversion/preprocess.py @@ -538,7 +538,7 @@ class HTMLPreProcessor(object): search_replace = getattr(self.extra_opts, 'search_replace', None) if search_replace: search_replace = json.loads(search_replace) - for search_pattern, replace_txt in search_replace: + for search_pattern, replace_txt in reversed(search_replace): do_search_replace(search_pattern, replace_txt) end_rules = []