diff --git a/src/card_types.py b/src/card_types.py index 2d3593f..d294957 100644 --- a/src/card_types.py +++ b/src/card_types.py @@ -1,5 +1,6 @@ from base64 import b64decode from dataclasses import dataclass, field +import re from typing import Optional import requests @@ -26,7 +27,9 @@ class ImageAsset: @dataclass class CardFields: targetWord: str = "" + targetWordNoSyntax: str = "" sentence: str = "" + sentenceNoSyntax: str = "" translation: str = "" definitions: str = "" sentenceAudio: str = "" @@ -63,6 +66,7 @@ def process_audio_asset(audio: AudioAsset): return f"[sound:{name}]" +REMOVE_RE = re.compile(r"( +|\[(?!sound:).*?\])(?![^{]*})") def card_fields_from_dict(data): br = "\n
\n" @@ -86,9 +90,17 @@ def card_fields_from_dict(data): restImages = br.join(images[1:]) imagess = br.join(images) + targetWord = data.get("targetWord", "") + targetWordNoSyntax = REMOVE_RE.sub("", targetWord) + + sentence = data.get("sentence", "") + sentenceNoSyntax = REMOVE_RE.sub("", sentence) + return CardFields( - targetWord=data.get("targetWord", ""), - sentence=data.get("sentence", ""), + targetWord=targetWord, + targetWordNoSyntax=targetWordNoSyntax, + sentence=sentence, + sentenceNoSyntax=sentenceNoSyntax, translation=data.get("translation", ""), definitions=data.get("definitions", ""), sentenceAudio=sentenceAudios, diff --git a/src/editor/editor.js b/src/editor/editor.js index 4aea68a..6c473e9 100644 --- a/src/editor/editor.js +++ b/src/editor/editor.js @@ -31,7 +31,9 @@ MigakuEditor.hideButtons = function () { const selectorOptions = [ { value: 'none', text: '(None)' }, { value: 'sentence', text: 'Sentence' }, - { value: 'targetWord', text: 'Word' }, + { value: 'sentenceNoSyntax', text: 'Sentence (no syntax)' }, + { value: 'targetWord', text: 'Target Word' }, + { value: 'targetWordNoSyntax', text: 'Target Word (no syntax)' }, { value: 'translation', text: 'Sentence Translation' }, { value: 'sentenceAudio', text: 'Sentence Audio' }, { value: 'wordAudio', text: 'Word Audio' }, diff --git a/src/migaku_connection/card_receiver.py b/src/migaku_connection/card_receiver.py index e27362c..6f7338c 100644 --- a/src/migaku_connection/card_receiver.py +++ b/src/migaku_connection/card_receiver.py @@ -7,7 +7,6 @@ from ..card_types import CardFields, card_fields_from_dict from ..editor.current_editor import ( add_cards_add_to_history, - get_add_cards, get_add_cards_info, map_to_add_cards, )