From 11e4edf56de20b2f7b528215a2b55eae4173b636 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 11 Mar 2024 08:52:30 +0530 Subject: [PATCH 1/2] E-book viewer: Fix a few settings such as pages per screen and header/footers not being saved in profiles --- src/pyj/session.pyj | 4 +++- src/pyj/test_utils.pyj | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/pyj/session.pyj b/src/pyj/session.pyj index e7f19e4c16..05a70d35d6 100644 --- a/src/pyj/session.pyj +++ b/src/pyj/session.pyj @@ -217,7 +217,7 @@ def deep_eq(a, b): if ka.length is not Object.keys(b).length: return False for key in ka: - if not deep_eq(a[ka], b[ka]): + if not deep_eq(a[key], b[key]): return False return True @@ -283,6 +283,8 @@ def settings_for_reader_profile(sd): if curval[key] is standalone_reader_defaults[key]: v'delete curval[key]' + if setting_name is 'columns_per_screen': + print(1111111, is_set, metadata.category, metadata.disallowed_in_profile, curval, metadata.default, deep_eq(curval, metadata.default)) if not is_set or metadata.category is not 'read_book' or metadata.disallowed_in_profile or deep_eq(curval, metadata.default): return False return True diff --git a/src/pyj/test_utils.pyj b/src/pyj/test_utils.pyj index da2c6bbe1b..593bd13a8a 100644 --- a/src/pyj/test_utils.pyj +++ b/src/pyj/test_utils.pyj @@ -4,6 +4,7 @@ from __python__ import bound_methods, hash_literals from testing import assert_equal, test from utils import fmt_sidx, human_readable, rating_to_stars +from session import deep_eq @test @@ -12,3 +13,4 @@ def misc_utils(): assert_equal(fmt_sidx(10), 'X') assert_equal(fmt_sidx(1.2), '1.20') assert_equal(list(map(human_readable, [1, 1024.0, 1025, 1024*1024*2.3])), ["1 B", "1 KB", "1 KB", "2.3 MB"]) + assert_equal(False, deep_eq({"portrait":0, "landscape":0}, {"landscape":3, "portrait":0})) From 9b481c42d8e791abc2f3b1457340f5bfecb1f25e Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 11 Mar 2024 08:53:43 +0530 Subject: [PATCH 2/2] Remove leftover debugging print --- src/pyj/session.pyj | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/pyj/session.pyj b/src/pyj/session.pyj index 05a70d35d6..1265e961db 100644 --- a/src/pyj/session.pyj +++ b/src/pyj/session.pyj @@ -283,8 +283,6 @@ def settings_for_reader_profile(sd): if curval[key] is standalone_reader_defaults[key]: v'delete curval[key]' - if setting_name is 'columns_per_screen': - print(1111111, is_set, metadata.category, metadata.disallowed_in_profile, curval, metadata.default, deep_eq(curval, metadata.default)) if not is_set or metadata.category is not 'read_book' or metadata.disallowed_in_profile or deep_eq(curval, metadata.default): return False return True