Skip to content

Commit b43d065

Browse files
committed
Fix entry_dedupe bug causing the flag of the newest entry to be set to False, even if it was true before.
Found during to #140. Likely introduced in #254.
1 parent a66a302 commit b43d065

File tree

2 files changed

+25
-4
lines changed

2 files changed

+25
-4
lines changed

src/reader/plugins/entry_dedupe.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -348,12 +348,13 @@ def by_title(e):
348348

349349

350350
def _get_flag_args(entry, duplicates, name):
351-
flag = any(getattr(d, name) for d in duplicates)
351+
entries = duplicates + [entry]
352+
flag = any(getattr(d, name) for d in entries)
352353

353354
modified_name = f'{name}_modified'
354355
modifieds = (
355356
getattr(e, modified_name)
356-
for e in duplicates + [entry]
357+
for e in entries
357358
if getattr(e, name) == flag and getattr(e, modified_name)
358359
)
359360
modified = next(iter(sorted(modifieds)), None)

tests/test_plugins_entry_dedupe.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ def test_read_modified_copying(make_reader, db_path, data, expected, same_last_u
409409
(9, False, None),
410410
],
411411
),
412-
# important, no modified
412+
# old important, no modified
413413
(
414414
[
415415
(1, True, None),
@@ -419,6 +419,16 @@ def test_read_modified_copying(make_reader, db_path, data, expected, same_last_u
419419
(9, True, None),
420420
],
421421
),
422+
# new important, no modified
423+
(
424+
[
425+
(1, False, None),
426+
(9, True, None),
427+
],
428+
[
429+
(9, True, None),
430+
],
431+
),
422432
# none important, modified
423433
(
424434
[
@@ -449,7 +459,7 @@ def test_read_modified_copying(make_reader, db_path, data, expected, same_last_u
449459
(9, False, datetime(2010, 1, 1)),
450460
],
451461
),
452-
# important, modified
462+
# old important, modified
453463
(
454464
[
455465
(1, True, datetime(2010, 1, 1)),
@@ -459,6 +469,16 @@ def test_read_modified_copying(make_reader, db_path, data, expected, same_last_u
459469
(9, True, datetime(2010, 1, 1)),
460470
],
461471
),
472+
# new important, old modified
473+
(
474+
[
475+
(1, False, datetime(2010, 1, 1)),
476+
(9, True, None),
477+
],
478+
[
479+
(9, True, None),
480+
],
481+
),
462482
]
463483

464484

0 commit comments

Comments
 (0)