fix(interface): 界面兼容性改进
This commit is contained in:
@@ -3,3 +3,7 @@ schedule = ["quick_review", "recognition", "final_review"]
|
||||
quick_review = [["FillBlank", "1.0"], ["SelectMeaning", "0.5"], ["Recognition", "1.0"]]
|
||||
recognition = [["Recognition", "1.0"]]
|
||||
final_review = [["FillBlank", "0.7"], ["SelectMeaning", "0.7"], ["Recognition", "1.0"]]
|
||||
[annotation]
|
||||
"quick_review" = "复习旧知"
|
||||
"recognition" = "新知识"
|
||||
"final_review" = "总复习"
|
||||
@@ -79,7 +79,9 @@ class MemScreen(Screen):
|
||||
# logger.debug(shim.puzzle2widget[puzzle_debug["puzzle"]])
|
||||
|
||||
def _get_progress_text(self):
|
||||
return f"当前进度: {self.procession.process() + 1}/{self.procession.total_length()}"
|
||||
s = f"阶段: {self.procession.phase.name}\n"
|
||||
s += f"当前进度: {self.procession.process() + 1}/{self.procession.total_length()}"
|
||||
return s
|
||||
|
||||
def update_display(self):
|
||||
"""更新进度显示"""
|
||||
@@ -142,7 +144,7 @@ class MemScreen(Screen):
|
||||
ret = self.procession.forward(1)
|
||||
if ret == 0: # 若结束了此次队列
|
||||
self.update_state()
|
||||
if self.procession == 0: # 若所有队列都结束了
|
||||
if self.procession.phase == PhaserState.FINISHED: # 若所有队列都结束了
|
||||
logger.debug(f"记忆进程结束")
|
||||
self.mount_finished_widget()
|
||||
return
|
||||
|
||||
@@ -53,7 +53,7 @@ class ClozePuzzle(BasePuzzleWidget):
|
||||
self.hashmap = dict()
|
||||
|
||||
def _load(self):
|
||||
setting = self.atom.registry["orbital"]["puzzles"][self.alia]
|
||||
setting = self.atom.registry["nucleon"]["puzzles"][self.alia]
|
||||
self.puzzle = pz.ClozePuzzle(
|
||||
text=setting["text"],
|
||||
delimiter=setting["delimiter"],
|
||||
|
||||
@@ -61,11 +61,7 @@ class MCQPuzzle(BasePuzzleWidget):
|
||||
self.puzzle.refresh()
|
||||
|
||||
def compose(self):
|
||||
setting: Setting = self.atom.registry["nucleon"].metadata["orbital"]["puzzles"][
|
||||
self.alia
|
||||
]
|
||||
logger.debug(f"Puzzle Setting: {setting}")
|
||||
logger.debug(f"WIRED INDEX: {len(self.inputlist)}")
|
||||
setting: Setting = self.atom.registry["nucleon"]["puzzles"][self.alia]
|
||||
if len(self.inputlist) > len(self.puzzle.options):
|
||||
logger.debug("ERR IDX")
|
||||
logger.debug(self.inputlist)
|
||||
|
||||
41
src/heurams/kernel/particles/placeholders.py
Normal file
41
src/heurams/kernel/particles/placeholders.py
Normal file
@@ -0,0 +1,41 @@
|
||||
from heurams.kernel.particles import orbital
|
||||
from .electron import Electron
|
||||
from .nucleon import Nucleon
|
||||
from .atom import Atom
|
||||
|
||||
orbital_placeholder = {
|
||||
"schedule": ["quick_review", "recognition", "final_review"],
|
||||
"phases": {
|
||||
"quick_review": [
|
||||
["FillBlank", 1.0],
|
||||
["SelectMeaning", 0.5],
|
||||
["Recognition", 1.0],
|
||||
],
|
||||
"recognition": [["Recognition", 1.0]],
|
||||
"final_review": [
|
||||
["FillBlank", 0.7],
|
||||
["SelectMeaning", 0.7],
|
||||
["Recognition", 1.0],
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
class NucleonPlaceholder(Nucleon):
|
||||
def __init__(self):
|
||||
super().__init__("__placeholder__", {}, {})
|
||||
|
||||
def __getitem__(self, key):
|
||||
return f"__placeholder__ attempted {key}"
|
||||
|
||||
|
||||
class ElectronPlaceholder(Electron):
|
||||
def __init__(self):
|
||||
super().__init__("__placeholder__", {"": {"": ""}}, "")
|
||||
|
||||
|
||||
class AtomPlaceholder(Atom):
|
||||
def __init__(self):
|
||||
super().__init__(
|
||||
NucleonPlaceholder(), ElectronPlaceholder(), orbital_placeholder
|
||||
)
|
||||
@@ -1,4 +1,5 @@
|
||||
import heurams.kernel.particles as pt
|
||||
from heurams.kernel.particles.placeholders import AtomPlaceholder
|
||||
from heurams.services.logger import get_logger
|
||||
from transitions import Machine
|
||||
|
||||
@@ -124,7 +125,7 @@ class Phaser(Machine):
|
||||
# 所有Procession都已完成
|
||||
self.to_finished()
|
||||
logger.debug("所有 Procession 已完成, 状态设置为 FINISHED")
|
||||
return None
|
||||
return Procession([AtomPlaceholder()], PhaserState.FINISHED)
|
||||
|
||||
def __repr__(self):
|
||||
from heurams.services.textproc import truncate
|
||||
|
||||
Reference in New Issue
Block a user