From ed1c6b9d4e0534dce545386011d7843ea4f742ab Mon Sep 17 00:00:00 2001 From: stephen Date: Fri, 28 Aug 2026 10:27:21 +1000 Subject: [PATCH] sort order added to deck --- anki_exporter.py | 9 ++++++++- database.py | 33 +++++++++++++++++++++++---------- spanish_trainer-26-06-21.db | Bin 0 -> 278528 bytes spanish_trainer-26-08-21.db | Bin 278528 -> 303104 bytes spanish_trainer.db | Bin 303104 -> 303104 bytes tabs/sandbox_tab.py | 35 ++++++++++++++++++++++++++++------- 6 files changed, 59 insertions(+), 18 deletions(-) create mode 100644 spanish_trainer-26-06-21.db diff --git a/anki_exporter.py b/anki_exporter.py index 96a13d7..1b2c3ef 100644 --- a/anki_exporter.py +++ b/anki_exporter.py @@ -23,6 +23,7 @@ def compile_anki_package(records, output_path, deck_name): Compiles database records into a bidirectional card payload package. Resolves voice models dynamically by gender selection parameters and applies global speed coefficient rates from the active configurations. + Injects sort_order as field 0 for structured card sequencing. """ # Generate deterministic positive 32-bit integers from deck name and model name # to avoid collisions across different decks while keeping imports stable @@ -40,6 +41,7 @@ def compile_anki_package(records, output_path, deck_name): model_id, 'Spanish Bidirectional Multi-Note HTML Model', fields=[ + {'name': 'SortOrder'}, # Field 0: Anki primary sort field {'name': 'EnglishText'}, {'name': 'SpanishText'}, {'name': 'AnkiNotes'}, @@ -85,6 +87,11 @@ def compile_anki_package(records, output_path, deck_name): es_raw = record["es_text"] gender_flag = record.get("gender", "Female") + # Read sort_order from database record (fallback to loop index if unset) + raw_order = record.get("sort_order") + order_val = int(raw_order) if raw_order is not None else (idx + 1) + sort_order_str = f"{order_val:04d}" # Zero-padded integer string for exact sorting + # Sanitize text payloads for TTS engine en_tts_text = parse_text_for_edgetts(en_raw) es_tts_text = parse_text_for_edgetts(es_raw) @@ -123,7 +130,7 @@ def compile_anki_package(records, output_path, deck_name): # Clean sequential matching fields array matching schema mapping above note = genanki.Note( model=anki_model, - fields=[en_raw, es_raw, anki_notes_html, en_audio_field, es_audio_field], + fields=[sort_order_str, en_raw, es_raw, anki_notes_html, en_audio_field, es_audio_field], tags=note_tags ) deck.add_note(note) diff --git a/database.py b/database.py index aabba1a..532dcfe 100644 --- a/database.py +++ b/database.py @@ -69,7 +69,7 @@ def get_connection(): def ensure_database_populated(): - """Initializes tables if running against a new or empty database file.""" + """Initializes tables and migrates schemas if running against a new or existing database file.""" conn = get_connection() cursor = conn.cursor() try: @@ -83,10 +83,17 @@ def ensure_database_populated(): tags TEXT, notes TEXT, anki_notes TEXT DEFAULT '', - gender TEXT DEFAULT 'Female' + gender TEXT DEFAULT 'Female', + sort_order INTEGER DEFAULT 0 ); """) + # Safely migrate existing databases that do not yet have the sort_order column + cursor.execute("PRAGMA table_info(translations);") + columns = [row["name"] for row in cursor.fetchall()] + if "sort_order" not in columns: + cursor.execute("ALTER TABLE translations ADD COLUMN sort_order INTEGER DEFAULT 0;") + # 2. Key-value configuration table cursor.execute(""" CREATE TABLE IF NOT EXISTS settings ( @@ -141,7 +148,7 @@ def save_setting_to_db(key, value): def get_all_translations_explicit(): - """Retrieves all records using explicit, table-qualified column declarations.""" + """Retrieves all records using explicit, table-qualified column declarations sorted by sort_order.""" conn = get_connection() cursor = conn.cursor() try: @@ -154,9 +161,10 @@ def get_all_translations_explicit(): translations.tags, translations.notes, translations.anki_notes, - translations.gender + translations.gender, + translations.sort_order FROM translations - ORDER BY translations.translation_id ASC; + ORDER BY translations.sort_order ASC, translations.translation_id ASC; """) return [dict(row) for row in cursor.fetchall()] finally: @@ -178,7 +186,8 @@ def get_translation_by_id(translation_id): translations.tags, translations.notes, translations.anki_notes, - translations.gender + translations.gender, + translations.sort_order FROM translations WHERE translations.translation_id = ?; """, @@ -199,6 +208,7 @@ def update_translation_record( notes, gender, anki_notes, + sort_order=0, ): """Saves interface edits directly back into the table using named arguments.""" conn = get_connection() @@ -214,7 +224,8 @@ def update_translation_record( tags = :tags, notes = :notes, gender = :gender, - anki_notes = :anki + anki_notes = :anki, + sort_order = :sort_order WHERE translation_id = :id; """, { @@ -226,6 +237,7 @@ def update_translation_record( "notes": notes, "gender": gender, "anki": anki_notes, + "sort_order": sort_order, }, ) conn.commit() @@ -251,7 +263,7 @@ def delete_translation_record(translation_id): def insert_translation_record( - es_text, en_text, source_context, tags, notes, gender, anki_notes + es_text, en_text, source_context, tags, notes, gender, anki_notes, sort_order=0 ): """Inserts a new record using named arguments.""" conn = get_connection() @@ -259,8 +271,8 @@ def insert_translation_record( try: cursor.execute( """ - INSERT INTO translations (es_text, en_text, source_context, tags, notes, gender, anki_notes) - VALUES (:es, :en, :ctx, :tags, :notes, :gender, :anki); + INSERT INTO translations (es_text, en_text, source_context, tags, notes, gender, anki_notes, sort_order) + VALUES (:es, :en, :ctx, :tags, :notes, :gender, :anki, :sort_order); """, { "en": en_text, @@ -270,6 +282,7 @@ def insert_translation_record( "notes": notes, "anki": anki_notes, "gender": gender, + "sort_order": sort_order, }, ) conn.commit() diff --git a/spanish_trainer-26-06-21.db b/spanish_trainer-26-06-21.db new file mode 100644 index 0000000000000000000000000000000000000000..1fc45316a0bf6c7280fc029cac9410c8e370756a GIT binary patch literal 278528 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 literal 0 HcmV?d00001 diff --git a/spanish_trainer-26-08-21.db b/spanish_trainer-26-08-21.db index 1fc45316a0bf6c7280fc029cac9410c8e370756a..d7990c485e08189e2045cf7951a1369ff79e07da 100644 GIT binary patch delta 21851 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 delta 1174 zcmYLJeN0t#82){pbI-l!oZr3jB?590?oDLH$GwOe<6{~sDrN)4IfCou3bzYLLfU{W zu2(N6-9!$0%tCE7wq_3LB)?c##+>B`&RK3{Ww>mWWvjL})4q=LkN$Z7dAH};^Ssad zzP)E=_4Yaj<_NF@0I+PovjoA8v4%I9r9_RH9k5K3?L9Ibrn~3{`Z#q_n=xd+rf9;` zSw?K`vkrv$U|s^W8xH41Rl8X-H!(iW*A@!acRaVbzR}r$^D|SraDK98FO4TFs@JU6 z9xeS$F^NUC0kH2`8;crhSw0(Nv$YLtbCVKrKKvga@Q3Q#e64{lV|eXVI}94_4ewA` zscrABkn+NU1ae#n4sGj}EaTvo_H5X%i38JbPF}YVj-3OLqDhQQ=RUh zHFOb8gJk#*bkY-9eR$90E zn}aRB%|3sq-K?6t`oi+Y{E9%UuO(o}`aR3)5P;M0IP8N#xDtAx8zzJMUT-2~^1E_XF_c%7ZAz{D5&MFjGHvf*wQMPKGn;rpy`x@M-&GI6+xyFt4fOhYnT6vb zrB>i_B{{-1$x1-~+mBOVxn8A^OuhdYwrOXNl^C@rPM{R23a}YA!H%*HR>rcKpnj;n zp+?k3C1N;FR$BCD=EGY?)x=4R02n+SA>q2nMx*a^*SvHyjRX(_>>~3qxB91gMIBKa z)iQ<3-^e3!ljfYs8e}Vt*vxesDc-$8G(ta@ErVnF+j+1DzQnWh;cldC5445Bt`;lE z$VhVN?|ERl4u|l9KH`O(co8ZVrhugmOliNV<2>*@dR3J7rSI;sfW?Ig%5c4YqXZ@D zU$vvzoUB7Zal97^4MHcNhd`$ZX-?bgj8Y3oOHWXS;#z#pj$liRud_Me^f&v0+j#r0 zNTmGGcc`t>J_)2xq?e_IXp-C}n~}|2%|D=SE5L4jWi{^SlLh7siD|lD|I&j!dPX5m z)yoUI$nz_Fe#7Dk$B}M%t?w#Zh_N)zC}L3zu?2@CYlGQnHPTw zubKwOpg!%xHGIuFybC@c-;^qu2nihlEXb|B_#PZ&hxw76_@Ye0anW4fx(^@7gBNss z2InHl!@XzlzZT*R*NJ-3d3+FFEZPxp8r@x6pLCN=;(a#9UdOke~;>0-2eap diff --git a/spanish_trainer.db b/spanish_trainer.db index d7990c485e08189e2045cf7951a1369ff79e07da..6a215d39751ff6dd2b90e492a4d51064c0912d80 100644 GIT binary patch delta 117 zcmZoTAk=U`Xo9q0F#`jG7ZAe$>qH%6{$d8b-XFYtZ44|tDGWR*8}q(#b2XJRvWu&# zGPde&?&0xgl+#ft&Mzv7&o4?zEmH9G3vqRK4N`D%b#n~$2~jX;zRlZyo0k!YnShvi K`)ytp)ky%1VIU0v delta 89 zcmZoTAk=U`Xo9q05d#B*7ZAe$%S0Vx{vrmwx=3EWHU<`+CI+6Sjd|a=C-KX1HH9;> ii>sSpanish Translation:"), spanish_widget) form_layout.addRow(QLabel("Source Context:"), self.txt_context) form_layout.addRow(QLabel("Tags:"), self.txt_tags) + form_layout.addRow(QLabel("Sort Order:"), self.spn_sort_order) form_layout.addRow(QLabel("Extended Data Fields:"), editor_buttons_layout) main_layout.addWidget(form_container) @@ -189,8 +197,8 @@ class SandboxTab(QWidget): # --- VIEWPORT GRID TABLE --- self.table = QTableWidget() - self.table.setColumnCount(6) - self.table.setHorizontalHeaderLabels(["ID", "English", "Spanish", "Context", "Tags", "Gender"]) + self.table.setColumnCount(7) + self.table.setHorizontalHeaderLabels(["ID", "English", "Spanish", "Context", "Tags", "Sort Order", "Gender"]) self.table.setSelectionBehavior(QTableWidget.SelectionBehavior.SelectRows) self.table.setEditTriggers(QTableWidget.EditTrigger.NoEditTriggers) self.table.cellClicked.connect(self.populate_form_from_grid) @@ -199,6 +207,7 @@ class SandboxTab(QWidget): header.setSectionResizeMode(0, QHeaderView.ResizeMode.ResizeToContents) header.setSectionResizeMode(1, QHeaderView.ResizeMode.Stretch) header.setSectionResizeMode(2, QHeaderView.ResizeMode.Stretch) + header.setSectionResizeMode(5, QHeaderView.ResizeMode.ResizeToContents) main_layout.addWidget(self.table) self.reload_table_display() @@ -238,6 +247,7 @@ class SandboxTab(QWidget): self.txt_spanish.clear() self.txt_context.clear() self.txt_tags.clear() + self.spn_sort_order.setValue(0) self.current_notes_content = "" self.current_anki_notes_content = "" self.rb_female.setChecked(True) @@ -255,6 +265,7 @@ class SandboxTab(QWidget): es_t = self.txt_spanish.text().strip() ctx_t = self.txt_context.text().strip() tag_t = self.txt_tags.text().strip() + sort_val = self.spn_sort_order.value() gender_t = "Male" if self.rb_male.isChecked() else "Female" if not en_t or not es_t: @@ -262,9 +273,17 @@ class SandboxTab(QWidget): return if self.selected_translation_id is None: - database.insert_translation_record(es_t, en_t, ctx_t, tag_t, self.current_notes_content, gender_t, self.current_anki_notes_content) + database.insert_translation_record( + es_t, en_t, ctx_t, tag_t, + self.current_notes_content, gender_t, + self.current_anki_notes_content, sort_val + ) else: - database.update_translation_record(self.selected_translation_id, es_t, en_t, ctx_t, tag_t, self.current_notes_content, gender_t, self.current_anki_notes_content) + database.update_translation_record( + self.selected_translation_id, es_t, en_t, ctx_t, tag_t, + self.current_notes_content, gender_t, + self.current_anki_notes_content, sort_val + ) self.clear_form_fields() self.reload_table_display() @@ -303,6 +322,7 @@ class SandboxTab(QWidget): self.txt_spanish.setText(record["es_text"]) self.txt_context.setText(record.get("source_context", "")) self.txt_tags.setText(record.get("tags", "")) + self.spn_sort_order.setValue(record.get("sort_order", 0)) self.current_notes_content = record.get("notes", "") self.current_anki_notes_content = record.get("anki_notes", "") @@ -343,7 +363,8 @@ class SandboxTab(QWidget): self.table.setItem(visible_row_idx, 2, QTableWidgetItem(r["es_text"])) self.table.setItem(visible_row_idx, 3, QTableWidgetItem(r.get("source_context", ""))) self.table.setItem(visible_row_idx, 4, QTableWidgetItem(r.get("tags", ""))) - self.table.setItem(visible_row_idx, 5, QTableWidgetItem(r.get("gender", "Female"))) + self.table.setItem(visible_row_idx, 5, QTableWidgetItem(str(r.get("sort_order", 0)))) + self.table.setItem(visible_row_idx, 6, QTableWidgetItem(r.get("gender", "Female"))) visible_row_idx += 1 def _async_edge_speech_worker(self, text, voice, rate_modifier):