From b36c5e762497812e8f15bb127cd5935d8ae42369 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 4 Feb 2022 08:19:18 +0530 Subject: [PATCH] When reviewing metadata if the newly downloaded metadata has no language but there is an existing language, ensure it is preserved. Fixes #1959981 [book metadata download fails language attribute](https://bugs.launchpad.net/calibre/+bug/1959981) --- src/calibre/gui2/metadata/diff.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/calibre/gui2/metadata/diff.py b/src/calibre/gui2/metadata/diff.py index f368b992c9..2dfc7d5846 100644 --- a/src/calibre/gui2/metadata/diff.py +++ b/src/calibre/gui2/metadata/diff.py @@ -547,6 +547,13 @@ class CompareSingle(QWidget): if val != self.initial_vals[field]: widgets.new.to_mi(self.current_mi) changed = True + if changed and not self.current_mi.languages: + # this is needed because blank language setting + # causes current UI language to be set + widgets = self.widgets['languages'] + neww, oldw = widgets[:2] + if oldw.current_val: + self.current_mi.languages = oldw.current_val return changed