diff --git a/pyproject.toml b/pyproject.toml index 46f7532..a577da7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "FSRS-Optimizer" -version = "4.27.5" +version = "4.27.6" readme = "README.md" dependencies = [ "matplotlib>=3.7.0", diff --git a/src/fsrs_optimizer/__main__.py b/src/fsrs_optimizer/__main__.py index a47b1cc..e23a683 100644 --- a/src/fsrs_optimizer/__main__.py +++ b/src/fsrs_optimizer/__main__.py @@ -60,7 +60,8 @@ def remembered_fallback_prompt(key: str, pretty: str = None): remembered_fallback_prompt("next_day", "used next day start hour") remembered_fallback_prompt( - "revlog_start_date", "the date at which before reviews will be ignored | YYYY-MM-DD" + "revlog_start_date", + "the date at which before reviews will be ignored | YYYY-MM-DD", ) remembered_fallback_prompt( "filter_out_suspended_cards", "filter out suspended cards? (y/n)" @@ -113,10 +114,14 @@ def remembered_fallback_prompt(key: str, pretty: str = None): plt.close(f) optimizer.predict_memory_states() - figures = optimizer.find_optimal_retention(verbose=save_graphs) - for i, f in enumerate(figures): - f.savefig(f"find_optimal_retention_{i}.png") - plt.close(f) + try: + figures = optimizer.find_optimal_retention(verbose=save_graphs) + for i, f in enumerate(figures): + f.savefig(f"find_optimal_retention_{i}.png") + plt.close(f) + except: + print("Failed to find optimal retention") + optimizer.optimal_retention = 0.9 optimizer.preview(optimizer.optimal_retention) diff --git a/src/fsrs_optimizer/fsrs_optimizer.py b/src/fsrs_optimizer/fsrs_optimizer.py index 97a37ec..cd77863 100644 --- a/src/fsrs_optimizer/fsrs_optimizer.py +++ b/src/fsrs_optimizer/fsrs_optimizer.py @@ -1185,10 +1185,8 @@ def find_optimal_retention( state_block = dict() state_count = dict() state_duration = dict() - try: - last_state = self.state_sequence[0] - except: - return () + + last_state = self.state_sequence[0] state_block[last_state] = 1 state_count[last_state] = 1 state_duration[last_state] = self.duration_sequence[0]