From 46e6a84c524ecf557917e74026ca98a8cc144272 Mon Sep 17 00:00:00 2001 From: stephen Date: Thu, 2 Jul 2026 09:46:20 +1000 Subject: [PATCH] removed Notes,source_context from the Anki cards --- anki_exporter.py | 23 ++++++----------------- spanish_trainer.db | Bin 217088 -> 229376 bytes 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/anki_exporter.py b/anki_exporter.py index 20a2650..57a5df7 100644 --- a/anki_exporter.py +++ b/anki_exporter.py @@ -23,9 +23,9 @@ def compile_anki_package(records, output_path, deck_name): Resolves voice models dynamically by gender selection parameters and applies global speed coefficient rates from the active configurations. """ - # Bumping IDs to completely clear any remaining local cache - model_id = 1684329050 - deck_id = 1684329050 + # Incremented IDs to force a fresh schema mapping without legacy 'Notes' fields + model_id = 1684329060 + deck_id = 1684329060 # Global Configuration Pace Resolver Mapping settings = database.load_all_settings() or {} @@ -44,7 +44,6 @@ def compile_anki_package(records, output_path, deck_name): fields=[ {'name': 'EnglishText'}, {'name': 'SpanishText'}, - {'name': 'Notes'}, {'name': 'AnkiNotes'}, {'name': 'EnglishAudio'}, {'name': 'SpanishAudio'} @@ -57,7 +56,6 @@ def compile_anki_package(records, output_path, deck_name): '
{{EnglishAudio}}
', 'afmt': '{{FrontSide}}
' '
{{SpanishText}}

' - '
{{Notes}}
' '{{#AnkiNotes}}
Anki Meta: {{{AnkiNotes}}}
{{/AnkiNotes}}
' '
{{SpanishAudio}}
', }, @@ -68,7 +66,6 @@ def compile_anki_package(records, output_path, deck_name): '
{{SpanishAudio}}
', 'afmt': '{{FrontSide}}
' '
{{EnglishText}}

' - '
{{Notes}}
' '{{#AnkiNotes}}
Anki Meta: {{{AnkiNotes}}}
{{/AnkiNotes}}
' '
{{EnglishAudio}}
', } @@ -97,16 +94,7 @@ def compile_anki_package(records, output_path, deck_name): raw_tags = record.get("tags") or "" note_tags = [t.strip().replace(" ", "_") for t in raw_tags.split(",") if t.strip()] - # Dynamic HTML Notes Mapping Builder - notes_html_parts = [] - if record.get('notes') and record['notes'].strip(): - notes_html_parts.append(f"
{record['notes'].strip()}
") - if record.get('source_context') and record['source_context'].strip(): - notes_html_parts.append(f"
Context: {record['source_context'].strip()}
") - - notes_html = "".join(notes_html_parts) - - # Safely isolate the raw text data string down to Anki + # Safely isolate the raw text/HTML data string down to Anki notes field anki_notes_html = record['anki_notes'].strip() if record.get('anki_notes') else "" # Standard Unique Media Filenames @@ -130,9 +118,10 @@ def compile_anki_package(records, output_path, deck_name): else: es_audio_field = "" + # Clean sequential matching fields array matching schema mapping above note = genanki.Note( model=anki_model, - fields=[en_text, es_text, notes_html, anki_notes_html, en_audio_field, es_audio_field], + fields=[en_text, es_text, anki_notes_html, en_audio_field, es_audio_field], tags=note_tags ) deck.add_note(note) diff --git a/spanish_trainer.db b/spanish_trainer.db index 7dc33ea38cca81112e923603ada8c40414d643cb..f2aef986fc2dde5f8cdf8e8687dbbfca4cab7d88 100644 GIT binary patch delta 11956 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