From e167ab338cb07ce702cb6b8564d8d31153539c36 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 13 Apr 2017 11:16:23 +0530 Subject: [PATCH] Fix a bunch of spurious changed conversion options in the log when converting from the GUI --- src/calibre/ebooks/conversion/plumber.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/conversion/plumber.py b/src/calibre/ebooks/conversion/plumber.py index d7fa46b2c4..e2ed6dd957 100644 --- a/src/calibre/ebooks/conversion/plumber.py +++ b/src/calibre/ebooks/conversion/plumber.py @@ -858,10 +858,20 @@ OptionRecommendation(name='search_replace', level is >= the baseline recommended level, the UI value is used, *except* if the baseline has a recommendation level of `HIGH`. ''' + + def eq(name, a, b): + if name in {'sr1_search', 'sr1_replace', 'sr2_search', 'sr2_replace', 'sr3_search', 'sr3_replace', 'filter_css'}: + if not a and not b: + return True + if name in {'transform_css_rules', 'search_replace'}: + if b == '[]': + b = None + return a == b + for name, val, level in recommendations: rec = self.get_option_by_name(name) if rec is not None and rec.level <= level and rec.level < rec.HIGH: - changed = rec.recommended_value != val + changed = not eq(name, rec.recommended_value, val) rec.recommended_value = val rec.level = level if changed: