From a90a6ab3cde92d2f407697307b14cca6f1ff92c3 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Wed, 17 Mar 2021 22:22:58 +1000 Subject: [PATCH] normalize first field before comparing with local DB https://forums.ankiweb.net/t/python-checksum-rust-checksum/8195/8 --- pylib/anki/importing/noteimp.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pylib/anki/importing/noteimp.py b/pylib/anki/importing/noteimp.py index 8865c2674..d73c62713 100644 --- a/pylib/anki/importing/noteimp.py +++ b/pylib/anki/importing/noteimp.py @@ -2,6 +2,7 @@ # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html import html +import unicodedata from typing import Dict, List, Optional, Tuple, Union from anki.collection import Collection @@ -147,14 +148,14 @@ class NoteImporter(Importer): n.fields[c] = n.fields[c].strip() if not self.allowHTML: n.fields[c] = n.fields[c].replace("\n", "
") - fld0 = n.fields[fld0idx] - csum = fieldChecksum(fld0) + fld0 = unicodedata.normalize("NFC", n.fields[fld0idx]) # first field must exist if not fld0: self.log.append( self.col.tr(TR.IMPORTING_EMPTY_FIRST_FIELD, val=" ".join(n.fields)) ) continue + csum = fieldChecksum(fld0) # earlier in import? if fld0 in firsts and self.importMode != ADD_MODE: # duplicates in source file; log and ignore