From 1c6ec4c95944f54d0a74b4f08b6c571330d6d2ff Mon Sep 17 00:00:00 2001 From: popz73 Date: Mon, 23 Nov 2020 14:03:00 +0100 Subject: [PATCH 01/73] Mistake button color: WCAG AA compliant contrast --- katrain/gui.kv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/katrain/gui.kv b/katrain/gui.kv index 9e876d5..d1e6b45 100644 --- a/katrain/gui.kv +++ b/katrain/gui.kv @@ -236,7 +236,7 @@ on_press: root.katrain('redo',999) NavIconButton: icon: 'img/Next-Mistake.png' - color: [0.65,0.05,0.05,1] + color: [0.93,0.07,0.07,1] on_press: root.katrain('next-mistake') ClickableLabel: pos_hint: {'center_x': 0.85,'center_y':0.5} From f1350721a218db15b18cfd5041092fef3057dd2c Mon Sep 17 00:00:00 2001 From: Sander Land Date: Mon, 23 Nov 2020 16:00:57 +0100 Subject: [PATCH 02/73] config top move --- katrain/config.json | 5 ++-- katrain/core/constants.py | 14 ++++++++-- katrain/core/game_node.py | 8 +++++- katrain/core/utils.py | 11 ++++++++ katrain/gui/badukpan.py | 54 ++++++++++++++++++++++++++++++++------- katrain/gui/kivyutils.py | 14 ++++++++-- katrain/popups.kv | 35 +++++++++++++++++++------ setup.py | 3 ++- 8 files changed, 119 insertions(+), 25 deletions(-) diff --git a/katrain/config.json b/katrain/config.json index 1a85486..e643f7e 100644 --- a/katrain/config.json +++ b/katrain/config.json @@ -17,7 +17,7 @@ "anim_pv_time": 0.5, "debug_level": 0, "lang": "en", - "version": "1.6.0" + "version": "1.7.0" }, "timer": { "byo_length": 30, @@ -69,7 +69,8 @@ ], "low_visits": 25, "eval_off_show_last": 3, - "text_point_loss": true, + "top_moves_show": "delta_score", + "top_moves_show_secondary": "visits", "eval_show_ai": true, "lock_ai": false }, diff --git a/katrain/core/constants.py b/katrain/core/constants.py index b40cbd6..7b061eb 100644 --- a/katrain/core/constants.py +++ b/katrain/core/constants.py @@ -1,6 +1,6 @@ -VERSION = "1.6.0" +VERSION = "1.7.0" HOMEPAGE = "https://github.com/sanderland/katrain" -CONFIG_MIN_VERSION = "1.6.0" # keep config files from this version +CONFIG_MIN_VERSION = "1.7.0" # keep config files from this version OUTPUT_ERROR = -1 OUTPUT_KATAGO_STDERR = -0.5 @@ -220,3 +220,13 @@ AI_PICK_ELO_GRID = [ [514.0, 670.0, 870.0, 1128.0, 1305.0, 1550.0, 1700.0, 1700.0], ], ] + + +TOP_MOVE_DELTA_SCORE = "delta score" +TOP_MOVE_SCORE = "score" +TOP_MOVE_DELTA_WINRATE = "delta winrate" +TOP_MOVE_WINRATE = "winrate" +TOP_MOVE_VISITS = "visits" +TOP_MOVE_NOTHING = "" + +TOP_MOVE_OPTIONS = [TOP_MOVE_DELTA_SCORE, TOP_MOVE_SCORE, TOP_MOVE_DELTA_WINRATE, TOP_MOVE_WINRATE, TOP_MOVE_VISITS, TOP_MOVE_NOTHING] diff --git a/katrain/core/game_node.py b/katrain/core/game_node.py index de7bc60..ca6257a 100644 --- a/katrain/core/game_node.py +++ b/katrain/core/game_node.py @@ -276,6 +276,7 @@ class GameNode(SGFNode): { **self.analysis["root"], "pointsLost": 0, + "winrateLost": 0, "order": 0, "move": top_polmove.gtp(), "pv": [top_polmove.gtp()], @@ -283,10 +284,15 @@ class GameNode(SGFNode): ] # single visit -> go by policy/root root_score = self.analysis["root"]["scoreLead"] + root_winrate = self.analysis["root"]["winrate"] move_dicts = list(self.analysis["moves"].values()) # prevent incoming analysis from causing crash return sorted( [ - {"pointsLost": self.player_sign(self.next_player) * (root_score - d["scoreLead"]), **d} + { + "pointsLost": self.player_sign(self.next_player) * (root_score - d["scoreLead"]), + "winrateLost": self.player_sign(self.next_player) * (root_winrate - d["winrate"]), + **d, + } for d in move_dicts ], key=lambda d: (d["order"], d["pointsLost"]), diff --git a/katrain/core/utils.py b/katrain/core/utils.py index 368270e..f053127 100644 --- a/katrain/core/utils.py +++ b/katrain/core/utils.py @@ -53,3 +53,14 @@ def find_package_resource(path, silent_errors=False): return os.path.join(PATHS["PACKAGE"], path.replace("katrain\\", "katrain/").replace("katrain/", "")) else: return os.path.abspath(os.path.expanduser(path)) # absolute path + + +def format_visits(n): + if n < 1000: + return str(n) + if n < 1e6: + return f"{n/1000:.1f}k" + if n < 1e6: + return f"{n/1000:.0f}k" + return f"{n/1e6:.0f}k" + diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index 0c921f2..92fc40c 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -17,10 +17,22 @@ from kivymd.app import MDApp from kivymd.uix.boxlayout import MDBoxLayout from kivymd.uix.floatlayout import MDFloatLayout -from katrain.core.constants import MODE_PLAY, OUTPUT_DEBUG, STATUS_TEACHING, OUTPUT_EXTRA_DEBUG +from katrain.core.constants import ( + MODE_PLAY, + OUTPUT_DEBUG, + STATUS_TEACHING, + OUTPUT_EXTRA_DEBUG, + TOP_MOVE_OPTIONS, + TOP_MOVE_NOTHING, + TOP_MOVE_DELTA_SCORE, + TOP_MOVE_SCORE, + TOP_MOVE_WINRATE, + TOP_MOVE_DELTA_WINRATE, + TOP_MOVE_VISITS, +) from katrain.core.game import Move from katrain.core.lang import i18n -from katrain.core.utils import evaluation_class, var_to_grid +from katrain.core.utils import evaluation_class, var_to_grid, format_visits from katrain.gui.kivyutils import BackgroundMixin, draw_circle, draw_text from katrain.gui.popups import I18NPopup, ReAnalyzeGamePopup from katrain.gui.style import * @@ -446,6 +458,14 @@ class BadukPanWidget(Widget): top_move_coords = None if hint_moves: low_visits_threshold = katrain.config("trainer/low_visits", 25) + top_moves_show = [ + opt + for opt in [ + katrain.config("trainer/top_moves_show"), + katrain.config("trainer/top_moves_show_secondary"), + ] + if opt in TOP_MOVE_OPTIONS and opt != TOP_MOVE_NOTHING + ] for move_dict in hint_moves: move = Move.from_gtp(move_dict["move"]) if move.coords is not None: @@ -471,18 +491,34 @@ class BadukPanWidget(Widget): size=(2 * evalsize, 2 * evalsize), source="img/topmove.png", ) - if self.trainer_config["text_point_loss"] and text_on: - if -0.05 < move_dict["pointsLost"] < 0.05: - ptloss_text = "0.0" + if text_on and top_moves_show: + keys = {"size": self.grid_size / 3, "smallsize": self.grid_size / 3.5} + if len(top_moves_show) == 1: + fmt = "[size={size:.0f}]{" + top_moves_show[0] + "}[/size]" else: - ptloss_text = f"{-move_dict['pointsLost']:+.1f}" - sizefac = 1 + fmt = ( + "[size={size:.0f}]{" + + top_moves_show[0] + + "}[/size]\n[size={smallsize:.0f}]{" + + top_moves_show[1] + + "}[/size]" + ) + + + keys[TOP_MOVE_DELTA_SCORE] = ( + "0.0" if -0.05 < move_dict["pointsLost"] < 0.05 else f"{-move_dict['pointsLost']:+.1f}" + ) + keys[TOP_MOVE_SCORE] = move_dict["scoreLead"] + keys[TOP_MOVE_WINRATE] = f"{move_dict['winrate']*100:.1f}" + keys[TOP_MOVE_DELTA_WINRATE] = f"{-move_dict['winrateLost']:+.1%}" + keys[TOP_MOVE_VISITS] = format_visits(move_dict["visits"]) + print(fmt,keys) Color(*BLACK) draw_text( pos=(self.gridpos_x[move.coords[0]], self.gridpos_y[move.coords[1]]), - text=ptloss_text, - font_size=self.grid_size * sizefac / 2.5, + text=fmt.format(**keys), font_name="Roboto", + markup=True, line_height=0.8, halign='center' ) if engine_best_move: diff --git a/katrain/gui/kivyutils.py b/katrain/gui/kivyutils.py index 703ac55..35f641c 100644 --- a/katrain/gui/kivyutils.py +++ b/katrain/gui/kivyutils.py @@ -1,5 +1,7 @@ from kivy.clock import Clock from kivy.core.text import Label as CoreLabel +from kivy.core.text.markup import MarkupLabel as CoreMarkupLabel + from kivy.core.window import Window from kivy.graphics import * from kivy.properties import ( @@ -219,6 +221,13 @@ class KeyValueSpinner(Spinner): self.build_values() self.bind(size=self.update_dropdown_props, pos=self.update_dropdown_props, value_refs=self.build_values) + @property + def input_value(self): + try: + return self.value_refs[self.selected_index] + except: + return "" + @property def selected(self): try: @@ -601,8 +610,9 @@ class ScrollableLabel(ScrollView, BackgroundMixin): pass -def draw_text(pos, text, font_name=None, **kw): - label = CoreLabel(text=text, bold=True, font_name=font_name or i18n.font_name, **kw) # +def draw_text(pos, text, font_name=None, markup=False, **kw): + label_cls = CoreMarkupLabel if markup else CoreLabel + label = label_cls(text=text, bold=True, font_name=font_name or i18n.font_name, **kw) label.refresh() Rectangle( texture=label.texture, diff --git a/katrain/popups.kv b/katrain/popups.kv index 59fd232..1d14b7e 100644 --- a/katrain/popups.kv +++ b/katrain/popups.kv @@ -16,6 +16,8 @@ #:import LIGHTGREY katrain.gui.style.LIGHTGREY #:import TEXT_COLOR katrain.gui.style.TEXT_COLOR +#:import TOP_MOVE_OPTIONS katrain.core.constants.TOP_MOVE_OPTIONS + # MDTextField: # hint_text: "Helper text on focus" @@ -295,17 +297,34 @@ id: themes_spinner DescriptionLabel: font_size: DESC_FONT_SIZE * 0.8 - text: i18n._("show last n dots") - AnchorLayout: - LabelledIntInput: - size_hint_x: 0.15 - input_property: "trainer/eval_off_show_last" + text: i18n._("analysis:topmoves").replace('\n',' ') + BoxLayout: + orientation: 'horizontal' + LabelledSpinner: + id: top_moves_show + value_refs: TOP_MOVE_OPTIONS + input_property: "trainer/top_moves_show" + Label: + size_hint: 0.15, 1 + text: '&' + LabelledSpinner: + id: top_moves_show_secondary + value_refs: TOP_MOVE_OPTIONS + input_property: "trainer/top_moves_show_secondary" DescriptionLabel: font_size: DESC_FONT_SIZE * 0.8 text: i18n._("show point loss as text") - AnchorLayout: - LabelledCheckBox: - input_property: "trainer/text_point_loss" + BoxLayout: + Label: + text: '>' + size_hint: 0.1, 1 + AnchorLayout: + LabelledIntInput: + input_property: "trainer/low_visits" + Label: + size_hint: 0.1, 1 + text: i18n._('visits') + Label: DescriptionLabel: font_size: DESC_FONT_SIZE * 0.8 text: i18n._("show ai dots") diff --git a/setup.py b/setup.py index 2e114ee..9cdf005 100644 --- a/setup.py +++ b/setup.py @@ -57,10 +57,11 @@ setup( python_requires=">=3.6, <4", entry_points={"console_scripts": ["katrain=katrain.__main__:run_app"]}, classifiers=[ - "Development Status :: 4 - Beta", + "Development Status :: 5 - Production/Stable", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", + "Topic :: Games/Entertainment :: Board Games", ], packages=packages, package_data=package_data, From f0a239c55921552335a1117574f6c20e49cb5d77 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Mon, 23 Nov 2020 17:20:18 +0100 Subject: [PATCH 03/73] fix tysk --- katrain/gui.kv | 2 +- katrain/i18n/locales/de/LC_MESSAGES/katrain.po | 4 ++-- katrain/i18n/locales/en/LC_MESSAGES/katrain.po | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/katrain/gui.kv b/katrain/gui.kv index d1e6b45..0ff2a34 100644 --- a/katrain/gui.kv +++ b/katrain/gui.kv @@ -236,7 +236,7 @@ on_press: root.katrain('redo',999) NavIconButton: icon: 'img/Next-Mistake.png' - color: [0.93,0.07,0.07,1] + color: [0.79,0.06,0.06,1] on_press: root.katrain('next-mistake') ClickableLabel: pos_hint: {'center_x': 0.85,'center_y':0.5} diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po index 376b311..470375b 100644 --- a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po @@ -284,12 +284,12 @@ msgid "aga" msgstr "AGA" msgid "clear cache" -msgstr "Cache Leeren" +msgstr "Cache leeren" #. clear cache help msgid "avoids replaying" msgstr "" -"Vermeidet Identische\n" +"Vermeidet, identische\n" "Partien zu spielen" #. hints on new game diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po index 72393d1..f743512 100644 --- a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po @@ -354,7 +354,7 @@ msgid "aga" msgstr "AGA" msgid "clear cache" -msgstr "Clear Cache" +msgstr "Clear cache" #. clear cache help msgid "avoids replaying" From 32acd7f067adceb688f2387763638d6055b61f03 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Tue, 24 Nov 2020 23:01:42 +0100 Subject: [PATCH 04/73] player names --- katrain/__main__.py | 3 ++- katrain/core/constants.py | 9 ++++++++- katrain/core/game.py | 6 +++++- katrain/core/utils.py | 1 - katrain/gui/badukpan.py | 6 +++--- katrain/gui/popups.py | 11 +++++++++-- katrain/popups.kv | 17 +++++++++++++++-- 7 files changed, 42 insertions(+), 11 deletions(-) diff --git a/katrain/__main__.py b/katrain/__main__.py index e98a94a..01c4bc7 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -216,6 +216,8 @@ class KaTrainGui(Screen, KaTrainBase): def update_player(self, bw, **kwargs): super().update_player(bw, **kwargs) + if self.game: + self.players_info[bw].name = self.game.root.get_property("P" + bw) if self.controls: self.controls.update_players() self.update_state() @@ -265,7 +267,6 @@ class KaTrainGui(Screen, KaTrainBase): player_info.player_subtype = PLAYING_NORMAL player_info.sgf_rank = move_tree.root.get_property(bw + "R") player_info.calculated_rank = None - player_info.name = move_tree.root.get_property("P" + bw) self.update_player(bw) self.controls.graph.initialize_from_game(self.game.root) # self.controls.rank_graph.initialize_from_game(self.game.root) diff --git a/katrain/core/constants.py b/katrain/core/constants.py index 7b061eb..c201e00 100644 --- a/katrain/core/constants.py +++ b/katrain/core/constants.py @@ -229,4 +229,11 @@ TOP_MOVE_WINRATE = "winrate" TOP_MOVE_VISITS = "visits" TOP_MOVE_NOTHING = "" -TOP_MOVE_OPTIONS = [TOP_MOVE_DELTA_SCORE, TOP_MOVE_SCORE, TOP_MOVE_DELTA_WINRATE, TOP_MOVE_WINRATE, TOP_MOVE_VISITS, TOP_MOVE_NOTHING] +TOP_MOVE_OPTIONS = [ + TOP_MOVE_DELTA_SCORE, + TOP_MOVE_SCORE, + TOP_MOVE_DELTA_WINRATE, + TOP_MOVE_WINRATE, + TOP_MOVE_VISITS, + TOP_MOVE_NOTHING, +] diff --git a/katrain/core/game.py b/katrain/core/game.py index 71f72f5..5028422 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -15,6 +15,7 @@ from katrain.core.constants import ( STATUS_ANALYSIS, STATUS_INFO, STATUS_TEACHING, + PLAYER_HUMAN, ) from katrain.core.engine import KataGoEngine from katrain.core.game_node import GameNode @@ -296,7 +297,10 @@ class Game: eval_thresholds = trainer_config["eval_thresholds"] def player_name(player_info): - return f"{i18n._(player_info.player_type)} ({i18n._(player_info.player_subtype)})" + if player_info.name and player_info.player_type == PLAYER_HUMAN: + return player_info.name + else: + return f"{i18n._(player_info.player_type)} ({i18n._(player_info.player_subtype)})" root_properties = self.root.properties x_properties = {} diff --git a/katrain/core/utils.py b/katrain/core/utils.py index f053127..4adf592 100644 --- a/katrain/core/utils.py +++ b/katrain/core/utils.py @@ -63,4 +63,3 @@ def format_visits(n): if n < 1e6: return f"{n/1000:.0f}k" return f"{n/1e6:.0f}k" - diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index 92fc40c..592fa7c 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -504,7 +504,6 @@ class BadukPanWidget(Widget): + "}[/size]" ) - keys[TOP_MOVE_DELTA_SCORE] = ( "0.0" if -0.05 < move_dict["pointsLost"] < 0.05 else f"{-move_dict['pointsLost']:+.1f}" ) @@ -512,13 +511,14 @@ class BadukPanWidget(Widget): keys[TOP_MOVE_WINRATE] = f"{move_dict['winrate']*100:.1f}" keys[TOP_MOVE_DELTA_WINRATE] = f"{-move_dict['winrateLost']:+.1%}" keys[TOP_MOVE_VISITS] = format_visits(move_dict["visits"]) - print(fmt,keys) Color(*BLACK) draw_text( pos=(self.gridpos_x[move.coords[0]], self.gridpos_y[move.coords[1]]), text=fmt.format(**keys), font_name="Roboto", - markup=True, line_height=0.8, halign='center' + markup=True, + line_height=0.8, + halign="center", ) if engine_best_move: diff --git a/katrain/gui/popups.py b/katrain/gui/popups.py index ec65052..24ba48c 100644 --- a/katrain/gui/popups.py +++ b/katrain/gui/popups.py @@ -250,14 +250,20 @@ class NewGamePopup(QuickConfigGui): self.rules_spinner.value_refs = [name for abbr, name in katrain.engine.RULESETS_ABBR] + def update_playerinfo(self): + for bw, player_setup in self.player_setup.players.items(): + name = self.player_name[bw].text + if name: + self.katrain.game.root.set_property("P" + bw, name) + self.katrain.update_player(bw, **player_setup.player_type_dump) + def update_config(self, save_to_file=True): super().update_config(save_to_file=save_to_file) self.katrain.log(f"New game settings: {self.katrain.config('game')}", OUTPUT_DEBUG) if self.restart.active: self.katrain.log("Restarting Engine", OUTPUT_DEBUG) self.katrain.engine.restart() - for bw, player_setup in self.player_setup.players.items(): - self.katrain.update_player(bw, **player_setup.player_type_dump) + self.update_playerinfo() self.katrain("new-game") def update_game(self): @@ -269,6 +275,7 @@ class NewGamePopup(QuickConfigGui): if current != v: changed = True self.katrain.game.root.set_property(k, v) + self.update_playerinfo() if changed: self.katrain.engine.on_new_game() self.katrain.game.analyze_all_nodes() diff --git a/katrain/popups.kv b/katrain/popups.kv index 1d14b7e..de1f919 100644 --- a/katrain/popups.kv +++ b/katrain/popups.kv @@ -383,15 +383,28 @@ restart: restart rules_spinner: rules_spinner player_setup: player_setup + player_name: {"W": white_player_name, "B": black_player_name} PlayerSetupBlock: size_hint: 1, 2 id: player_setup GridLayout: - rows: 6 + rows: 7 cols: 3 - size_hint: 1, 2.5 + size_hint: 1, 3 spacing: CP_SPACING padding: CP_PADDING + DescriptionLabel: + text: i18n._("names") + AnchorLayout: + LabelledTextInput: + text: '' + id: black_player_name + size_hint: 0.75, None + AnchorLayout: + LabelledTextInput: + text: '' + id: white_player_name + size_hint: 0.75, None DescriptionLabel: text: i18n._("board size") AnchorLayout: From 71d19a2c4ea557b178e8a510ad2e15f1ccf41d29 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Wed, 25 Nov 2020 22:15:08 +0100 Subject: [PATCH 05/73] strings for stat options --- katrain/config.json | 4 +- katrain/core/constants.py | 12 +++--- katrain/gui/badukpan.py | 4 +- katrain/gui/style.py | 2 +- .../i18n/locales/cn/LC_MESSAGES/katrain.mo | Bin 13642 -> 13955 bytes .../i18n/locales/cn/LC_MESSAGES/katrain.po | 35 ++++++++++++++-- .../i18n/locales/de/LC_MESSAGES/katrain.mo | Bin 15365 -> 15674 bytes .../i18n/locales/de/LC_MESSAGES/katrain.po | 39 +++++++++++++++--- .../i18n/locales/en/LC_MESSAGES/katrain.mo | Bin 15054 -> 15369 bytes .../i18n/locales/en/LC_MESSAGES/katrain.po | 36 ++++++++++++++-- .../i18n/locales/es/LC_MESSAGES/katrain.mo | Bin 15198 -> 15513 bytes .../i18n/locales/es/LC_MESSAGES/katrain.po | 37 ++++++++++++++--- .../i18n/locales/fr/LC_MESSAGES/katrain.mo | Bin 16915 -> 17232 bytes .../i18n/locales/fr/LC_MESSAGES/katrain.po | 35 ++++++++++++++-- .../i18n/locales/jp/LC_MESSAGES/katrain.mo | Bin 17470 -> 17781 bytes .../i18n/locales/jp/LC_MESSAGES/katrain.po | 37 ++++++++++++++--- .../i18n/locales/ko/LC_MESSAGES/katrain.mo | Bin 16888 -> 17197 bytes .../i18n/locales/ko/LC_MESSAGES/katrain.po | 35 ++++++++++++++-- .../i18n/locales/ru/LC_MESSAGES/katrain.mo | Bin 22194 -> 22470 bytes .../i18n/locales/ru/LC_MESSAGES/katrain.po | 35 ++++++++++++++-- katrain/popups.kv | 9 ++-- 21 files changed, 273 insertions(+), 47 deletions(-) diff --git a/katrain/config.json b/katrain/config.json index e643f7e..d2c517b 100644 --- a/katrain/config.json +++ b/katrain/config.json @@ -69,8 +69,8 @@ ], "low_visits": 25, "eval_off_show_last": 3, - "top_moves_show": "delta_score", - "top_moves_show_secondary": "visits", + "top_moves_show": "top_move_delta_score", + "top_moves_show_secondary": "top_move_visits", "eval_show_ai": true, "lock_ai": false }, diff --git a/katrain/core/constants.py b/katrain/core/constants.py index c201e00..6ebb1f8 100644 --- a/katrain/core/constants.py +++ b/katrain/core/constants.py @@ -222,12 +222,12 @@ AI_PICK_ELO_GRID = [ ] -TOP_MOVE_DELTA_SCORE = "delta score" -TOP_MOVE_SCORE = "score" -TOP_MOVE_DELTA_WINRATE = "delta winrate" -TOP_MOVE_WINRATE = "winrate" -TOP_MOVE_VISITS = "visits" -TOP_MOVE_NOTHING = "" +TOP_MOVE_DELTA_SCORE = "top_move_delta_score" +TOP_MOVE_SCORE = "top_move_score" +TOP_MOVE_DELTA_WINRATE = "top_move_delta_winrate" +TOP_MOVE_WINRATE = "top_move_winrate" +TOP_MOVE_VISITS = "top_move_visits" +TOP_MOVE_NOTHING = "top_move_nothing" TOP_MOVE_OPTIONS = [ TOP_MOVE_DELTA_SCORE, diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index 592fa7c..24a6110 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -476,9 +476,7 @@ class BadukPanWidget(Widget): if move_dict["visits"] < low_visits_threshold and not engine_best_move: scale = UNCERTAIN_HINT_SCALE text_on = False - alpha = HINTS_MIN_ALPHA + (HINTS_ALPHA - HINTS_MIN_ALPHA) * ( - move_dict["visits"] / low_visits_threshold - ) + alpha = HINTS_LO_ALPHA if "pv" in move_dict: self.active_pv_moves.append((move.coords, move_dict["pv"], current_node)) else: diff --git a/katrain/gui/style.py b/katrain/gui/style.py index 2065e8f..c38edcf 100644 --- a/katrain/gui/style.py +++ b/katrain/gui/style.py @@ -63,7 +63,7 @@ STARPOINT_SIZE = 0.1 BOARD_COLOR = [0.85, 0.68, 0.40, 1] STONE_SIZE = 0.505 # texture edge is transparent -HINTS_MIN_ALPHA = 0.2 # single visit +HINTS_LO_ALPHA = 0.6 HINTS_ALPHA = 0.8 POLICY_ALPHA = 0.6 TOP_POLICY_ALPHA = 0.3 diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo index e98a9958dee26cde165c51e49df39a1977230cb6..3b3df3c6d51f86a2478ae07a2d6c23c8177272fb 100644 GIT binary patch delta 3647 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 O>X(n67g7;3rszMw3{eCC diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po index d1a2f98..4858a0e 100644 --- a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po @@ -613,9 +613,6 @@ msgstr "覆盖引擎命令" msgid "download katago button" msgstr "下载KataGo 版本" -msgid "show point loss as text" -msgstr "在棋子上显示目数损失" - msgid "katago binaries available" msgstr "{num} 个exe文件可用" @@ -690,3 +687,35 @@ msgstr "" #. TODO - DEPRECATED msgid "ai:settle" msgstr "Settle Style" + +#. TODO - setting: what to show on top move (e.g. point loss, visits, ...) +msgid "stats on top move" +msgstr "Stats on top moves" + +#. TODO - Dropdown menu option +msgid "top_move_delta_winrate" +msgstr "Change in win rate" + +#. TODO - Dropdown menu option +msgid "top_move_visits" +msgstr "Visits" + +#. TODO - Dropdown menu option +msgid "top_move_score" +msgstr "Score" + +#. TODO - Dropdown menu option +msgid "top_move_nothing" +msgstr "---" + +#. TODO - Dropdown menu option +msgid "top_move_winrate" +msgstr "Win rate" + +#. TODO - Dropdown menu option +msgid "top_move_delta_score" +msgstr "Change in score" + +#. TODO - top move stats show threshold description +msgid "show stats if" +msgstr "Show stats if more than ... visits" diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo index 0d41741c3f192051e11564c8a042db88ac6e66a1..de4c5eaf6c93ec28de4d72a47467c7d2ecfae5bb 100644 GIT binary patch delta 3678 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 Olgku4vMzJj`u_k&NTde< delta 3286 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 delta 3297 zcmYM$eN5F=9LMqR74re)8Ymzra-l@DtCg8%;&Zy0!-u6gx10}nGt{oZg_eo_5}$_F z+#oH>nTgh%x>U3kKICi$Wkt=9(y9Nb+0<5=mAGl|55KeJe%{wP=XZYRobUIX-@W{> zCQ!X9;9W>=yV3Yp&;K6$pW03}vo|~aZyLq7sHfmgOv1z14Zp(#yyEINF`0ToqFEO9 zMAe7mgE$4-<6I1ydA5K;XBw8c4wcULFrN0^r~y7jF8i8~RBT4(vfr^S-bF1?qpE)@ zW?&!eiqD`HFax=40Us&MZ%bUm22^BQu_Nw7Jy?fv*ocbsw7Y*1wZPw8`(LQY6b(h| zfV!WC8ZXBgMvXHFgUoNEDX@5(;yTPiMONhMuR7mA4ZIGyY%?DkXcsEtL#X==sPUSe zmyyeE@u7Zkq(OnEVxl_cQBZ0IRsR_1;%Uu=R26#^_2^1ea;vcm?m|6z6gAW-)YRu) z`*l}uK~33_P8z2Ns$Uq@J`}lZA|G_M*-7k(7EnxsI+mmA>rpw`go?QaJK!g%exIQx zs7EcZ8MPVLQ2lSAPR)H(AgRo*dKfkF80XYvc0?T_G-%hBx{j-zTTm0#B4gQ?uDuDB zk?Y81Ev}x(YEx}Sy`I1jmO1Rr#@si+tDB~-r^POplB2B>lF!F1|}P!TkuUbu^>FN;g4 z39h;OZAhOMn(WL*ZrNj~jE+T(GYJ*gEZ1J*>sdJkMYIN$qAJu1Kkz%)K2)mf-2DdB zKuxHASDklI3yo)W>fad^SSE7Ia#0J)M?E*Lwa)%er=W@FpcWEEMew?F11j|n&>9#J2j4v*0X_X?~e)kMi@asE1rNFV21NWRBB_WNGebd zu18J01$72KLOr+NwI4$*r~%dgCsYP5;{$jX)jz<2@O1cs6f{v^)B{6MD}5HVcQf7n zmr)OvqcT*93vnyvVLS(C7(RhIbj6s9t5M_a!MXSa?!=r7-v2@h4SaP!g<)3n5Jr$b zR_W?B7@}T}L+~n2#vFdbw7?iXhbu9R&B$eKGyTZ3QDcJ>#FUwF5tUwJ=i8?b?s8nxr?FX@j`ca%6;82s!`P5H5Oa`g< z?L}sB0{ap}FVdR|gr{N2zi4LG5KaBd50fnnyiRTMPfe$+zFqxSqh zDl-WjdA85;oCT=+CCE0~a-^&6#Nl`WwXn>m{kI{E8g~W`!=df53Gz=21GL?%8XaH(U$DhvCy1Ys5J6gX>CJ6ipwG; ap+%8csI@0VO6HZ-ZX5Y`p!)RaW&Z*6|4h>W diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po index e039b95..d8ef02f 100644 --- a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po @@ -711,9 +711,6 @@ msgstr "" "votre configuration système, ou bien essayez l'exécutable seul pour plus de " "détails." -msgid "show point loss as text" -msgstr "Indiquer les points perdus" - msgid "resign" msgstr "Abandon" @@ -776,3 +773,35 @@ msgstr "" msgid "Make Main Branch" msgstr "Mettre en branche principale" + +#. TODO - setting: what to show on top move (e.g. point loss, visits, ...) +msgid "stats on top move" +msgstr "Stats on top moves" + +#. TODO - Dropdown menu option +msgid "top_move_delta_winrate" +msgstr "Change in win rate" + +#. TODO - Dropdown menu option +msgid "top_move_visits" +msgstr "Visits" + +#. TODO - Dropdown menu option +msgid "top_move_score" +msgstr "Score" + +#. TODO - Dropdown menu option +msgid "top_move_nothing" +msgstr "---" + +#. TODO - Dropdown menu option +msgid "top_move_winrate" +msgstr "Win rate" + +#. TODO - Dropdown menu option +msgid "top_move_delta_score" +msgstr "Change in score" + +#. TODO - top move stats show threshold description +msgid "show stats if" +msgstr "Show stats if more than ... visits" diff --git a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.mo index 1667cd0acc4217cd6bec8bb76fef974a3fd0bdb8..c947078c6522ccf2684799ce8dd8f855b144e235 100644 GIT binary patch delta 3653 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 delta 3306 zcmYM$3rv<(9LMqhE93KE3 z>5ML-wKTLj4O=z`)zq3HbC$N2OyjlXWtyPX_s4U#+~f0k&gD7hfBxq@uYS74_xEOB z;Cyswh4H73zrFdJ-CiZL;x7Li$K&giyWxizg-5VEp1{u7VzxDWN>VGO}jsFj{}?H5o1UUv02P%G1Fc(jhF_Bhmd zNzOFXIKwf5`E3FZ1aC83hXtsWEqCP?oSRSsZ$&P9o0|rzMy>cDs=XdHUZe9Oa@lom z>K8&9w9r@#SI1-?l$zn&e)Poz6!X&*we}p;tD8~D-G(t(je4^dHPrX0sef_xL04`; zP1%V~8mBj^UmB`@G;-Oa+~{fxqu3Dz@EjHDn2#zKp>nbvwdN}9h@YYQ9YRe|hYGL} zwHeK*{?}2b=3mr8Vwqj#G}OcoIkThL5p`HXg?4SD>sa8dL`_tKjAh@r`UX@+g2-hp zt{hG@D)&OYmyUWb1GS*(r~u}n0?G;S(2IuxeqP&ET0FhXbUPu<){dEdL3*ZD%FQwdp&BP22{UG z&fBO!!-!7(BT);BN1CiZDxfi__a?WM+5aba(8P;Sf#jf8u)$e^TKNa4z1)jBY_+HX zkE7l@g&OCatG|Sr=o;!bHH2H+*+A8&V`u#$Wb&YhA4Ux@$N4NOwYjL3yn=eM2sLpf z>I{5@dT+n0KZ**d9@YORR0b~MJ=lus@8duOboe58&_t=I7e=BY%|h+nJlDP&^I;1Ilo4`OdRlXaVg#Ad5d87shNuml(3jd=2(?lXJ54<}O{61=^- zh}!GBsFgfRPZqslznRHRnoZ@vHKY(wS^3XJX5qhE1pm?x0p2 zGTb`@X{f*lqYmLj)cbSMkIQi;ZpB{AZ|8YX23k~s2_wA2HX6H9ejb&=t;jjG-Kg)o z4%rnujrw|g9Q`Rc4mIIxI1aa?#&5()c*nI*;6w*>xTf=<7v?!vVt2}U$o5+~YQWgr!qKn`NU? zTZ&v($xVmxEKbK})WBoLdVxHG8gMQupk=5))}R8YqBT<=2M5TI=a|k{~c?2rJH=OS}1Ml;o0jp61 z9B}1hu6zP}QhyF_;7!-wJkINX6P1BbqSh8gp)$}9_1+-VxLK&JnvKfHT3n}C3&z*9 zba^Q(dhMF!IqUta*5u~;7v=ibFL`l&O?g~`ucl9r_xdL_mlXShm9GZhEcFLJF7pSs hlwPSg;J;E<87!*2Qt{RwhxXO{l{v88wkIc?{ttmFWS;;4 diff --git a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po index 30e1461..3632933 100644 --- a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po @@ -638,9 +638,6 @@ msgid "Engine missing DLL" msgstr "" "없는 DLL 파일이 있어 KataGo가 실행되지 않습니다. 요구사항을 점검하시거나, 실행 파일을 따로 실행해 세부사항을 알아보십시오." -msgid "show point loss as text" -msgstr "돌 위에 집 손해 표시하기" - msgid "resign" msgstr "기권" @@ -704,3 +701,35 @@ msgstr "" msgid "Make Main Branch" msgstr "주 변화로 만들기" + +#. TODO - setting: what to show on top move (e.g. point loss, visits, ...) +msgid "stats on top move" +msgstr "Stats on top moves" + +#. TODO - Dropdown menu option +msgid "top_move_delta_winrate" +msgstr "Change in win rate" + +#. TODO - Dropdown menu option +msgid "top_move_visits" +msgstr "Visits" + +#. TODO - Dropdown menu option +msgid "top_move_score" +msgstr "Score" + +#. TODO - Dropdown menu option +msgid "top_move_nothing" +msgstr "---" + +#. TODO - Dropdown menu option +msgid "top_move_winrate" +msgstr "Win rate" + +#. TODO - Dropdown menu option +msgid "top_move_delta_score" +msgstr "Change in score" + +#. TODO - top move stats show threshold description +msgid "show stats if" +msgstr "Show stats if more than ... visits" diff --git a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.mo index 0340107ac51f763fa16706aeef6b9c4f55bf055e..2cc0113bab31788bff800780b0c78861db844fe7 100644 GIT binary patch delta 3648 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 diff --git a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po index 2f68fa8..f159001 100644 --- a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po @@ -673,9 +673,6 @@ msgstr "" "Не удалось запустить KataGo из-за отсутствующих DLL. Проверьте требования " "или запустите бинарный файл сам по себе для получения подробностей." -msgid "show point loss as text" -msgstr "Показывать потерянные очки текстом" - msgid "resign" msgstr "Сдаться" @@ -738,3 +735,35 @@ msgstr "" msgid "Make Main Branch" msgstr "Сделать главной веткой" + +#. TODO - setting: what to show on top move (e.g. point loss, visits, ...) +msgid "stats on top move" +msgstr "Stats on top moves" + +#. TODO - Dropdown menu option +msgid "top_move_delta_winrate" +msgstr "Change in win rate" + +#. TODO - Dropdown menu option +msgid "top_move_visits" +msgstr "Visits" + +#. TODO - Dropdown menu option +msgid "top_move_score" +msgstr "Score" + +#. TODO - Dropdown menu option +msgid "top_move_nothing" +msgstr "-" + +#. TODO - Dropdown menu option +msgid "top_move_winrate" +msgstr "Win rate" + +#. TODO - Dropdown menu option +msgid "top_move_delta_score" +msgstr "Change in score" + +#. TODO - top move stats show threshold description +msgid "show stats if" +msgstr "Show stats if more than ... visits" diff --git a/katrain/popups.kv b/katrain/popups.kv index de1f919..eca98e4 100644 --- a/katrain/popups.kv +++ b/katrain/popups.kv @@ -285,7 +285,7 @@ cols: 2 rows: 4 padding: 4 - size_hint: 0.9, 1 + size_hint: 0.95, 1 DescriptionLabel: font_size: DESC_FONT_SIZE * 0.8 text: i18n._("theme") @@ -297,15 +297,16 @@ id: themes_spinner DescriptionLabel: font_size: DESC_FONT_SIZE * 0.8 - text: i18n._("analysis:topmoves").replace('\n',' ') + text: i18n._("stats on top move") BoxLayout: orientation: 'horizontal' + size_hint: 1.5,1 LabelledSpinner: id: top_moves_show value_refs: TOP_MOVE_OPTIONS input_property: "trainer/top_moves_show" Label: - size_hint: 0.15, 1 + size_hint: 0.1, 1 text: '&' LabelledSpinner: id: top_moves_show_secondary @@ -313,7 +314,7 @@ input_property: "trainer/top_moves_show_secondary" DescriptionLabel: font_size: DESC_FONT_SIZE * 0.8 - text: i18n._("show point loss as text") + text: i18n._("show stats if") BoxLayout: Label: text: '>' From 8dcfc1cd59f4062152589d6943ea4072ab940fd4 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Mon, 30 Nov 2020 13:18:23 +0100 Subject: [PATCH 06/73] zero width space markers and base64 encoded data in sgf files are probably terrible ideas --- INSTALL.md | 3 +- katrain/__main__.py | 8 +-- katrain/config.json | 1 + katrain/core/constants.py | 5 ++ katrain/core/game.py | 37 ++++++++--- katrain/core/game_node.py | 61 +++++++++++++++--- katrain/gui/popups.py | 3 + .../i18n/locales/cn/LC_MESSAGES/katrain.mo | Bin 13955 -> 14015 bytes .../i18n/locales/cn/LC_MESSAGES/katrain.po | 4 ++ .../i18n/locales/de/LC_MESSAGES/katrain.mo | Bin 15674 -> 15779 bytes .../i18n/locales/de/LC_MESSAGES/katrain.po | 6 ++ .../i18n/locales/en/LC_MESSAGES/katrain.mo | Bin 15369 -> 15439 bytes .../i18n/locales/en/LC_MESSAGES/katrain.po | 6 +- .../i18n/locales/es/LC_MESSAGES/katrain.mo | Bin 15513 -> 15573 bytes .../i18n/locales/es/LC_MESSAGES/katrain.po | 4 ++ .../i18n/locales/fr/LC_MESSAGES/katrain.mo | Bin 17232 -> 17292 bytes .../i18n/locales/fr/LC_MESSAGES/katrain.po | 4 ++ .../i18n/locales/jp/LC_MESSAGES/katrain.mo | Bin 17781 -> 17841 bytes .../i18n/locales/jp/LC_MESSAGES/katrain.po | 4 ++ .../i18n/locales/ko/LC_MESSAGES/katrain.mo | Bin 17197 -> 17256 bytes .../i18n/locales/ko/LC_MESSAGES/katrain.po | 4 ++ .../i18n/locales/ru/LC_MESSAGES/katrain.mo | Bin 22470 -> 22530 bytes .../i18n/locales/ru/LC_MESSAGES/katrain.po | 4 ++ katrain/popups.kv | 40 +++++++----- requirements.txt | 1 + setup.py | 1 + 26 files changed, 153 insertions(+), 43 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index e2a52fd..002c939 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -97,8 +97,9 @@ pip3 install screeninfo # Skip on MacOS, not working In case the sound is not working, or there is no available wheel for your OS or Python version, try: ```bash pip3 uninstall kivy -pip3 install --no-binary kivy kivy==2.0.0rc2 +pip3 install kivy --extra-index-url https://kivy.org/downloads/simple/ ``` + You can now start KaTrain by running `python3 -m katrain` In case KataGo does not start, an alternative is to go [here](https://github.com/lightvector/KataGo) and compile KataGo yourself. diff --git a/katrain/__main__.py b/katrain/__main__.py index 01c4bc7..6d5dce1 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -253,14 +253,14 @@ class KaTrainGui(Screen, KaTrainBase): else: # game related actions self.message_queue.put([self.game.game_id, message, args, kwargs]) - def _do_new_game(self, move_tree=None, analyze_fast=False): + def _do_new_game(self, move_tree=None, analyze_fast=False, loaded_from_file=None): self.idle_analysis = False mode = self.play_analyze_mode if (move_tree is not None and mode == MODE_PLAY) or (move_tree is None and mode == MODE_ANALYZE): self.play_mode.switch_ui_mode() # for new game, go to play, for loaded, analyze self.board_gui.animating_pv = None self.engine.on_new_game() # clear queries - self.game = Game(self, self.engine, move_tree=move_tree, analyze_fast=analyze_fast) + self.game = Game(self, self.engine, move_tree=move_tree, analyze_fast=analyze_fast,loaded_from_file=loaded_from_file) if move_tree: for bw, player_info in self.players_info.items(): player_info.player_type = PLAYER_HUMAN @@ -340,7 +340,7 @@ class KaTrainGui(Screen, KaTrainBase): self.controls.timer.paused = True if not self.teacher_settings_popup: self.teacher_settings_popup = I18NPopup( - title_key="teacher settings", size=[dp(800), dp(750)], content=ConfigTeacherPopup(self) + title_key="teacher settings", size=[dp(800), dp(800)], content=ConfigTeacherPopup(self) ).__self__ self.teacher_settings_popup.content.popup = self.teacher_settings_popup self.teacher_settings_popup.open() @@ -369,7 +369,7 @@ class KaTrainGui(Screen, KaTrainBase): except ParseError as e: self.log(i18n._("Failed to load SGF").format(error=e), OUTPUT_ERROR) return - self._do_new_game(move_tree=move_tree, analyze_fast=fast) + self._do_new_game(move_tree=move_tree, analyze_fast=fast,loaded_from_file=file) if not rewind: self.game.redo(999) diff --git a/katrain/config.json b/katrain/config.json index d2c517b..0ba024b 100644 --- a/katrain/config.json +++ b/katrain/config.json @@ -67,6 +67,7 @@ true, true ], + "save_analysis": true, "low_visits": 25, "eval_off_show_last": 3, "top_moves_show": "top_move_delta_score", diff --git a/katrain/core/constants.py b/katrain/core/constants.py index 6ebb1f8..e0b9423 100644 --- a/katrain/core/constants.py +++ b/katrain/core/constants.py @@ -1,3 +1,4 @@ +PROGRAM_NAME = "KaTrain" VERSION = "1.7.0" HOMEPAGE = "https://github.com/sanderland/katrain" CONFIG_MIN_VERSION = "1.7.0" # keep config files from this version @@ -237,3 +238,7 @@ TOP_MOVE_OPTIONS = [ TOP_MOVE_VISITS, TOP_MOVE_NOTHING, ] + +SGF_COMMENTS_MARKER = "\u200b\u3164" +SGF_NOTE_MARKER = "\u200b\u200b" +SGF_SEPARATOR_MARKER = "\u3164\u3164" diff --git a/katrain/core/game.py b/katrain/core/game.py index 5028422..92d0bcc 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -16,6 +16,7 @@ from katrain.core.constants import ( STATUS_INFO, STATUS_TEACHING, PLAYER_HUMAN, + VERSION, PROGRAM_NAME, ) from katrain.core.engine import KataGoEngine from katrain.core.game_node import GameNode @@ -35,7 +36,7 @@ class KaTrainSGF(SGF): class Game: """Represents a game of go, including an implementation of capture rules.""" - DEFAULT_PROPERTIES = {"GM": 1, "FF": 4, "AP": f"KaTrain:{HOMEPAGE}", "CA": "UTF-8"} + DEFAULT_PROPERTIES = {"GM": 1, "FF": 4, "AP": f"{PROGRAM_NAME}:{VERSION}", "CA": "UTF-8"} def __init__( self, @@ -44,6 +45,7 @@ class Game: move_tree: GameNode = None, analyze_fast=False, game_properties: Optional[Dict] = None, + loaded_from_file = None ): self.katrain = katrain self._lock = threading.Lock() @@ -51,6 +53,8 @@ class Game: engine = {"B": engine, "W": engine} self.engines = engine self.game_id = datetime.strftime(datetime.now(), "%Y-%m-%d %H %M %S") + self.loaded_from_file = loaded_from_file + if move_tree: self.root = move_tree @@ -82,13 +86,16 @@ class Game: self.set_current_node(self.root) self.main_time_used = 0 threading.Thread( - target=lambda: self.analyze_all_nodes(-1_000_000, analyze_fast=analyze_fast), daemon=True + target=lambda: self.analyze_all_nodes(-1_000_000, analyze_fast=analyze_fast, even_if_present=False), + daemon=True, ).start() # return faster, but bypass Kivy Clock - def analyze_all_nodes(self, priority=0, analyze_fast=False): + def analyze_all_nodes(self, priority=0, analyze_fast=False, even_if_present=True): for node in self.root.nodes_in_tree: - node.clear_analysis() - node.analyze(self.engines[node.next_player], priority=priority, analyze_fast=analyze_fast) + if even_if_present or not node.analysis_loaded: + print(even_if_present, node.analysis_loaded, node.move) + node.clear_analysis() + node.analyze(self.engines[node.next_player], priority=priority, analyze_fast=analyze_fast) # -- move tree functions -- def _calculate_groups(self): @@ -292,9 +299,11 @@ class Game: self, path: str, trainer_config: Optional[Dict] = None, ): if trainer_config is None: - trainer_config = self.katrain.config("trainer") - save_feedback = trainer_config["save_feedback"] + trainer_config = self.katrain.config("trainer", {}) + save_feedback = trainer_config.get("save_feedback", False) eval_thresholds = trainer_config["eval_thresholds"] + print(trainer_config) + save_analysis = trainer_config.get("save_analysis", False) def player_name(player_info): if player_info.name and player_info.player_type == PLAYER_HUMAN: @@ -314,15 +323,23 @@ class Game: x_properties["RE"] = self.end_result self.root.properties = {**root_properties, **{k: [v] for k, v in x_properties.items()}} player_names = {bw: re.sub(r"['<>:\"/\\|?*]", "", self.root.get_property("P" + bw, bw)) for bw in "BW"} - game_name = f"katrain_{player_names['B']} vs {player_names['W']} {self.game_id}" - file_name = os.path.abspath(os.path.join(path, f"{game_name}.sgf")) + base_game_name = f"katrain_{player_names['B']} vs {player_names['W']}" + game_name = f"{base_game_name} {self.game_id}" + + if self.loaded_from_file and base_game_name in self.loaded_from_file and PROGRAM_NAME in self.root.get_property("AP","") and self.loaded_from_file.endswith('sgf'): + file_name = self.loaded_from_file + else: + file_name = os.path.abspath(os.path.join(path, f"{game_name}.sgf")) os.makedirs(os.path.dirname(file_name), exist_ok=True) show_dots_for = { bw: trainer_config.get("eval_show_ai", True) or self.katrain.players_info[bw].human for bw in "BW" } sgf = self.root.sgf( - save_comments_player=show_dots_for, save_comments_class=save_feedback, eval_thresholds=eval_thresholds + save_comments_player=show_dots_for, + save_comments_class=save_feedback, + eval_thresholds=eval_thresholds, + save_analysis=save_analysis, ) with open(file_name, "w", encoding="utf-8") as f: f.write(sgf) diff --git a/katrain/core/game_node.py b/katrain/core/game_node.py index ca6257a..3d7fc02 100644 --- a/katrain/core/game_node.py +++ b/katrain/core/game_node.py @@ -2,10 +2,13 @@ import copy import random from typing import Dict, List, Optional, Tuple +from katrain.core.constants import HOMEPAGE, VERSION, SGF_COMMENTS_MARKER, SGF_SEPARATOR_MARKER, SGF_NOTE_MARKER, PROGRAM_NAME from katrain.core.lang import i18n from katrain.core.sgf_parser import Move, SGFNode from katrain.core.utils import evaluation_class, var_to_grid from katrain.gui.style import INFO_PV_COLOR +import base64 +import gzip class GameNode(SGFNode): @@ -22,19 +25,56 @@ class GameNode(SGFNode): self.time_used = 0 self.undo_threshold = random.random() # for fractional undos self.end_state = None + self.analysis_loaded = False self.clear_analysis() + def add_list_property(self, property: str, values: List): + if property == "KT": + try: + import bson + + self.analysis = bson.loads(gzip.decompress(base64.standard_b64decode(values[0]))) + self.analysis_loaded = True + except Exception as e: + print(e) + elif property == "C": + comments = [ # strip out all previously auto generated comments + c for v in values for c in v.split(SGF_SEPARATOR_MARKER) + ] + self.note = "".join(c for c in comments if SGF_NOTE_MARKER in c) + super().add_list_property( + property, + [c for c in comments if c.strip() and SGF_COMMENTS_MARKER not in c and SGF_NOTE_MARKER not in c], + ) + else: + return super().add_list_property(property, values) + def clear_analysis(self): self.analysis_visits_requested = 0 self.analysis = {"moves": {}, "root": None, "completed": False} - def sgf_properties(self, save_comments_player=None, save_comments_class=None, eval_thresholds=None): + def sgf_properties( + self, save_comments_player=None, save_comments_class=None, eval_thresholds=None, save_analysis=False + ): properties = copy.copy(super().sgf_properties()) note = self.note.strip() + print(save_analysis, self.analysis_complete) + if save_analysis and self.analysis_complete: + try: + import bson + + analysis = copy.deepcopy(self.analysis) + for movedict in analysis["moves"].values(): + if "ownership" in movedict: + del movedict["ownership"] + properties["KT"] = [base64.standard_b64encode(gzip.compress(bson.dumps(analysis))).decode("utf-8")] + except Exception as e: + print(e) if self.points_lost and save_comments_class is not None and eval_thresholds is not None: show_class = save_comments_class[evaluation_class(self.points_lost, eval_thresholds)] else: show_class = False + comments = properties.get("C", []) if ( self.parent and self.parent.analysis_exists @@ -50,18 +90,19 @@ class GameNode(SGFNode): properties["SQ"] = best_sq if top_x and "MA" not in properties: properties["MA"] = [top_x] - comment = self.comment(sgf=True, interactive=False) - if comment: - properties["C"] = ["\n".join(properties.get("C", "")) + comment] + comments.append(self.comment(sgf=True, interactive=False)) if self.is_root: - properties["C"] = [ - i18n._("SGF start message") - + "\n" - + "\n".join(properties.get("C", "")) - + "\nSGF with review generated by KaTrain." + comments = [ + i18n._("SGF start message") + SGF_COMMENTS_MARKER, + *comments, + f"SGF with generated by {PROGRAM_NAME} {VERSION}{SGF_COMMENTS_MARKER}.", ] if note: - properties["C"] = ["\n".join(properties.get("C", "")) + f"\nNote: {self.note}"] + comments.append(f"\nNote: {self.note}{SGF_NOTE_MARKER}") + if comments: + properties["C"] = [SGF_SEPARATOR_MARKER.join(comments)] + elif "C" in properties: + del properties["C"] return properties @staticmethod diff --git a/katrain/gui/popups.py b/katrain/gui/popups.py index 24ba48c..9698e0b 100644 --- a/katrain/gui/popups.py +++ b/katrain/gui/popups.py @@ -274,6 +274,9 @@ class NewGamePopup(QuickConfigGui): current = root.get_property(k) if current != v: changed = True + self.katrain.log( + f"Property {k} changed from {current} to {v}, triggering re-analysis of entire game.", OUTPUT_INFO + ) self.katrain.game.root.set_property(k, v) self.update_playerinfo() if changed: diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo index 3b3df3c6d51f86a2478ae07a2d6c23c8177272fb..21a9a179f0ad8eb40f98cdccf38edb53ca01b309 100644 GIT binary patch delta 3426 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 diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po index 4858a0e..7fe6945 100644 --- a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po @@ -719,3 +719,7 @@ msgstr "Change in score" #. TODO - top move stats show threshold description msgid "show stats if" msgstr "Show stats if more than ... visits" + +#. TODO - analysis option +msgid "cache analysis to sgf" +msgstr "Cache analysis in SGF" diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo index de4c5eaf6c93ec28de4d72a47467c7d2ecfae5bb..23986c5e03be72b22695dda6559d87f968252ac4 100644 GIT binary patch delta 3472 zcmZwJeN5F=9LMpmaVyWZD1=XcKcobx^BcXe;| zmc^kT;yvq(KPUJ*kiTnhSIsQ8$A9*v*n@f^4#hYekNxmb?2bjQUV-t{U&Fz;(bb!< z7xiYm13U0evygRC=t;vh*P$D&>No&na0Dvg7^I6$$39qqu~?2CT#Q=aGF1P19DqA8 z0S}?#wjm$u(64wX^fCe$}bvD{u_bWc^Wre5f5~xaZSQ@d}&)RR2m; zzZ%p=>oKH`+bQs|J$$Kt*x8EO;aOBBenSO{Vzg4-8+)SXG0wMSI0*8U?1|a<9sofok1<&cT~T>T)jI{l%YPT3=F|&Ohfg{L`^Uiwa^08 zLd#G`v>Y{Vbv*gkWm@MtHlpeWQ445ucDm;`P-huOH1$hzrlTgDj;zrNU3&>CGb@mx zR_E$lT>XO(1r0oe8rXu`**Vk#uAnCJkpCo1LYizWDqs$3$FrPesBueBJ6waxU;`>c zTix?rsJNjf3Vf`UF9q&Iz1KHUf%=j^nTiT9&Y6w_&pM{E3g6g-_ z`8sN$o3V%9|7{esvoJEJ?MF>`5;gF9SHFmw_)pYAJp3%O1MB4+irRS=>L?#ZUABBw zyqTzR0aToYYS;U}l!7LzMeU#g72qAz4nA?ukD&sbM)f<7|1QYs;oOwsIMjx`sJK4V z0y>Vf1xg+dJtBXJvQf|EEJJ%b`gk%_9$z%*QneC$2Gl&NE= zOVxq-_zTX!@yTYF@fFO$MS~;#zd&u^REPq{XP0p}#(2$M#SHY}0X%@6sDFfZvRWO% zZd`*$QJ1dpu1Mx)qjpy2>MuHLP#LO2-K~w-9YgQC!hX~l9YFJUB{!? zZ3q_;Tk&}e-_2O;HKaCq5;`nSb1zueXqK<6^>XL28UU&$nVk8KsgKn0kIy|D;&B-N;+ScSSH zb*PayK%CXS0NFb&DRWunHHq2g7cUaXa<%NPn%&`!=EZ<<{|tuQGolCpvjZ>g-3U~<>@EY=4VxI9F4Uv7Q z_WTDU8JdNO)GJVDS&LfWR@51Pgi&}H^_Cn(WuO@~&$p78F*y2v|se%S(lRd7ye!243Ls@R+3f1<)4Ecb=mM)_m^0pm(+761SM delta 3368 zcmYM$3rv<(9LMp0fQkqrFHn(hfGJ)uQX>(;hL_yCw4%IaDQ4=*q$!iO07p;h#JteV zrqg6uwpd$EOT5jR;WEu`baSOsn$p8(go@LQ-Fd%l=R%q7_W^CF%#M2dlzR~s_$u>i5hp_+y9^{)R}0iKsqL34r*L~)C-28CKy94 z%{0{b*{D6VAVU3>NrT^LLcO@fJ%H*zf?C6Ks0XjO$wb$SdLwhPLR9})R7IvELv5b7 z>%F}a_1tR#7kY3jDx+4^1inB8YR8^<1^HMS>!5&ns7#C980xtxs0^P(RjwLUndiKJ z87l62OB8|3UtYhBYg!(ccYj^I}epX8S40zqkcLjp z)c61sb^aTAyqaF@3ap#p!6nn*h;gR|~6ROT7{Olm26qBdIrD&A1kb7iPF z_(0I2(M4bZAX>(9BQeqqMnOqJvD(0)LzI& zJvYGb7h#~lBe~E6_n|6Lft|1#^*}9Z6E>h;v>8=__mJf6AnN%O-v1kFNjv<03L8fK z*{H+@q54N>`T3u~4ZY}bRN(noiA%5qf5#!1&kwp@I32lV)u@Uz;#}N_+c1IImg5c_ zsy2VwG`<8?p-I>aE27l@b}j;L=mlG_5Zh5p5xF&N_rXE5ry?JFkuO!M8MUcCz=^mY z$6;o+*=3xG<8fk6IDQiUiT1c&A-FX@Mk=M+j^VL z!NxvjpWtOYj_>F3bpt;zec7m7Zs^C7(yr*wpI+Jv$*!FC2(rGQ^S^4K*-AR!4Wl~$ z$%Dhv3_z8p6cs3j8d&A`>roY2jym6~F%{Q)`)$-Fd)M!OisWR+P!sIJ22;EUYC<`f z!uzerJMKZMYY$-}K7)5*J?c1aM^$1EYV&=MIxQEF{c3S{@;@V(gKF0zN!mKp_=Cu* z*>U7#Uf8>hU@q=MmHJ0ipwrk3FJT6z7lp^KKdQt9sCdN~ z!HKBEoSXcKFJLQxQyx8fm*9H($rF9qxMEWRAz;!=SHD2n}Eu^ z5;cK3%*C~+CEbOJcNCesokG1Q8We}69E=J$7q!W1F%F;i_7YSjR-iW78g~n7f(Mc6 zS{v&5gyCVlZm0tlMQz4$s6?Jc4wwZ?xX=u@qe^xJwX1)1|3bYWu_UZe8ge=<>Sm+% zNG|G^Z~|(g52If67%KBhRE26#@s=SK4{S9T{C3zz96;pOu*1%lh9$a!ne=xZ5w2wp zYJ#Px36IBkoPjzevrrY7i+a%l)Wm8~r>7pZCz`OgcF`U#v=+zlUc5M>B`M{BPA&5z MYqDF$44IkyABN#SF#rGn diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po index 0831153..9ba985f 100644 --- a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po @@ -764,3 +764,9 @@ msgstr "Change in Score" #. TODO - top move stats show threshold description msgid "show stats if" msgstr "Show stats if more than ... visits" + +#. TODO - analysis option +msgid "cache analysis to sgf" +msgstr "" +"cache analysis to sgf\n" +"(larger files, only compatible with KaTrain)" diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo index f39a64c958de87ecc8d730c18b12c543bda24b3b..5babd5b6ace3742cc10a86878403d7f7ac40f6dc 100644 GIT binary patch delta 3445 zcmY+_3v7*N9LMpeH(D)v4y_i`vsI^MMpa8|%(d#WRVGw3BgUy7mkMPoHZPM*k(rq5 z;=ajTx@>eI3u_ibZP}QO&^ z@~--$H#q*C<$p*1uWzQ7a|tc~vmKW$X(wR@`mi6S;By#{W!9dDe%h-s4Yymn4ijmg z!{+!iwsOvMja;;*Quu>=#a0;6#;D!`?v`!`~H+=p%P z1Zv&}dnVqv6ene$<)7pQU3SSeqK)PHiYN9Mu#<@0Lgqp9!45IF@MBTR> zmFPzFbmLww__)J-sahkn_w_|BFdP+V2`bRp zs4ZHCdTynk`s*-lup4Vo?c=Bb8q7u;e~8*kAG7Jc4rVXZf+LU^U8(iYL{;Vu`<9q* zqXONDE%pBI;X;|!B5S&1s0F`6J$TvLw@?e;Lj@Ae&mtMPL^A`Gc>!uG2cZtzSk!zk zqMi$)=9#O0z5h$N&_dOy47Q*q_yCo`r#AjIYJw}M`)*=WKxQ=irV{&52?bE|W}yNo zK%Ir5sOO5&)4)V7G;tZ~fqAG(EXNq!f_h*F>JZkT7CMcpz(u4e?swGlQ5+17w?%Df zI;ua%9EwV8Tq^a~4dry`fhyEOD^L@!$62@!voM(-^e#9MRiScZO}7Y@z&luiJ8&)D z!(yx^>P)%lq=3HP#hI60b-*_7jk>zRJMY*4iVE<>ZF=y!5&jv5WgGy`?|=b|!QWxk92B)I)pjK@(4`g6i> zQFl~DO3-6F++6F}jBJ}bWbKQniSJ+^jOZPHjq)*{_RHwUtw_x7BW!~|;nR2*l}Klz z)|T}|RdxWXVnw;sUq2|Nbm+BOfQocC@}{`YtbG|3@jX-}e0gEpBj?JcqXHd)+L}^S zg(jgY8?^CPQ59Q(yqRui9`)A*b#y4AUr-U>MZGQ&q^$)LQIV&jCQi5huBf*o$HoVu z0v(Ck%4w*C=3oFoL!7o0bD3AJEc-|!Dn3M!+4sEo!SFM}J0F*pI6GQ@VY zgQ$gHxBg9-Nqal${(4km-&lVGYU{m7Hd2{op&rOVy*?9Bd+VVhU5A=rCn~TSRAr7~ z1fDeOQD@;xRNxO$r(Hj%3M3X)nO4ZWo=dfXE~p8+qu%p8yoTdZCGOKN9LP{iqWywd zjtXcAD&RF3g}YD-?m<=R0BZh2sKAb*U&sA(E;PaSn1a_)3qHbO823!=gM{Z}+D@5T z9t=#Wm@;c&WvDVRe@>usdRc9uKRYdH$p42z6@jtC3u|A=UK5)Ts+itmkUdk|tRO1# EUp5;}8UO$Q delta 3376 zcmYM#3ry8z7{~EPz#9T`O%aq63JG~h2?UwLB!}gN&D3m|8A2^HWwH`*-0(4f8zeP2bXQM(=aXGED0aPo;U)#;S_IIV>0c9n1!pny$KU( z@4?P^0u#)Fc9x6obX@iu?zpjx#?qgG3Yd!wSqa{U6{tB*#~6GOHNiU6{Y}^l-@{bg zikiS-}k8pfamNy`aIzm!aal z<+h;Wtj7f2Z(F!fW_$dGW2nr&^Y+i~4OHN}$j7>pjsm5lGR{Gb7o*};xRX)$&qUo< zk4m%&gSv4I7kq3zUuy4g51=wUiK;{x73e0a)X_vq!F1Gf15trX`O-wjd;c_V&q7V0 z5fx`;67|=OEk5um^08ff@ecbMHGv;c_g(e&->3?8BAP0Yf?Y5Rbzgtf3x=U4Sbg^S%=ROE>p$9jiGWr5Ffg`9uVa&i=$j6dc2L;SQWm@c3pq`t8%J6wq$6>uZ!!R_8YgbI8dHIXnXgJ0cysLWIOnbcBdpf=k;RJ=meb7iPF zW4(VWChGiGbDbYpvQxixpZ|$;=ta+>0?)zO_&Vm{4SWE5@q?}kjY4AEBvb+~;gi^iZ{l&R#A;^U zAGcs1{2tpYg!*F_ok{%_I6!MKj=|yBfXX!F{d;i$?cb5PSXS@IsVPBis`2Bira>&bX+itzieD&V*@^hd~7dYdhjCZk56tOQki^gpTe^ph}*Ly1xi@U$EQ%h#xtwr#J^BWGiYdJ*B7EPoZwDJj=asmN^C+7fPI5HJ*}v?83mEOR)}g( z!ywCKuXxA%sKDEB7#={D$=a|4b03aWY6dbVtH%`l7zg1_REEExmg)~wMWe_Cm}6fO_F6)XdML0$=j}YpBh0+s9)llO~#g+AIB02^3%e zC!i9Wi>k;fWLsGa>U~FoTyP@n9BRff#gU9skwakVsGs6YY|jvT(9T1>_z~}~LM>G_ z>i!j|#8!L%TFj+=5S7?(-XFZpg^o>t1y06t)J&(K0@R=;R)?z0BINkma(4x4FEpc0 z$8OYa-;bKeSE$OIK*c@p{a289L2KnAje)y(0TYKuO5BQi;9t~uTxrB?)P#yr6CQ*5 zg{(ro@EKI4YEcuOjhfiYsQVY7o^QsU`ej(lh1PUCj>dhZq1gBd9Yb@H2WN#sLz=rp M)y@lz8y+3?AMffzxc~qF diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po index c7a9635..cc3b920 100644 --- a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po @@ -378,7 +378,7 @@ msgstr "" # teacher settings from here msgid "teacher settings" -msgstr "Edit Teacher Settings" +msgstr "Edit Teaching/Analysis Settings" msgid "point loss threshold" msgstr "Point loss greater than" @@ -405,6 +405,10 @@ msgstr "" "Show dots/SGF comments\n" " for AI players" +#. analysis option +msgid "cache analysis to sgf" +msgstr "Cache analysis in SGF" + #. removed as an option / can ignore msgid "lock ai when playing" msgstr "" diff --git a/katrain/i18n/locales/es/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/es/LC_MESSAGES/katrain.mo index 987409a714eb0878ddf74709e15db461511261a6..5f449a7a718d4d2813771e96c181587b34eeaa61 100644 GIT binary patch delta 3426 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 Nq-aFLuB;s${skODQ^EiM delta 3369 zcmYM$3ryBk7{~Dk5EK!VR}o)9@Dko{VJeDv}7I{l+3YE8p7PZpSH)}x`t639u zb83{hz3)^8HCg4gxhzqUkpbt2KTG@}@u6Hk@0$)cy7SD1ND2!Th7V3TuDqev*1vS1H zHLeu3&@zl@;94&DSQTGt?{U9Ct?)Fe5_PCRmr?A6IUr^&Nc>7;eh2n^&3be*%n28$K9rb|0s00g8 zTQd_iz8H0e7KNz4R#N62>roG`c8{R$pF!h45}itkfFA~ z+snNDI%?jA2p5{T1GSRv#t=qjp0(L`5*EwS-6MU}cI>V6I?&KT6V>F#_~ zqDxWZBiKyu{~KHo+bU22x1lC};_a_cfxkl~Qioc>dG|JIBVbt-6ky7sGxkfi|eK zkb#=l!}|weM1e5+gx&FP%)@s4pzE+s#jdyj6>t?6;rqB5o04rY zZpR!<<}X_p9EXIm5^ukfPW?O5v5k%)cpN8V(+)v~)3K2DJnW61BSY*Qs#0+o!J$gW zWwbltBHW0hqll4d_B8Fnj={X6sFl|vx!TnT7lXJ+?!+sCV^Jmk8Y{6D^~Yyf=V0Y4 za0Ttvs6&^^vQ)VY)ZX_(9lpCzTR6-eg*pRcQS%B>TOWCl3r%ASl&=smHCdLgmBPR=EW64kzDMXcS4yt1FP!(J3{Yy{@zJN-o z0z2UcsMqitR07|lw(Ji~(EI-n7YcX_sglKUWHm4wr{GA`gVvx{z6o`B4xkdN#kTk- z&d1xR!#bZ6t#}ovL=K_${C8AkE@Fgjw8WuiG8;8u8nT^MjKs3na5x@DB^I3eW2zuYnus&=ypq0`Engg+r(k zpFtg(-!K&~qbij^S+t^5)SmW5C6J3+;W%Vh?I~28ZOAdR&rr|36yZX96`LRY@@1nE zC_t@vqPJ(bvr!M6i(1igRO0K9H_qPm_AzWn`xJJ?2JD8R5y9V>p_oZKGJy+~=yBAF z-$IqN67>VJ#odlds2X`&ZNFQCTG1iYylbd&x4a!cGFVWOn}Uj)j+~K*b>>1P>y0T< zlnzyz`$h#NeiXG=PoTz?qqd>~m2eft;HRj-`%o1;j5<5VP!&3jn*Wn~zEPfZjSHRD ZW}|~s9IB2_oD^GK5-Q57t{+^L@E&n|Sb?$`!1Q4@180wwCi#H1Q~E;3e<)C$=;{{L)=14q&@+4fD+Wla53sDWEpCKRo?$TYNI>d z&ygj2MNMq*`fsR(@1iym$=4z$unuld)X8&DS2-N@*e0XmO+(Eq zLB(01c76U=P|!lOd)|xap`3QtUcvegqFg{qd+PO+&R0 za7UsJHZ_s_Yrt$8G+_y9p*K*0H)1L7!hGz)7rHD$jjO-`xE)#BE}+KW#M3x~-7dtw z{AJ6d6ZaadkKauaV9*IJh?t4iBcAZNX4RFm7uf4jtnD|02)d6QHiY*(uzX$%Bb7d+AYL z`h8|^KNe(S-k{*|EkPcaIdL!AaU739?5}{ryk}n1s6P#a=JRjnwy`#uf6gH0}lD7HlnsAEvO6 zf)>7n+Q==`z&Ku{b~*?L;xOcpwivVU6VyhpBDZHZQS(#tf_edJ(!_eeCG9|UO(gYtEdCrKrI+m5X9}~4nX!` z<4|9Cog4>pj2d>Aat>)EJ{3`Na*924+)?_ZAk0$YvB*r%ui zeTjYW1nNq|w<&0$j6yTM3T&8LjB0-!HL=3o?(Rip<`C*J9&=A(HuclqA2A{r7ln!w z>vl&D5Vi~-kn0wrPBad)LVQk98+mVJaN-@PK>JYR>b(5|YTU1=Kf5icKVA`|f(^7m zU2O+cMiMdB()hBWpj2j~0*-R0A=hXNYMY}cwu&#FIlCmKcz*G`rDb!vq`+EUWY zv9g@@M`}~@vb8dYmsx?S(ae(6&C1I(b*OCjD zR07A5kDcXD8uQy_uXuo3Srf8Jz;>vCT`&$KsFe=)_OYl0U-0_rsFlq{O|Zz@SE1sq zcgs<6wqq0Kw>>;)Wrw`O3DnAd@$w(;->ATMk&h*?90f{8tvCnOo{x%GOpvG-v$iF!pjYT^p_Fsi){`+No!=%yRX@)e+k+Zxj;=b%;)LA`!sQC}U;p(ZHy_W7tpm%Hnb z(6$BH(ZKfdpg;#vD?1T3*hTjmYDM*^9f~Eo5^RbOUsKdpcR{u1qv8~z`b~6aq7q$< z>K|ZZz5i=@AhvBp1>AuexX;VSP=QaP5~)S4;EMYIwenQHCUumVsLR$J6|Wy^Tm%*8 zDX*W1&Gi0H4LtXY7)XrRP&Hm@|aGQ#J%xJ^8;j^fWm*Fs6kL|Dq6`&rql0>5F?AzcJ%yy&L zGsf&Me3AO}c449mP&>R9HGXTr!xKF0LuGm!btHN1!+`@)KRz2#cVjai#T}@LOCAf) zcCot>wX*k66KqCJxD&PIm8cy&jp`Si_YPOQ!a9T<6Hy&9+-$6*+yk%SEnJ4bXY;Pd zu=*U{ef*m3T!AT_%tqkG&Ln}qb_x5v(T$&A%BR@ovwHu_^UQuA(88X4jm9yk7Z)kk zY)0R3Cq@nkFW)%iV%r?lnMd7^QAc$EbxDt-R(#3J_pm+XmYi=g7NFjSBFxtNKh7H# zx+^h@4rQnTG(VvV}4u0g9etN zGTn+gqa&ylokBLou6z3}WY;bA@$ifbP~}nhKF&kMiRVJ8z7uxE(by47QHg(ofil_8 zgF60<%Jd%g$5?JAi?IUijq_27Zo@p>iyD8)%MAvFiT8DfqWX{V@?^}UJR3P}TQ!LN zS4Ib@P=@C*1Cs`afjgou;Yd_sPb0b61k?_ddHojmGq2x;y8U0F;#Z?4u1D^vr9{FV z$d9o9`pO(bg#u1MO*Gxhvr#Kpv|1B=}m?(3+DmZL7?+wNNIM|qvMA9JfwacbO)s0G~c_6MPX z#Safxl#IP&_zplNGJZrjU?wV1DQe52USE#tw*&Qadl2=bbqtkg73yezLhZ;o)Hmp# ks6_5yn!d~v3d6uz$Z=V}iiG5`4J+oPROMDYQ}A-qe`^0rod5s; diff --git a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po index ae45341..4a7f2aa 100644 --- a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po @@ -758,3 +758,7 @@ msgstr "Change in score" #. TODO - top move stats show threshold description msgid "show stats if" msgstr "Show stats if more than ... visits" + +#. TODO - analysis option +msgid "cache analysis to sgf" +msgstr "Cache analysis in SGF" diff --git a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.mo index 4d90b03f64d64291e42d1492e4d7a41bb1424a5b..fe6641cdb12fbb232272e78c7517e2cbb6bbbab3 100644 GIT binary patch delta 3427 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 S|GVZa^pzGCG>*?(8vifjWMn%4 delta 3369 zcmYM#drVhl9LMo5AQw^YKP^N>)SrSE$V|nEK+z}=G4lcwD|W%Tk80&s9A=oWwu3{y+593%N>8O^PJ~7-}8LG&vOp1eH?Of zPe>q`*k*(A?==5A^M6%@T4s0J|L+5w-lg3EJH(hJU|)O?bFm#xaP2Bgq`d@FagA&5 z#(3I|7>VaG)+}I`IEmxJRX5;oXEeRhTu(s-?1gmMQ0$0>s5w51ZEyx^f^$&g>#!5P zgFgHeHGwaY!!GgDf#=&*ci|o?vsh-+7Q3Nt?1N#Lhsw0T^_QY1SnjUBfXZwR>H!N~ z{|Z#Rb7bdE=j zuSSilK_yy;0S(;D35V_EN9_a7FHjj?Kvg1$3Umuq>M)`tVKVBz{;0q?{AeO2?s|o5 zPe)B)5h~8A1nRGW^{(S1Wg6WzEQmC;eu1inE93StW0Mh;709Td=y$~4c;)9eF_!$9BLv#R0h8~@1ZjH@tM?8rl2-ke^k6d zsQdCzaf;pbGK|;zU&V=LRD%joi^||_4ZxkK00&Uxj^q6aIfJMYx1g4)6?I=2>!}I& zP(>b?wjeJ}UFbY+P$rz3`s2dicHens=LEBLk_ykGbPNME_a{bp)OM2H` zk72{8zbh)SEL8vSWcU7$<$@kmi3&U$r{OXz#TLxR96sp8w59k6Za_`=E1ZSj;~gB$ zZ0BP!f6<=8qo@R;yLc7qg(GNZb)o*boXqD!CGN!v^mX-?VlI}`UWUckgjtx8N;X)I zD(ymChs$s^cI;+0GsNrze4TbecQz<)!d`d`)9`A5li{4S>%oS?(a0qm+SBZLtU&$o zIfR+mh@k|&iQ06x{9ff+QEMMbbS+Ull8dD}bCKfMBxHNo%cx2R*0=#XkSbfF8*mv_ zvRm$YTyMULv@@`P2{hq)+G!aq7w!GH0R4T<-oq{Z`0V0PX8j}9QnqEi~EWQ7?IUyPIvkux!C8)KoMwMz0>I-=aBk(e6vo@o4^$pjy z0&jc_vKr<`4lCwIyZ$XyyzNNN_Bp2Ve7oT~;zlrQ+PzV0S%yoo(zS!AOnydXk~q@a zOqrNXdpvH%HK+<@K4CTyr=Z%0a4i0bs%T*$>;EJti#bu?) zQB229W4ujPfXb){V{tM@<4o+13veL5>-tY4)wd?s?)|h^p}{zW>tk>{u0$mo#3~H@ z%ZUP3vNQC+<){zGCg(m>g)X4pf))(Ld(O~jcok`fqbfHSJK|#0#Mh$k-{$-bHSR1X z@qD|;iAwSt?g(Kcj`L=In(1n$zo6DIYJ#_GAICV_b1@NXk=txNhT}$zz4R4s87&f3`MZpr^e-ZdvO8@`> diff --git a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po index f159001..46bca48 100644 --- a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po @@ -767,3 +767,7 @@ msgstr "Change in score" #. TODO - top move stats show threshold description msgid "show stats if" msgstr "Show stats if more than ... visits" + +#. TODO - analysis option +msgid "cache analysis to sgf" +msgstr "Cache analysis in SGF" diff --git a/katrain/popups.kv b/katrain/popups.kv index eca98e4..6cdca00 100644 --- a/katrain/popups.kv +++ b/katrain/popups.kv @@ -280,10 +280,10 @@ DescriptionLabel: text: i18n._("save dots") AnchorLayout: - size_hint: 1, 3 + size_hint: 1, 4 GridLayout: cols: 2 - rows: 4 + rows: 5 padding: 4 size_hint: 0.95, 1 DescriptionLabel: @@ -293,25 +293,25 @@ LabelledSpinner: size_hint: 0.95,0.8 input_property: 'trainer/theme' - font_size: DESC_FONT_SIZE * 0.8 id: themes_spinner DescriptionLabel: font_size: DESC_FONT_SIZE * 0.8 text: i18n._("stats on top move") - BoxLayout: - orientation: 'horizontal' - size_hint: 1.5,1 - LabelledSpinner: - id: top_moves_show - value_refs: TOP_MOVE_OPTIONS - input_property: "trainer/top_moves_show" - Label: - size_hint: 0.1, 1 - text: '&' - LabelledSpinner: - id: top_moves_show_secondary - value_refs: TOP_MOVE_OPTIONS - input_property: "trainer/top_moves_show_secondary" + AnchorLayout: + BoxLayout: + size_hint: 1, 0.8 + orientation: 'horizontal' + LabelledSpinner: + id: top_moves_show + value_refs: TOP_MOVE_OPTIONS + input_property: "trainer/top_moves_show" + Label: + size_hint: 0.1, 1 + text: '&' + LabelledSpinner: + id: top_moves_show_secondary + value_refs: TOP_MOVE_OPTIONS + input_property: "trainer/top_moves_show_secondary" DescriptionLabel: font_size: DESC_FONT_SIZE * 0.8 text: i18n._("show stats if") @@ -332,6 +332,12 @@ AnchorLayout: LabelledCheckBox: input_property: "trainer/eval_show_ai" + DescriptionLabel: + font_size: DESC_FONT_SIZE * 0.8 + text: i18n._("cache analysis to sgf") + AnchorLayout: + LabelledCheckBox: + input_property: "trainer/save_analysis" AnchorLayout: size_hint: 1,1.5 AutoSizedRoundedRectangleButton: diff --git a/requirements.txt b/requirements.txt index 67fb1d9..8965eac 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ +bson==0.5.10 certifi==2020.6.20 chardet==3.0.4 Cython==0.29.14 diff --git a/setup.py b/setup.py index 9cdf005..7cc9736 100644 --- a/setup.py +++ b/setup.py @@ -42,6 +42,7 @@ setup( "wheel", "setuptools", "urllib3", + "bson", "importlib_resources ;python_version<'3.7'", "cython>=0.24,<=0.29.14,!=0.27,!=0.27.2", # kivy wants this "kivy==2.0.0rc2;platform_system=='Darwin'", # rc3 failing on mac From edb4b19de1290b466b1a18f6c5fc84cb587c9916 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Mon, 30 Nov 2020 14:32:33 +0100 Subject: [PATCH 07/73] fixes --- katrain/__main__.py | 6 +++-- katrain/core/constants.py | 3 +-- katrain/core/game.py | 13 ++++++--- katrain/core/game_node.py | 56 ++++++++++++++++++++++----------------- katrain/core/utils.py | 6 +++++ 5 files changed, 52 insertions(+), 32 deletions(-) diff --git a/katrain/__main__.py b/katrain/__main__.py index 6d5dce1..9463fdb 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -260,7 +260,9 @@ class KaTrainGui(Screen, KaTrainBase): self.play_mode.switch_ui_mode() # for new game, go to play, for loaded, analyze self.board_gui.animating_pv = None self.engine.on_new_game() # clear queries - self.game = Game(self, self.engine, move_tree=move_tree, analyze_fast=analyze_fast,loaded_from_file=loaded_from_file) + self.game = Game( + self, self.engine, move_tree=move_tree, analyze_fast=analyze_fast, loaded_from_file=loaded_from_file + ) if move_tree: for bw, player_info in self.players_info.items(): player_info.player_type = PLAYER_HUMAN @@ -369,7 +371,7 @@ class KaTrainGui(Screen, KaTrainBase): except ParseError as e: self.log(i18n._("Failed to load SGF").format(error=e), OUTPUT_ERROR) return - self._do_new_game(move_tree=move_tree, analyze_fast=fast,loaded_from_file=file) + self._do_new_game(move_tree=move_tree, analyze_fast=fast, loaded_from_file=file) if not rewind: self.game.redo(999) diff --git a/katrain/core/constants.py b/katrain/core/constants.py index e0b9423..b48a438 100644 --- a/katrain/core/constants.py +++ b/katrain/core/constants.py @@ -239,6 +239,5 @@ TOP_MOVE_OPTIONS = [ TOP_MOVE_NOTHING, ] -SGF_COMMENTS_MARKER = "\u200b\u3164" -SGF_NOTE_MARKER = "\u200b\u200b" +SGF_INTERNAL_COMMENTS_MARKER = "\u200b\u3164" SGF_SEPARATOR_MARKER = "\u3164\u3164" diff --git a/katrain/core/game.py b/katrain/core/game.py index 92d0bcc..92e4079 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -16,7 +16,8 @@ from katrain.core.constants import ( STATUS_INFO, STATUS_TEACHING, PLAYER_HUMAN, - VERSION, PROGRAM_NAME, + VERSION, + PROGRAM_NAME, ) from katrain.core.engine import KataGoEngine from katrain.core.game_node import GameNode @@ -45,7 +46,7 @@ class Game: move_tree: GameNode = None, analyze_fast=False, game_properties: Optional[Dict] = None, - loaded_from_file = None + loaded_from_file=None, ): self.katrain = katrain self._lock = threading.Lock() @@ -55,7 +56,6 @@ class Game: self.game_id = datetime.strftime(datetime.now(), "%Y-%m-%d %H %M %S") self.loaded_from_file = loaded_from_file - if move_tree: self.root = move_tree self.komi = self.root.komi @@ -326,7 +326,12 @@ class Game: base_game_name = f"katrain_{player_names['B']} vs {player_names['W']}" game_name = f"{base_game_name} {self.game_id}" - if self.loaded_from_file and base_game_name in self.loaded_from_file and PROGRAM_NAME in self.root.get_property("AP","") and self.loaded_from_file.endswith('sgf'): + if ( + self.loaded_from_file + and base_game_name in self.loaded_from_file + and PROGRAM_NAME in self.root.get_property("AP", "") + and self.loaded_from_file.endswith("sgf") + ): file_name = self.loaded_from_file else: file_name = os.path.abspath(os.path.join(path, f"{game_name}.sgf")) diff --git a/katrain/core/game_node.py b/katrain/core/game_node.py index 3d7fc02..e6005d7 100644 --- a/katrain/core/game_node.py +++ b/katrain/core/game_node.py @@ -2,13 +2,19 @@ import copy import random from typing import Dict, List, Optional, Tuple -from katrain.core.constants import HOMEPAGE, VERSION, SGF_COMMENTS_MARKER, SGF_SEPARATOR_MARKER, SGF_NOTE_MARKER, PROGRAM_NAME +from katrain.core.constants import ( + VERSION, + SGF_INTERNAL_COMMENTS_MARKER, + SGF_SEPARATOR_MARKER, + PROGRAM_NAME, +) from katrain.core.lang import i18n from katrain.core.sgf_parser import Move, SGFNode from katrain.core.utils import evaluation_class, var_to_grid from katrain.gui.style import INFO_PV_COLOR import base64 import gzip +import json class GameNode(SGFNode): @@ -16,8 +22,6 @@ class GameNode(SGFNode): def __init__(self, parent=None, properties=None, move=None): super().__init__(parent=parent, properties=properties, move=move) - self.ownership = None - self.policy = None self.auto_undo = None # None = not analyzed. False: not undone (good move). True: undone (bad move) self.ai_thoughts = "" self.note = "" @@ -31,45 +35,41 @@ class GameNode(SGFNode): def add_list_property(self, property: str, values: List): if property == "KT": try: - import bson - - self.analysis = bson.loads(gzip.decompress(base64.standard_b64decode(values[0]))) + self.analysis = json.loads(gzip.decompress(base64.standard_b64decode(values[0]))) self.analysis_loaded = True except Exception as e: - print(e) + print(f"Error in loading analysis: {e}") elif property == "C": comments = [ # strip out all previously auto generated comments - c for v in values for c in v.split(SGF_SEPARATOR_MARKER) + c + for v in values + for c in v.split(SGF_SEPARATOR_MARKER) + if c.strip() and SGF_INTERNAL_COMMENTS_MARKER not in c ] - self.note = "".join(c for c in comments if SGF_NOTE_MARKER in c) - super().add_list_property( - property, - [c for c in comments if c.strip() and SGF_COMMENTS_MARKER not in c and SGF_NOTE_MARKER not in c], - ) + self.note = "".join(comments) # no super call intended, just save as note to be editable else: return super().add_list_property(property, values) def clear_analysis(self): self.analysis_visits_requested = 0 - self.analysis = {"moves": {}, "root": None, "completed": False} + self.analysis = {"moves": {}, "root": None, "ownership": None, "policy": None, "completed": False} def sgf_properties( self, save_comments_player=None, save_comments_class=None, eval_thresholds=None, save_analysis=False ): properties = copy.copy(super().sgf_properties()) note = self.note.strip() - print(save_analysis, self.analysis_complete) if save_analysis and self.analysis_complete: try: - import bson - analysis = copy.deepcopy(self.analysis) for movedict in analysis["moves"].values(): if "ownership" in movedict: del movedict["ownership"] - properties["KT"] = [base64.standard_b64encode(gzip.compress(bson.dumps(analysis))).decode("utf-8")] + properties["KT"] = [ + base64.standard_b64encode(gzip.compress(json.dumps(analysis).encode("utf-8"))).decode("utf-8") + ] except Exception as e: - print(e) + print(f"Error in saving analysis: {e}") if self.points_lost and save_comments_class is not None and eval_thresholds is not None: show_class = save_comments_class[evaluation_class(self.points_lost, eval_thresholds)] else: @@ -93,12 +93,12 @@ class GameNode(SGFNode): comments.append(self.comment(sgf=True, interactive=False)) if self.is_root: comments = [ - i18n._("SGF start message") + SGF_COMMENTS_MARKER, + i18n._("SGF start message") + SGF_INTERNAL_COMMENTS_MARKER + "\n", *comments, - f"SGF with generated by {PROGRAM_NAME} {VERSION}{SGF_COMMENTS_MARKER}.", + f"\nSGF with generated by {PROGRAM_NAME} {VERSION}{SGF_INTERNAL_COMMENTS_MARKER}.\n", ] if note: - comments.append(f"\nNote: {self.note}{SGF_NOTE_MARKER}") + comments.append(f"{self.note}") if comments: properties["C"] = [SGF_SEPARATOR_MARKER.join(comments)] elif "C" in properties: @@ -169,8 +169,8 @@ class GameNode(SGFNode): move_dict["order"] = 999 # old moves to end for move_analysis in analysis_json["moveInfos"]: self.update_move_analysis(move_analysis, move_analysis["move"]) - self.ownership = analysis_json.get("ownership") - self.policy = analysis_json.get("policy") + self.analysis["ownership"] = analysis_json.get("ownership") + self.analysis["policy"] = analysis_json.get("policy") if not additional_moves: self.analysis["root"] = analysis_json["rootInfo"] if self.parent and self.move: @@ -183,6 +183,14 @@ class GameNode(SGFNode): is_normal_query = refine_move is None and not additional_moves self.analysis["completed"] = self.analysis["completed"] or (is_normal_query and not partial_result) + @property + def ownership(self): + return self.analysis.get("ownership") + + @property + def policy(self): + return self.analysis.get("policy") + @property def analysis_exists(self): return self.analysis["root"] is not None diff --git a/katrain/core/utils.py b/katrain/core/utils.py index 4adf592..a8d1e70 100644 --- a/katrain/core/utils.py +++ b/katrain/core/utils.py @@ -1,4 +1,5 @@ import os +import struct import sys from typing import List, Tuple, TypeVar @@ -55,6 +56,11 @@ def find_package_resource(path, silent_errors=False): return os.path.abspath(os.path.expanduser(path)) # absolute path +def pack_floats(float_list): + return struct.pack('%sf' % len(float_list), *float_list) + + + def format_visits(n): if n < 1000: return str(n) From f0064ec8b9d25ed10230b25304e2acc9cac6f373 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Mon, 30 Nov 2020 15:16:59 +0100 Subject: [PATCH 08/73] nicer debug msg --- katrain/core/engine.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/katrain/core/engine.py b/katrain/core/engine.py index 914ad34..998c02f 100644 --- a/katrain/core/engine.py +++ b/katrain/core/engine.py @@ -207,7 +207,7 @@ class KataGoEngine: del self.queries[query_id] time_taken = time.time() - start_time self.katrain.log( - f"[{time_taken:.1f}][{query_id}][{'....' if partial_result else 'done'}] KataGo Analysis Received: {analysis.keys()}", + f"[{time_taken:.1f}][{query_id}][{'....' if partial_result else 'done'}] KataGo analysis received: {len(analysis.get('moveInfos',[]))} candidate moves, {analysis['rootInfo']['visits']} visits", OUTPUT_DEBUG, ) self.katrain.log(line, OUTPUT_EXTRA_DEBUG) From 8e7430a5ebf5522d5f903f5ce80816f8cabf695b Mon Sep 17 00:00:00 2001 From: Sander Land Date: Mon, 30 Nov 2020 19:29:29 +0100 Subject: [PATCH 09/73] compress analysis more --- katrain/core/constants.py | 1 + katrain/core/game.py | 4 +++- katrain/core/game_node.py | 42 ++++++++++++++++++++++++++++++--------- katrain/core/utils.py | 5 ++++- 4 files changed, 41 insertions(+), 11 deletions(-) diff --git a/katrain/core/constants.py b/katrain/core/constants.py index b48a438..f391d69 100644 --- a/katrain/core/constants.py +++ b/katrain/core/constants.py @@ -2,6 +2,7 @@ PROGRAM_NAME = "KaTrain" VERSION = "1.7.0" HOMEPAGE = "https://github.com/sanderland/katrain" CONFIG_MIN_VERSION = "1.7.0" # keep config files from this version +ANALYSIS_FORMAT_VERSION = "1.0" OUTPUT_ERROR = -1 OUTPUT_KATAGO_STDERR = -0.5 diff --git a/katrain/core/game.py b/katrain/core/game.py index 92e4079..bb31576 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -18,6 +18,7 @@ from katrain.core.constants import ( PLAYER_HUMAN, VERSION, PROGRAM_NAME, + ANALYSIS_FORMAT_VERSION, ) from katrain.core.engine import KataGoEngine from katrain.core.game_node import GameNode @@ -93,7 +94,6 @@ class Game: def analyze_all_nodes(self, priority=0, analyze_fast=False, even_if_present=True): for node in self.root.nodes_in_tree: if even_if_present or not node.analysis_loaded: - print(even_if_present, node.analysis_loaded, node.move) node.clear_analysis() node.analyze(self.engines[node.next_player], priority=priority, analyze_fast=analyze_fast) @@ -321,6 +321,8 @@ class Game: x_properties[bw + "R"] = rank_label(player_info.calculated_rank) if "+" in str(self.end_result): x_properties["RE"] = self.end_result + if save_analysis: + x_properties["KTV"] = ANALYSIS_FORMAT_VERSION self.root.properties = {**root_properties, **{k: [v] for k, v in x_properties.items()}} player_names = {bw: re.sub(r"['<>:\"/\\|?*]", "", self.root.get_property("P" + bw, bw)) for bw in "BW"} base_game_name = f"katrain_{player_names['B']} vs {player_names['W']}" diff --git a/katrain/core/game_node.py b/katrain/core/game_node.py index e6005d7..341f7bb 100644 --- a/katrain/core/game_node.py +++ b/katrain/core/game_node.py @@ -7,16 +7,44 @@ from katrain.core.constants import ( SGF_INTERNAL_COMMENTS_MARKER, SGF_SEPARATOR_MARKER, PROGRAM_NAME, + ANALYSIS_FORMAT_VERSION, ) from katrain.core.lang import i18n from katrain.core.sgf_parser import Move, SGFNode -from katrain.core.utils import evaluation_class, var_to_grid +from katrain.core.utils import evaluation_class, var_to_grid, pack_floats, unpack_floats from katrain.gui.style import INFO_PV_COLOR import base64 import gzip import json +def analysis_dumps(analysis): + analysis = copy.deepcopy(analysis) + for movedict in analysis["moves"].values(): + if "ownership" in movedict: # per-move ownership rarely used + del movedict["ownership"] + ownership_data = pack_floats(analysis.pop("ownership")) + policy_data = pack_floats(analysis.pop("policy")) + main_data = json.dumps(analysis).encode("utf-8") + return [ + base64.standard_b64encode(gzip.compress(data)).decode("utf-8") + for data in [ownership_data, policy_data, main_data] + ] + + +def analysis_loads(property_array, board_squares, version): + if version > ANALYSIS_FORMAT_VERSION: + raise ValueError(f"Can not decode analysis data with version {version}, please update {PROGRAM_NAME}") + ownership_data, policy_data, main_data, *_ = [ + gzip.decompress(base64.standard_b64decode(data)) for data in property_array + ] + return { + **json.loads(main_data), + "policy": unpack_floats(policy_data, board_squares + 1), + "ownership": unpack_floats(ownership_data, board_squares), + } + + class GameNode(SGFNode): """Represents a single game node, with one or more moves and placements.""" @@ -35,7 +63,9 @@ class GameNode(SGFNode): def add_list_property(self, property: str, values: List): if property == "KT": try: - self.analysis = json.loads(gzip.decompress(base64.standard_b64decode(values[0]))) + szx, szy = self.root.board_size + version = self.root.get_property("KTV", "") + self.analysis = analysis_loads(values, szx * szy, version) self.analysis_loaded = True except Exception as e: print(f"Error in loading analysis: {e}") @@ -61,13 +91,7 @@ class GameNode(SGFNode): note = self.note.strip() if save_analysis and self.analysis_complete: try: - analysis = copy.deepcopy(self.analysis) - for movedict in analysis["moves"].values(): - if "ownership" in movedict: - del movedict["ownership"] - properties["KT"] = [ - base64.standard_b64encode(gzip.compress(json.dumps(analysis).encode("utf-8"))).decode("utf-8") - ] + properties["KT"] = analysis_dumps(self.analysis) except Exception as e: print(f"Error in saving analysis: {e}") if self.points_lost and save_comments_class is not None and eval_thresholds is not None: diff --git a/katrain/core/utils.py b/katrain/core/utils.py index a8d1e70..044aa92 100644 --- a/katrain/core/utils.py +++ b/katrain/core/utils.py @@ -57,9 +57,12 @@ def find_package_resource(path, silent_errors=False): def pack_floats(float_list): - return struct.pack('%sf' % len(float_list), *float_list) + return struct.pack(f"{len(float_list)}e", *float_list) +def unpack_floats(str, num): + return struct.unpack(f"{num}e", str) + def format_visits(n): if n < 1000: From 7446070620e9d8804a2aa8ab274afd401dc9371b Mon Sep 17 00:00:00 2001 From: Sander Land Date: Tue, 1 Dec 2020 18:39:53 +0100 Subject: [PATCH 10/73] fix sign etc in win rate/score on moves --- katrain/gui/badukpan.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index 24a6110..a7a765c 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -490,7 +490,8 @@ class BadukPanWidget(Widget): source="img/topmove.png", ) if text_on and top_moves_show: - keys = {"size": self.grid_size / 3, "smallsize": self.grid_size / 3.5} + keys = {"size": self.grid_size / 3, "smallsize": self.grid_size / 3.33} + player_sign = current_node.player_sign(current_node.next_player) if len(top_moves_show) == 1: fmt = "[size={size:.0f}]{" + top_moves_show[0] + "}[/size]" else: @@ -505,8 +506,9 @@ class BadukPanWidget(Widget): keys[TOP_MOVE_DELTA_SCORE] = ( "0.0" if -0.05 < move_dict["pointsLost"] < 0.05 else f"{-move_dict['pointsLost']:+.1f}" ) - keys[TOP_MOVE_SCORE] = move_dict["scoreLead"] - keys[TOP_MOVE_WINRATE] = f"{move_dict['winrate']*100:.1f}" + keys[TOP_MOVE_SCORE] = f"{player_sign * move_dict['scoreLead']:.1f}" + winrate = move_dict["winrate"] if player_sign == 1 else 1 - move_dict["winrate"] + keys[TOP_MOVE_WINRATE] = f"{winrate*100:.1f}" keys[TOP_MOVE_DELTA_WINRATE] = f"{-move_dict['winrateLost']:+.1%}" keys[TOP_MOVE_VISITS] = format_visits(move_dict["visits"]) Color(*BLACK) @@ -515,7 +517,7 @@ class BadukPanWidget(Widget): text=fmt.format(**keys), font_name="Roboto", markup=True, - line_height=0.8, + line_height=0.85, halign="center", ) From 957cdceea21a4aa47c168971718ca93df6a45151 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Tue, 1 Dec 2020 22:14:13 +0100 Subject: [PATCH 11/73] saveas --- CONTRIBUTIONS.md | 2 +- README.md | 16 +++++------ katrain/gui.kv | 27 +++++++++++------- katrain/gui/badukpan.py | 4 ++- .../i18n/locales/cn/LC_MESSAGES/katrain.mo | Bin 14015 -> 14060 bytes .../i18n/locales/cn/LC_MESSAGES/katrain.po | 4 +++ .../i18n/locales/de/LC_MESSAGES/katrain.mo | Bin 15779 -> 15824 bytes .../i18n/locales/de/LC_MESSAGES/katrain.po | 4 +++ .../i18n/locales/en/LC_MESSAGES/katrain.mo | Bin 15439 -> 15484 bytes .../i18n/locales/en/LC_MESSAGES/katrain.po | 3 ++ .../i18n/locales/es/LC_MESSAGES/katrain.mo | Bin 15573 -> 15618 bytes .../i18n/locales/es/LC_MESSAGES/katrain.po | 4 +++ .../i18n/locales/fr/LC_MESSAGES/katrain.mo | Bin 17292 -> 17337 bytes .../i18n/locales/fr/LC_MESSAGES/katrain.po | 4 +++ .../i18n/locales/jp/LC_MESSAGES/katrain.mo | Bin 17841 -> 17886 bytes .../i18n/locales/jp/LC_MESSAGES/katrain.po | 4 +++ .../i18n/locales/ko/LC_MESSAGES/katrain.mo | Bin 17256 -> 17301 bytes .../i18n/locales/ko/LC_MESSAGES/katrain.po | 4 +++ .../i18n/locales/ru/LC_MESSAGES/katrain.mo | Bin 22530 -> 22575 bytes .../i18n/locales/ru/LC_MESSAGES/katrain.po | 4 +++ katrain/img/{flaticon => flags}/flag-cn.png | Bin katrain/img/{flaticon => flags}/flag-de.png | Bin katrain/img/{flaticon => flags}/flag-es.png | Bin katrain/img/{flaticon => flags}/flag-fr.png | Bin katrain/img/{flaticon => flags}/flag-jp.png | Bin katrain/img/{flaticon => flags}/flag-ko.png | Bin katrain/img/{flaticon => flags}/flag-ru.png | Bin katrain/img/{flaticon => flags}/flag-uk.png | Bin setup.py | 2 +- 29 files changed, 60 insertions(+), 22 deletions(-) rename katrain/img/{flaticon => flags}/flag-cn.png (100%) rename katrain/img/{flaticon => flags}/flag-de.png (100%) rename katrain/img/{flaticon => flags}/flag-es.png (100%) rename katrain/img/{flaticon => flags}/flag-fr.png (100%) rename katrain/img/{flaticon => flags}/flag-jp.png (100%) rename katrain/img/{flaticon => flags}/flag-ko.png (100%) rename katrain/img/{flaticon => flags}/flag-ru.png (100%) rename katrain/img/{flaticon => flags}/flag-uk.png (100%) diff --git a/CONTRIBUTIONS.md b/CONTRIBUTIONS.md index 8220031..0e06ce0 100644 --- a/CONTRIBUTIONS.md +++ b/CONTRIBUTIONS.md @@ -27,7 +27,7 @@ For those who have some python experience as well, you can: * Find `gui.kv` and add a button near the others: ``` LangButton: - icon: 'img/flaticon/flag-.png' + icon: 'img/flags/flag-.png' on_press: app.language = '' ``` * The language should now show up in the app. diff --git a/README.md b/README.md index e2c258c..ca0f226 100644 --- a/README.md +++ b/README.md @@ -24,15 +24,15 @@ -English -German -French -Spanish +English +German +French +Spanish
-Russian -Chinese -Korean -Japanese +Russian +Chinese +Korean +Japanese diff --git a/katrain/gui.kv b/katrain/gui.kv index 0ff2a34..480fb22 100644 --- a/katrain/gui.kv +++ b/katrain/gui.kv @@ -947,7 +947,12 @@ text: i18n._('menu:save') icon: 'img/Save-Game.png' shortcut: 'Ctrl-S' - on_action: root.katrain("output-sgf") + on_action: root.katrain("save-game") + MainMenuItem: + text: i18n._('menu:save-as') + icon: 'img/Save-Game.png' + shortcut: 'Ctrl-Shift-S' + on_action: root.katrain("save-game-as") MainMenuItem: text: i18n._('menu:load') icon: 'img/Load-Game.png' @@ -980,28 +985,28 @@ height: 1.5 * root.item_height padding: CP_PADDING, 0 LangButton: - icon: 'img/flaticon/flag-uk.png' + icon: 'img/flags/flag-uk.png' on_press: app.language = 'en' LangButton: - icon: 'img/flaticon/flag-de.png' + icon: 'img/flags/flag-de.png' on_press: app.language = 'de' LangButton: - icon: 'img/flaticon/flag-fr.png' + icon: 'img/flags/flag-fr.png' on_press: app.language = 'fr' +# LangButton: +# icon: 'img/flags/flag-es.png' +# on_press: app.language = 'es' LangButton: - icon: 'img/flaticon/flag-es.png' - on_press: app.language = 'es' - LangButton: - icon: 'img/flaticon/flag-ru.png' + icon: 'img/flags/flag-ru.png' on_press: app.language = 'ru' LangButton: - icon: 'img/flaticon/flag-cn.png' + icon: 'img/flags/flag-cn.png' on_press: app.language = 'cn' LangButton: - icon: 'img/flaticon/flag-ko.png' + icon: 'img/flags/flag-ko.png' on_press: app.language = 'ko' LangButton: - icon: 'img/flaticon/flag-jp.png' + icon: 'img/flags/flag-jp.png' on_press: app.language = 'jp' BoxLayout: size_hint: 1,None diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index a7a765c..2ddc50e 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -94,7 +94,9 @@ class BadukPanWidget(Widget): near_move = [ (pv, node) for move, pv, node in self.active_pv_moves - if abs(rel_pos[0] - self.gridpos_x[move[0]]) < self.grid_size / 2 + if move[0] < len(self.gridpos_x) + and move[1] < len(self.gridpos_y) + and abs(rel_pos[0] - self.gridpos_x[move[0]]) < self.grid_size / 2 and abs(rel_pos[1] - self.gridpos_y[move[1]]) < self.grid_size / 2 ] if near_move: diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo index 21a9a179f0ad8eb40f98cdccf38edb53ca01b309..3459baa61083576bc01a63828003c0bc2f8c2e61 100644 GIT binary patch delta 3422 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 delta 3386 zcmYM$4~)-c9Ki8McZ&1>IRDPSOX5&;I?jnn{@?7b-O8jyi!oixpIROB!%a@j(n4-C z6c#xt*R*1nq-e~)QAx^Cnu{iuCPnXezh}#Sey`_wzR&Y{p6ByC-ycWjte=zkAw6|P z;Ll8O$H9$A%`X!ku-%`q&#Cn2#w~i0-sFK7SHj;I!C28{OG_bb|8u{7p38+tEri z&JJwM{9z9TcXl*(_z~UNg;>89b@>KPLz+SxG*C9Wb#rWv+32`|$R`x=bfG2a5iLN+ zElDT;UZxeXVZ zz$cvG%fPkhdwmlP)QbFRH#9*1=n!l}y#U?7Wb`$B9{mX^MJHGgpRYm}x+(e*GDRYM zNx_t!LIeGb?(C1)UXLg~Pe*su4$V+EbYZ#i`EWGVMe+FrG|qIi-@NE+=t9?FBj5jx z6x>-AGH2L@PIwF*_lDH(n2XuC8+T(Z`j5~SR_hUL!=-oty>#R5OlEE( zy0em4e<50iW@s6Dx7J_-OuQcpyU;V*j|M!69>tmHCG?2?!UI^pGZzt0;L})j7h|z? z7v31G!B8iJ>bpbuoZ_clIa2Cn-9q?^`YLu;Scmg}ifvz_VS5k$(}3$Zhkvl=J$x~s z`@PA9^dRqKG322O9gAjeDw4b~AJcFhGDp~gP4GB!9l}p&%5R|?Y1!Mj3I0bzf#VK2 zXle@4)J#GHm7tke8Qa&R8QO-v-#gHWs$=~Sdda?y?U!)~buX58>>+fa&tXI64|6EE zvU2o{*7^XqBH0d~U_CsI_v3l=wam;(W+V%}goDwy=23J*({UV@$NE`h^WhfSzZW+; z!SRJ*6nJ&RH1yaOqL*wFHpRU-0#6`whxV*uFczZYmSI2Kj4iMRnIl|7Q=QGb=f?8T z-<#p+xT0M0?*gXLK$gN%^sK65{Uo}Rw7&eBVOKQeBhf%bn1zp_6VF9o!`IOiuSDa$ zh3U8p-PmC??yr5xKNm67WBFdD9CXK{(E#JIIZi>3q!c}h#poSbhVE=NI__O`XFJiI zA4eB(4m;sZ^hi7ACF2cAP+*gx5S?fd(kE1)0gs}W?JVAg7h?S)nu)9EWxEm0=$~9* zFC_aR4;^2E#+!}4Sc}lhn5d%QPR<~2TDXX=Ff%`yvO(zWemFV_&A<#aL#4=D8Wu$t zqjzKpdK5d+h3-b@*^g%OIFg}6sG(rM%V@ys$ZttV9l+5LIU8*+eju5l37A2BCVH0T z=mIyOXZ#_i;6C&%Ie=#1C_2x#=)!8SgSYQI1q0O`$iGyWg&xH)9EIbm+B6zdziL*? Q$ysj<>d<<7-jTZh0{A3M3;+NC diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po index 9ba985f..bc1ecf7 100644 --- a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po @@ -770,3 +770,7 @@ msgid "cache analysis to sgf" msgstr "" "cache analysis to sgf\n" "(larger files, only compatible with KaTrain)" + +#. TODO +msgid "menu:save-as" +msgstr "Save Game As..." diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo index 5babd5b6ace3742cc10a86878403d7f7ac40f6dc..865aa1d4c17b8762862b1f13b9860a6252e866f1 100644 GIT binary patch delta 3422 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 delta 3383 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 As{jB1 delta 3389 zcmYM$3ryBk7{~F4K=K9%3WT7bsK^909fA-TNSQHjW2R+U*)&bXYo?~YUbetea}y~y zOOs4p*lKK=X||b~>n>)_yi{72bW!KjnTCCT{GY9c@8_KJKbPk`=ltKdJ(XdrD#Jo& z<094@|9!*16#i95s%F+U>VFd{Mp2K)?ih;&cn=Q4HaN-avoVhPE0~IJdVN2(qka_c z#&Z~L7P3YPF*Mxt4y|Za$Bx(^IZjbFT6E&_7`Li-U6zCJ)KF#Y3Q30$( z&9gC<{HtS~KiG@>+1Grqmi>eZ;0mhWZLhas7G)>_m4S3@iG5K0@=yy5K?OPn73g%- z5iLWFTNy|Gb(z+C$2wH~04ji!ZlgcHg*wYvW>ddpw;yW3p-7DOsJBl=Wo9`t)Yf{v z*6SaHC}`k8)WGjhJG+1i;3{gN2=bqd$w-ssq9!au?RdO99W`zdYKN;)8Qg%%(A)le zCu-i%ehU2AaXvJ0BkH|wLQRxN{$x+o1Owd?OrluCGM-J zKsRHQ-v6x>w6l6-P1}cBumLsjwAcSaEqntNNCaPt?7-T&-BCNwM;&D`>avxi<{O6^ zHxV_@EVb+XUqV3(RiSpU0X4xk)DHIe^Dj{ooI&-wh|K}H5uBS+9E;je8fxB5Q~>#? zyHJW6Hv&U?@HhocJP9>mHYyVRQ5zebME=!bG7TCqAGJ^=YT{~~iaW3;#`A?hjB?$c{8XlNDIbYLT$Wls7vrGm4X9k$i?MYfy&4g+=A9M_z|i_?R*<9 z!@a0WSI91uxl+{Gk3wC($52N&!JUk{0~M%op#>Cl_DfL%R-q=SMqRQuPz%26?Vn&R z^&|LHnAx;$X3tXpsyi8^p2K-0;UgLR;NVQotqgz3G|Rxgz05k{Skf37#`(|7CL$UZ z_vQx!tNQS*br;`&ea)W6x&4EkeV-Hj55;-Z9Q&~eD=*bLO2SdBWW z&8Rc~7?s%*7^C<90tMab>)s(QHyD_O#AJi8Ic2DfEI_5M5|yzvsEpNk`zBO?@1O$O z=k;%~3-t@Ax2`2OvibKvj)Kmv3+gC(qbANrvSlTxh%0b3E=DbQ43&Y?$c49Cr~nhV z!3o$6r(gl<(r!h~*MJJ72}4>iEk8(67IK_6)U7~0Uxys4Z9>+t!&roOP=OT{1Pcs9 zO}r2baU&{IKcIH}GwLn*!`m+xkbgybg9h%0Mc>COhk3|-vPr0jSD}vLL)6ZHLmkOw z-|l|MC^mg)DYB$%27x994depP#b&+IevQ|HP7!M3fw!pj*2jQP>{-E)Hh%S zDu5NJ9lh-J_3lR0g0-j}eS`}9IP&J%8Lvm)AN;IGV-MOhFatxwDd@*$9;RXyDn;8- zJN^Qd(zB>9lJo9GR6v(74F7R&qc+rp8kbWX^vg%pA3$yB;lPlMqM(V#qAtmJRLUk} zd>E-iWoC6rkm9#cN3|2x?^D!KG@t@Lhv9e)HSbN-f_G4NCvtF*p%{$Tmw#e&fwZ_e gs6a}Qa613fN9Qvd(} diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po index 5bd3178..1123176 100644 --- a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po @@ -809,3 +809,7 @@ msgstr "Show stats if more than ... visits" #. TODO - analysis option msgid "cache analysis to sgf" msgstr "Cache analysis in SGF" + +#. TODO +msgid "menu:save-as" +msgstr "Save Game As..." diff --git a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.mo index 3f01a38049c26d107eb56806d3a080f086d4d5e3..f1c8e3848bf703a2021b4cbbc803c1f2ed46eab6 100644 GIT binary patch delta 3424 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 diff --git a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po index 4a7f2aa..a8e523f 100644 --- a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po @@ -762,3 +762,7 @@ msgstr "Show stats if more than ... visits" #. TODO - analysis option msgid "cache analysis to sgf" msgstr "Cache analysis in SGF" + +#. TODO +msgid "menu:save-as" +msgstr "Save Game As..." diff --git a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.mo index fe6641cdb12fbb232272e78c7517e2cbb6bbbab3..3c40c7ac6fc4117a8e1676212624cd458a446f0b 100644 GIT binary patch delta 3425 zcmYM#3ryBk7{~DkMHCf8cvbKcx5QF;E$`qBH6hfNm*r(@%9P9%Svqes`lltD_e(4< zxtUX=vNoj@H*Cup+A1`2Hd{Gek+Ci`lS(Sr_s9EexmP~_^FQbRoaa2}{NMM-vZ(U) zQNgvu=yK!VMgDi^|LZYoaUJ)+UAXK)yAuw=jyM66aSpb_<=$S4iM01&D!%9KT1=pQ z16$)Qj5iCciHi>0h^3_gDQ<6UOM4h9U_LU`W@2Yti0$zOjK)o<1h=EcAHlA83PX4q z6~7+&SQCFbF~7w!yKbbSRu;xs%tJjm9$VsE)Jo@j|6){vtNi}UsFiI;#oO)uZ=&KI zcdJoxYA~Mp?GhJS*$p4ifLhrdZ^w|f0wkaUcSXAFepH|w)QZP>{|r>Th3+!c_?J-Q zcA*w}1OpAM;)0LW@JH>h+&a_>e@9i~E-FwGPpj0Kn1nf~=N>^mHj6(>w8ZZ}@9mAK z1ooif9PLQ`HL%({K1DuujX%s~zo8O{;wg=5k7{>ARVWKpfdSYCN1?_&jGACND$#|g zL`zXyv;+0rot`6#m~5b;JqZVJ@P9f}H2=uW{D+Otp#ScZBH*P*^bHlilj;r$h; zM629$$W(z{;X)<-2^FXjwX#+`t^3Jt25LopQ571BN^qR_PxJfpP$e(%_G(nT4XE+^ z+@lz+_y05(df*Idg%^<=>?$gO2GoOhyxo?sLnRPGC6tb;V75C3Re|ZKEqxqy=$=Kz zTZwvZEwpOpb@CJ`KSb@ zqs~MT272&m?^uNj{1WPcZKz5dz*cwyHNF~k7(YQxREMg-ZKOyR%fZm|X{i1OQCpkm z_b0hUDb!ypTjB%Op&lqlO>_tq_!vHgH8>vo^TnQzrKk#=#ol-cHSxc=3FFD~ZQP4X zaU8#JBk>ew;a}aUzcNeh!9HR?3&3HNXS@gdZTOOeIftEdvc ziwp217Gd{Pwj+ukE1awTG&6S3;sR#X9`{78bO`3)MBI#J$j6d0%xZBE>c=QLGm=mn zJVQGZb?AOTRp1xY-rq%4vh}@@`yte8-V;^1AjdljPy=V6R$7c&$&0ANveEm?Q4<`* zV_1oQVsTHisW^wa-oj&;9>o^+GMj=m_wfdCKZSjIjCN9==5c{7>dU@xV|KRL&kQ&i zX8&*o`)@Q5o!S?*csQLp5KjWcm%aI=TPyw zadK6OAsFb!Y%X-@R-!UIjwU$xYLF|$x;7A;a1z3uj@MFxwFHsYOa@ktU zLG=fyGq%OsdvmG3Ix4u4j3C3x{(}_35_uPuNTK^AsuJtntw@emj*3@{s?0au ze;rkso0x)kQCponoce1oa)`a$@hbA2W0`r8!1<^Z&vX}{ z5?zc+Yz?aP+uU6^oAzs{L~px)M+~e5vnpULDnQ8F8Q#uDm24Q^#%bO^VN7KFG*l%P zptkHe)K~gCR3*w$300te#Ezm8IgV{?AU_6NsB~vg6McqCM)f?T0v1saoXsm;c&RJ)rk2q{{eLRQFH(R delta 3386 zcmYM#du+~E9LMo*wYnBXOG_WUu0!h{Ri*BYOS{_0Ow47NA?UhHk%^9niItS`hj#18 zEW3nSm!O+vn^}g?EsKpzHo>r)={A{J+X%6}KYrh2@_1h7@;m2z&-a|))9T8I-(HFc z|Bw(>ZT$P1|0(?68LgUGhq(XkMlp_hBKE|19D&{O5p0i(y`eU( zK7c=BN3*asQRqa&ZGRw^Ry`QPcGwp+;ZWoeE5;<8fgSK!jKT_3fa_7u*I)?iuq&QG z&3hjCSQB4~tZ%oyp%YPPXK5IVgHQttFcPPrb~?@b=b-{z>g_90J6n%hV6*qXf|~D5 zw;namVeH8Ic8r2{cE%sLjM~|CueZ1gUlX@Onk*SLQ4VUydEQ@yns0`?2=)95)N>nA z8?C{x9^6NPj~(Vq^;7OS)DC|_W#R^EqDV$7)m^X)=Ag!nLOxc)mjZp#+n@3J8dLyV zQ1k4LC;xh|-a9@)K6aWf*0L+80B)k5yX*D#%%Th>p)!z#F*p$Q+%VJvlTd-qKm}Tc zI-(7zaa$6|zb;d?KUj~dA43Ij-fi;!JE*gaXEr_8!ySxTuo#KaW_o)mDl;!4Lv4rG z-}3swFa-@ffg1QNYG=Qq0=R`*D2n{|z#d4G<)bDnLG5_1TZS6<0&0ibP#LU6W$111 ze-AZp_$UQFc8)Ji+=P0s@1Z8@M*d_rYJ%ZzAtqBVL2Y0W>NQ-2`UzQsT400szlsWU zpZg)QMA%MJP)aYLCi(@nvu1CPVHWi#pmvmk%1|~cusrXdh)VTT@1KjBrxf+vI(IuN z&^Itn@Bcd#w6g|eO*?{G@GNTJMX&#fTDTPzNEAPd?7%v^JyAO^Kpo{c)McB7nr}90 z+#=LG%hj&;e;oxav>CO7TGRx4Q9Jm^`@cd>a0&I?b-W*t8^yUP#qp>OWuWHGK?P8N zx(nk`D-|<)}<-#I{(A8n6d-3F}b{HKH=`9g-CL12sO9i=qCms3Xln zwdcCyQ5&0{O#b!25*jpMHEN+s)Wkcn6zlL|OymcBBF;x;U@!K;4^RtS!799o`*AJN zuE1>mvW>>w*b6V9)@_qY{xc~gq?+-uA$*O%$FLY*M&`2bF&A&)FzlTc?07!1X?q@( z$sM>5U&E*HUmOrYIo)iY`ZIW=@GsO6$Anp3I}PD*9Ee+SDe|!vzD{HJ2ZKLC*H8id zj>j-ME4XxDpfd0c>g=zgGTG$qt*F;K=Aj^SDX8beeJJR`5vYlaP&;`Vby>>1e>G~r zCOn8W*os9xx#2jLy#9?lF*AZA>`fN2E}OrwwBOC)ys5WvUV3hFKeGuDod1~qTpSuU z4d7=O%LnqS)rLq1nH^<7&EO#N=|h5yEJfzDDpU&JM^42~qEh=aX5d|~r{I!4pq-|IuXUWm$6u{#U9QZGd| zZ|hOx-c>*A+aU_NM8{FL`XcHzYr;f~&JPBppmv^xkvJK3rc*Hq7ox^jUL2RRQ_$PDd>b+y^^^+VN#%^VW$bD19<;#pzg|9)LCEh z{u`K1J$h8I<6an|o{PLF_9(Kptwd$^K$rq!>s-o~leo;+*fIjBI&P${fH1+*Cz z$ad6EX)Wpq>%ISTutsa{jo?=Ee*$EcqRocv<_*n3!~L+7vW|rJ59Xi-q!k7W=Abf> zk2Wmvvsl0;a*j(5UiklqU Pup;R|uZG-F3!?u6C~HZ( diff --git a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po index 9e47d2d..a7d88ca 100644 --- a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po @@ -737,3 +737,7 @@ msgstr "Show stats if more than ... visits" #. TODO - analysis option msgid "cache analysis to sgf" msgstr "ache analysis in SGF" + +#. TODO +msgid "menu:save-as" +msgstr "Save Game As..." diff --git a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.mo index 75faa2dafd6bfdb8f9e122e48775016a5d512c5d..34466babac340e5e4b7ab6a13f199db6bc24ddbb 100644 GIT binary patch delta 3424 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 diff --git a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po index 46bca48..7397039 100644 --- a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po @@ -771,3 +771,7 @@ msgstr "Show stats if more than ... visits" #. TODO - analysis option msgid "cache analysis to sgf" msgstr "Cache analysis in SGF" + +#. TODO +msgid "menu:save-as" +msgstr "Save Game As..." diff --git a/katrain/img/flaticon/flag-cn.png b/katrain/img/flags/flag-cn.png similarity index 100% rename from katrain/img/flaticon/flag-cn.png rename to katrain/img/flags/flag-cn.png diff --git a/katrain/img/flaticon/flag-de.png b/katrain/img/flags/flag-de.png similarity index 100% rename from katrain/img/flaticon/flag-de.png rename to katrain/img/flags/flag-de.png diff --git a/katrain/img/flaticon/flag-es.png b/katrain/img/flags/flag-es.png similarity index 100% rename from katrain/img/flaticon/flag-es.png rename to katrain/img/flags/flag-es.png diff --git a/katrain/img/flaticon/flag-fr.png b/katrain/img/flags/flag-fr.png similarity index 100% rename from katrain/img/flaticon/flag-fr.png rename to katrain/img/flags/flag-fr.png diff --git a/katrain/img/flaticon/flag-jp.png b/katrain/img/flags/flag-jp.png similarity index 100% rename from katrain/img/flaticon/flag-jp.png rename to katrain/img/flags/flag-jp.png diff --git a/katrain/img/flaticon/flag-ko.png b/katrain/img/flags/flag-ko.png similarity index 100% rename from katrain/img/flaticon/flag-ko.png rename to katrain/img/flags/flag-ko.png diff --git a/katrain/img/flaticon/flag-ru.png b/katrain/img/flags/flag-ru.png similarity index 100% rename from katrain/img/flaticon/flag-ru.png rename to katrain/img/flags/flag-ru.png diff --git a/katrain/img/flaticon/flag-uk.png b/katrain/img/flags/flag-uk.png similarity index 100% rename from katrain/img/flaticon/flag-uk.png rename to katrain/img/flags/flag-uk.png diff --git a/setup.py b/setup.py index 7cc9736..2ca7be5 100644 --- a/setup.py +++ b/setup.py @@ -21,7 +21,7 @@ include_data_files("katrain/models") include_data_files("katrain/fonts") include_data_files("katrain/sounds") include_data_files("katrain/img/") -include_data_files("katrain/img/flaticon") +include_data_files("katrain/img/flags") include_data_files("katrain/i18n") print(packages, package_data) From 93841e9b35156a97f57cc6cf0d751882b806218d Mon Sep 17 00:00:00 2001 From: Sander Land Date: Tue, 1 Dec 2020 23:09:02 +0100 Subject: [PATCH 12/73] save as --- README.md | 5 +- katrain/__main__.py | 50 ++++++++++++++---- katrain/core/game.py | 28 ++++------ katrain/gui.kv | 6 +-- katrain/gui/popups.py | 16 +++++- .../i18n/locales/cn/LC_MESSAGES/katrain.mo | Bin 14060 -> 14177 bytes .../i18n/locales/cn/LC_MESSAGES/katrain.po | 15 ++++++ .../i18n/locales/de/LC_MESSAGES/katrain.mo | Bin 15824 -> 15941 bytes .../i18n/locales/de/LC_MESSAGES/katrain.po | 15 ++++++ .../i18n/locales/en/LC_MESSAGES/katrain.mo | Bin 15484 -> 15601 bytes .../i18n/locales/en/LC_MESSAGES/katrain.po | 12 +++++ .../i18n/locales/es/LC_MESSAGES/katrain.mo | Bin 15618 -> 15735 bytes .../i18n/locales/es/LC_MESSAGES/katrain.po | 15 ++++++ .../i18n/locales/fr/LC_MESSAGES/katrain.mo | Bin 17337 -> 17454 bytes .../i18n/locales/fr/LC_MESSAGES/katrain.po | 15 ++++++ .../i18n/locales/jp/LC_MESSAGES/katrain.mo | Bin 17886 -> 18003 bytes .../i18n/locales/jp/LC_MESSAGES/katrain.po | 15 ++++++ .../i18n/locales/ko/LC_MESSAGES/katrain.mo | Bin 17301 -> 17418 bytes .../i18n/locales/ko/LC_MESSAGES/katrain.po | 15 ++++++ .../i18n/locales/ru/LC_MESSAGES/katrain.mo | Bin 22575 -> 22692 bytes .../i18n/locales/ru/LC_MESSAGES/katrain.po | 15 ++++++ katrain/img/Save-Game - As.png | Bin 0 -> 9821 bytes katrain/popups.kv | 17 +++--- 23 files changed, 196 insertions(+), 43 deletions(-) create mode 100644 katrain/img/Save-Game - As.png diff --git a/README.md b/README.md index ca0f226..1390f51 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![License:MIT](https://img.shields.io/pypi/l/katrain)](https://en.wikipedia.org/wiki/MIT_License) [![GitHub Downloads](https://img.shields.io/github/downloads/sanderland/katrain/total?color=%23336699&label=github%20downloads)](https://github.com/sanderland/katrain/releases) [![PyPI Downloads](https://pepy.tech/badge/katrain)](https://pepy.tech/project/katrain) -[![Github sponsors](https://img.shields.io/static/v1?label=sponsor&message=7&logo=GitHub&color=dcb424&link=https://github.com/sponsors/sanderland/)](https://github.com/sponsors/sanderland) +[![Github sponsors](https://img.shields.io/static/v1?label=sponsor&message=6&logo=GitHub&color=dcb424&link=https://github.com/sponsors/sanderland/)](https://github.com/sponsors/sanderland) [![Discord](https://img.shields.io/discord/417022162348802048?logo=discord)](https://discord.com/channels/417022162348802048/629446365688365067) @@ -27,9 +27,8 @@ EnglishGermanFrench -Spanish -
Russian +
ChineseKoreanJapanese diff --git a/katrain/__main__.py b/katrain/__main__.py index 9463fdb..de8e706 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -66,7 +66,7 @@ from katrain.core.constants import ( PLAYING_NORMAL, PLAYER_HUMAN, ) -from katrain.gui.popups import ConfigTeacherPopup, ConfigTimerPopup, I18NPopup +from katrain.gui.popups import ConfigTeacherPopup, ConfigTimerPopup, I18NPopup, SaveSGFPopup from katrain.core.base_katrain import KaTrainBase from katrain.core.engine import KataGoEngine from katrain.core.game import Game, IllegalMoveException, KaTrainSGF @@ -227,6 +227,7 @@ class KaTrainGui(Screen, KaTrainBase): def set_note(self, note): self.game.current_node.note = note + # The message loop is here to make sure moves happen in the right order, and slow operations don't hang the GUI def _message_loop_thread(self): while True: game, msg, args, kwargs = self.message_queue.get() @@ -253,16 +254,14 @@ class KaTrainGui(Screen, KaTrainBase): else: # game related actions self.message_queue.put([self.game.game_id, message, args, kwargs]) - def _do_new_game(self, move_tree=None, analyze_fast=False, loaded_from_file=None): + def _do_new_game(self, move_tree=None, analyze_fast=False, sgf_filename=None): self.idle_analysis = False mode = self.play_analyze_mode if (move_tree is not None and mode == MODE_PLAY) or (move_tree is None and mode == MODE_ANALYZE): self.play_mode.switch_ui_mode() # for new game, go to play, for loaded, analyze self.board_gui.animating_pv = None self.engine.on_new_game() # clear queries - self.game = Game( - self, self.engine, move_tree=move_tree, analyze_fast=analyze_fast, loaded_from_file=loaded_from_file - ) + self.game = Game(self, self.engine, move_tree=move_tree, analyze_fast=analyze_fast, sgf_filename=sgf_filename) if move_tree: for bw, player_info in self.players_info.items(): player_info.player_type = PLAYER_HUMAN @@ -371,7 +370,7 @@ class KaTrainGui(Screen, KaTrainBase): except ParseError as e: self.log(i18n._("Failed to load SGF").format(error=e), OUTPUT_ERROR) return - self._do_new_game(move_tree=move_tree, analyze_fast=fast, loaded_from_file=file) + self._do_new_game(move_tree=move_tree, analyze_fast=fast, sgf_filename=file) if not rewind: self.game.redo(999) @@ -387,9 +386,8 @@ class KaTrainGui(Screen, KaTrainBase): filename = popup_contents.filesel.filename self.fileselect_popup.dismiss() path, file = os.path.split(filename) - settings_path = self.config("general/sgf_load") - if path != settings_path: - self.log(f"Updating sgf load path default to {path}", OUTPUT_INFO) + if path != self.config("general/sgf_load"): + self.log(f"Updating sgf load path default to {path}", OUTPUT_DEBUG) self._config["general"]["sgf_load"] = path self.save_config("general") self.load_sgf_file(filename, popup_contents.fast.active, popup_contents.rewind.active) @@ -399,11 +397,39 @@ class KaTrainGui(Screen, KaTrainBase): self.fileselect_popup.open() self.fileselect_popup.content.filesel.ids.list_view._trigger_update() - def _do_output_sgf(self): + def _do_save_game(self, filename=None): + filename = filename or self.game.sgf_filename + if not filename: + return self("save-game-as") msg = self.game.write_sgf(self.config("general/sgf_save")) self.log(msg, OUTPUT_INFO) self.controls.set_status(msg, STATUS_INFO) + def _do_save_game_as_popup(self): + popup_contents = SaveSGFPopup() + save_game_popup = I18NPopup( + title_key="save sgf title", size=[dp(1200), dp(800)], content=popup_contents + ).__self__ + + def readfile(*_args): + filename = popup_contents.filesel.filename + if not filename.lower().endswith('.sgf'): + filename += '.sgf' + save_game_popup.dismiss() + path, file = os.path.split(filename) + if path != self.config("general/sgf_save"): + self.log(f"Updating sgf save path default to {path}", OUTPUT_DEBUG) + self._config["general"]["sgf_save"] = path + self.save_config("general") + self._do_save_game(filename) + + popup_contents.filesel.on_success = readfile + popup_contents.filesel.on_submit = readfile + save_game_popup.open() + popup_contents.filesel.ids.file_text = self.game.generate_filename() # TODO: ??? + popup_contents.filesel.path = os.path.abspath(os.path.expanduser(self.config("general/sgf_save", "."))) + # save_game_popup.content.filesel.ids.list_view._trigger_update() + def load_sgf_from_clipboard(self): clipboard = Clipboard.paste() if not clipboard: @@ -513,7 +539,9 @@ class KaTrainGui(Screen, KaTrainBase): elif keycode[1] == "l" and ctrl_pressed: self("analyze-sgf-popup") elif keycode[1] == "s" and ctrl_pressed: - self("output-sgf") + self("save-game") + elif keycode[1] == "d" and ctrl_pressed: + self("save-game-as-popup") elif keycode[1] == "c" and ctrl_pressed: Clipboard.copy(self.game.root.sgf()) self.controls.set_status(i18n._("Copied SGF to clipboard."), STATUS_INFO) diff --git a/katrain/core/game.py b/katrain/core/game.py index bb31576..4c2c945 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -47,7 +47,7 @@ class Game: move_tree: GameNode = None, analyze_fast=False, game_properties: Optional[Dict] = None, - loaded_from_file=None, + sgf_filename=None, ): self.katrain = katrain self._lock = threading.Lock() @@ -55,7 +55,7 @@ class Game: engine = {"B": engine, "W": engine} self.engines = engine self.game_id = datetime.strftime(datetime.now(), "%Y-%m-%d %H %M %S") - self.loaded_from_file = loaded_from_file + self.sgf_filename = sgf_filename if move_tree: self.root = move_tree @@ -295,14 +295,18 @@ class Game: + f"\ncaptures: {self.prisoner_count}" ) + def generate_filename(self): + player_names = {bw: re.sub(r"['<>:\"/\\|?*]", "", self.root.get_property("P" + bw, bw)) for bw in "BW"} + base_game_name = f"katrain_{player_names['B']} vs {player_names['W']}" + return f"{base_game_name} {self.game_id}" + def write_sgf( - self, path: str, trainer_config: Optional[Dict] = None, + self, file_name: str=None, trainer_config: Optional[Dict] = None, ): if trainer_config is None: trainer_config = self.katrain.config("trainer", {}) save_feedback = trainer_config.get("save_feedback", False) eval_thresholds = trainer_config["eval_thresholds"] - print(trainer_config) save_analysis = trainer_config.get("save_analysis", False) def player_name(player_info): @@ -324,20 +328,6 @@ class Game: if save_analysis: x_properties["KTV"] = ANALYSIS_FORMAT_VERSION self.root.properties = {**root_properties, **{k: [v] for k, v in x_properties.items()}} - player_names = {bw: re.sub(r"['<>:\"/\\|?*]", "", self.root.get_property("P" + bw, bw)) for bw in "BW"} - base_game_name = f"katrain_{player_names['B']} vs {player_names['W']}" - game_name = f"{base_game_name} {self.game_id}" - - if ( - self.loaded_from_file - and base_game_name in self.loaded_from_file - and PROGRAM_NAME in self.root.get_property("AP", "") - and self.loaded_from_file.endswith("sgf") - ): - file_name = self.loaded_from_file - else: - file_name = os.path.abspath(os.path.join(path, f"{game_name}.sgf")) - os.makedirs(os.path.dirname(file_name), exist_ok=True) show_dots_for = { bw: trainer_config.get("eval_show_ai", True) or self.katrain.players_info[bw].human for bw in "BW" @@ -348,6 +338,8 @@ class Game: eval_thresholds=eval_thresholds, save_analysis=save_analysis, ) + file_name = file_name or self.generate_filename() + os.makedirs(os.path.dirname(file_name), exist_ok=True) with open(file_name, "w", encoding="utf-8") as f: f.write(sgf) self.root.properties = root_properties diff --git a/katrain/gui.kv b/katrain/gui.kv index 480fb22..bdf1e73 100644 --- a/katrain/gui.kv +++ b/katrain/gui.kv @@ -950,9 +950,9 @@ on_action: root.katrain("save-game") MainMenuItem: text: i18n._('menu:save-as') - icon: 'img/Save-Game.png' - shortcut: 'Ctrl-Shift-S' - on_action: root.katrain("save-game-as") + icon: 'img/Save-Game-As.png' + shortcut: 'Ctrl-D' + on_action: root.katrain("save-game-as-popup") MainMenuItem: text: i18n._('menu:load') icon: 'img/Load-Game.png' diff --git a/katrain/gui/popups.py b/katrain/gui/popups.py index 9698e0b..96d2978 100644 --- a/katrain/gui/popups.py +++ b/katrain/gui/popups.py @@ -669,13 +669,25 @@ class LoadSGFPopup(BoxLayout): super().__init__(**kwargs) app = MDApp.get_running_app() self.filesel.favorites = [ - (os.path.abspath(app.gui.config("general/sgf_load")), "Last Used Dir"), - (os.path.abspath(app.gui.config("general/sgf_save")), "SGF Save Dir"), + (os.path.abspath(app.gui.config("general/sgf_load")), "Last Load Dir"), + (os.path.abspath(app.gui.config("general/sgf_save")), "Last Save Dir"), ] self.filesel.path = os.path.abspath(os.path.expanduser(app.gui.config("general/sgf_load"))) self.filesel.select_string = i18n._("Load File") +class SaveSGFPopup(BoxLayout): + def __init__(self, **kwargs): + super().__init__(**kwargs) + app = MDApp.get_running_app() + self.filesel.favorites = [ + (os.path.abspath(app.gui.config("general/sgf_load")), "Last Load Dir"), + (os.path.abspath(app.gui.config("general/sgf_save")), "Last Save Dir"), + ] + self.filesel.path = os.path.abspath(os.path.expanduser(MDApp.get_running_app().gui.config("general/sgf_save"))) + self.filesel.select_string = i18n._("Save File") + + class ReAnalyzeGamePopup(BoxLayout): katrain = ObjectProperty(None) popup = ObjectProperty(None) diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo index 3459baa61083576bc01a63828003c0bc2f8c2e61..0e03668e4dc4751d10c128ba4bfc98dfdd6c354f 100644 GIT binary patch delta 3532 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 SUP-9&ElEs`^)+Uk?foCll|{h- diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po index 2f460e6..4a0dba9 100644 --- a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po @@ -727,3 +727,18 @@ msgstr "Cache analysis in SGF" #. TODO msgid "menu:save-as" msgstr "Save Game As..." + +#. TODO +# sgf load button +msgid "Load File" +msgstr "Load File" + +#. TODO +# sgf save popup +msgid "save sgf title" +msgstr "Save SGF File" + +#. TODO +# sgf save as button +msgid "Save File" +msgstr "Save File" diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo index 5bd19c410b187bd5a7abb01e3470deb8ae725948..00a1586e9fbdbba7021279a357b141630eac6363 100644 GIT binary patch delta 3530 zcmYk-4{*s3V?RSPVQFKw7&ozq)>&eXx|JXEujTCK&Yym1i^No1 zb)nmpBJB{rojb*ulaQU;9i}TIr9!4qxRQFl_WRtG`}sXSpU?O6d4E2i_viEdt!c^O zrT%kqp>G-gPVzs6|MeYIGaDcMp9vHvQ16O9jKw9Gh&9*|x48OljH7-WQ}LXu-^0$- zV>_9JVH)!BTR*;IXvjr%80(yhk<{m+0#+h1Y!!CHcQ6WfU?_f$T3`dJe={cGWsJvA zCW$}~YMx%$iTN#?f(DLiYcMN8?XV0rV6n3r6=*HC!_BCjZ*|WDs0HtL?MG2NJ%y~n z&bsHnpyJ+=%-^;g1&U-@>evmn(>|z3clB}3CsF;MMq=4~RGej~46Jg`H=*Ly zIrpOaA3?u5o}r)}UvVAoA|H#SQ3I2m8K@oRpfXW_3N#s&!CBY^m!ZbJiF~YEqIQ;tT0kLcqA8e+<;YN5jS5(c+VO7ZLDaY=)CMo0 zGT4gBkpGVB5W;p8I1XvD3{>EJ)O$V=6=<$=DJnpX^KJA{uSIQOFY2{ChWbf4fr@|H zJ->=9)Ngl#1?$LDO`L>EX(lRAE^23EUHdfWOw^8EKxJqtYJscV^9`>3LsZIlx%vTA zyhiM-_y2rbfy;+laR@(m8qfi?!+2zk)*ahkN7O{aUHx&?0;ZrA>`PRD)2M(K)B&%dCcJ}MSOn*xKnbXwWT2i8Lyez+>Q{n_Gs{_l znrAs`V{f2e1K*{fi9SJHj(XI<1FpRh6}TDI|9ezMZen|k;NaCi26ZV@P!kPBWug#C zu1!OYU+A7!d&s}ec)feD*;$X;*49=?KuumLsU4Wz3@ zuqtJw7nb25+=&~KIsYOG%`(xMc!3hd5i+Tm>C_Z-e&oGnv zHRNMGdIU2y40X3AVlhs}aaiZ4aD&1vd<-wA29IK}H#l$vYA2JB3k6;5nkNP8(nHD^fEUckkgu09^s7(4VQqWGXyM{lVVZDMWi%0D+4Rr^yog-0a zIUW^oIx64{=K|D`y@_E;6m;pPx(5|lK)o8-q#eOX{2dkeAJoF49&)!D)jkM0J%EX8b`gL+MCQ5pFN z_4`AbSqEm(d*2^Bu+IH#~DoI)T;}R8p)#@(J?MYk6}F*PdI&itYeWSI$qNPyN3Gn0dehReKTbm3 z@|Te}&(@+Ax*wIn?@$}O>1_9KaGowm#{8B-f!Eg3of)W0^8o5-rlVH;ENY@Ts0>u1 zGF63I_&U@PY(#!zYzt-(__%BTV^}a#HavKl<1yKuZE8vN43W*qBUOK}&X7)Va`b(Wk!b&TBss!?5 zMu$hMvT)W+Z^i72dA`8%gwpW;^}djLH=@{e_XW;+&m=~vR$MryEm~k#ZffYi0YGA6 delta 3417 zcmYM#4NTQl7{~F4Kn0W+0bfu^&;%8=)G)+M$5bROn$5SFshOjuWV1A#;%yqvVVcHF zjZ9ji)zlU!(*?~e(b9~}Va}IDi%n+E!k3gL_WgCAEr<8>KmY$Z&pFR?&i~$HE9+MT zF2{v!G5*!_KZ*Yzv{#GksQ>N8Wist9n2DWnB6i1F*b$d{do{+K`mfA zD$d@{)L$KI{J}}&&o1-9T=pkw0U?Z1zfP!jPgI4{P!$-4;W!%AZvtw9X{d!3pcYz$ z+M>;z+3&AFRpwnJgq3@{ z%G+NDxX{3}sDZzuGP{jhKqz(BL+MLs4z+*;)Phn`6&&Q|peis8wWZIa4&AG$c*{`Z zR%0i<{~P^58ET>m)Pkx}0lr0L(BRLTQ2|;}{o1o%|1HQ(MU{FmDxp!RxZ_a^n1(tN zb1|TS3;n@zRNytJ0q>wHQI74f8r8oBbr`=xP1J;{z)hq`7Qw;L_!QLhA*ih#p-MHQ-h%u1EQUSE z?*~rD7W^0|;(NV<{eKH^p$zUI+i5W=W&vw$4htwJFrUq7@a_E!71E;S5Sv; zY42d=icpD_c)QdsM^$Ja>TCtRmi`a%1Vs;_T>>DmGrn9BA%lmPD^!^_ty?ky2Nc$Qce$3#v9BbK!dzd$f z51!`^4lZN@b*G9p1+~!EQI#u3ifB795^Iq;>;%T(U&wK=kVk?QPr_)u|HHUYhB?S~ zTRy5Z3sIF>g$h)H>R09WkDw}a3iW>fjGE|zx38iO*$uxR#evG9os8sWb1;(mZ37ny zybX00Do}e=_MLEwfM+c>;9^XQAGj*H8(q!x>oN?fXbEEQymG z(11x?uzmId@(SBp)VA$J9kOE>i;b9zEyx-yn^la#g{X1+@G-2z1Z+d*vUuJ(z1HJV ziA_O$5zWh_{u)@w4J}|TQZ4%owO1FseH)cY`f$Efa4f3i^HG5cF%{oHO}riT8tzA( zg(_6MuP_eJqZ0dLIQ3WHaF)$Ew7#grl#j}|02N>v#^V~)R&7OX#V*tt*@w#PFlyX! z)LHlimEaXr1wyid3yH-P+8F^Zw6~K`ffpgk+Dg=fmB?7DLj`U_9lDqiW)EOjR67w> zkrYhCer^tGq0b?^Ve?V_-$%s@e8h#`uu9aa{1uf^R5m{#n21{71XSr3pfX$KZbVJ+ zA*xb)khj$;-2ME!`}K~QFw7+KR=P phij|yqUu9R`@~GIDvrqsuWINvJG^vs%0E?OQyaQh^~+8U`xildR2cvO diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po index bc1ecf7..98fa667 100644 --- a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po @@ -774,3 +774,18 @@ msgstr "" #. TODO msgid "menu:save-as" msgstr "Save Game As..." + +#. TODO +# sgf load button +msgid "Load File" +msgstr "Load File" + +#. TODO +# sgf save popup +msgid "save sgf title" +msgstr "Save SGF File" + +#. TODO +# sgf save as button +msgid "Save File" +msgstr "Save File" diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo index 865aa1d4c17b8762862b1f13b9860a6252e866f1..a8528ea5ffe347ae37521356c19e64c7d571dce8 100644 GIT binary patch delta 3529 zcmYk-3y_Xg7{KwPU9m2^b`ut{h+JwZizrMCVnS1`GZDw53)NUmsD@-ZbCSCsj{mx98wZHeA_q@+}&U4QD?v*EgnUyHdN?jKC zcZB~<`CoFitq|_2`=1TD98CLK%*RZejg4>#*2Xtudn;zqK8Ve+JhuPFdbBgsL#Tl* zk)K3p&+iO6x}yUIMjyahv?rngXCN`cB5Z)KVIACrskj48a5p;sI5x%#tdFTol7`vn zJgqRD`9mHTKG?UaBZLv?3df@lJQd6BeNhcqjJnLMw9|nIfD@ z#E#3cqdIlw*Sl%nyE#rx-wL=)jk z@*>pct`j##OWF|))E!;fz}P=3`Y5`h$I%MSK@(gQ@2`mcYtfQ#iS1ozyhB*e_y60f z3l1NeaWy`7K5#XHnJScz`w8|axU!K(NF zBQD&t&(HwJ(171N056~uR-%ceu^$F%h_0j^djEFx`N8P85onx(=rnYmdFaBHV!{WP zbKykm(Zf-KKDaCPA3_5kN5`K;EAlH=$22zH@fql$Y>G~FD_V&GNO8j`^!cgr{`_p} z?;gJ#Z>))ypey?ny?+7?cm|#5G8#CQ4}2kJV>?`kH{fQpLMMDMI_8;JG~#~blEB*(A~eT%+8 z&(;q(2+v?2?3`e>eO%1IzSygIax0!eOSKqXc@bLjjo1eF;uBbbZr!+?P(tn4JJ0JW1K?7#AOrD(v z=(rZqT--wYHZ1o!yblkx;=udGIIGVj#M*VQ7G{=pmhhZo!L~gUiwJAEK506y5vM*gk^wXn$ir^M~_XaGt_N z%*2dal6&0(b7*(N8aN!?nlb3OLUf|1V*eua&@DqJeiyso2j~`EK;MQ-=t9#wQ-3d- zalyAGDUbyAiEWIVs|`^S(rms ztTlA*LjAAdBA*VnEzCk!_!hcnC1`2)q9r?oeqhSb*X$28(KcO^uk9UZdkmV;Y_t-~ zqOT*zE388k{k$vncW=t*utX=((pJO)f1)L;&2o5U!}Vx@K4?PY(S&DVIxavbd<9Ls z2#vcg_HRPZ(EIWJCkZahq!i7#9Np7ObR{XbCeJ`KzroYzo@PF#e3pf;lM zj-m@Yg}fA@0{v8|cx@Whb4~#@tI2N6FQoKJK+t6N%uJmB+ zKZd?df1`WdqDS(%JTy)pG{GTAr4nH@7rfS?AUXj(923zM6rrd84K$(kXoWVT3GIme z2hh@gfqWFh3H%N#(UO04TXOtqyq5NFRX$9x+mjjPpc!{UKb?Ki2?wB+8H`Ra3{C7o zbo@AUMbohnEhadduhYEDXa9b5Mf=wB7AxO(@QDgOdAoNl!M delta 3417 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 delta 3418 zcmYM$35AN9~mHafw%@&00TWh>BlYh(R(G~U4s6?_(LHxwOUG&<1&bfOE;N3;^{ zw=RSHyP3AehNWovG&+In(ehYdohUwv9JF1#=sW9W1j80%Qx+f-K!j98o z#auM-BDBMDG!vV#67ECWm!g~TI6BZ(Gz0%2NeWfj81~Ob>pP>5c0jy8B08xd`FCYA zV}m7Vht=pnThPFJa2l3j8|=!9{b`(l)-ObVyw;!#*o%|!2)={One9aDu>;;k`?qL9 z{!LLny}dCC^KcIK#O>Gv|3Fui*_0n7Y=gaU3Q`p|p(`&%Pr=VP7|)?`vYK(kaSYn8 zLsl|gL4pfA&WSF^c9gea0#BnE8kx-o#VP2IQR|%K-e`}jDfdS=-5E3k=h1~-L-)`v zG^0;7Pi8nBT~MMK7jB}C=s^9@-8v$c$DjeGq5&2}i}5h!HFzIi&gE|ce1SAx#PwK? zMJ;%Jr||bd%VhgGt@r_>+`Tnfb&W6bK&Nq|OIw~V9X7H2&+*OnA$;@{n~4Y3jq;j~ z$%+1eBqf|jSMUJMU|OdTI1nKh-9vqlu|ht&iD#k0Oe?CKp{{S9G9!G$Sve0~I4DFRZ}YxC1@khtQ0a;Uc_%Irw^49ycz=gu8by7kt7` ze6e9erDu|v$VCGW#|)f|L-Aegk4Mnc@EFsv53@4xa5O_j=y5GZH|Jh_GBI?|m31Tk zHax=(j%2uuJofMyea7v(Cy&>2=*$bzN3jgu-Mi3?e1q(>a1`DB*U(3E8*O(F>thOM z*@a}H3vJhf{ChEs8=lhwtc9DgGVVcVd;nd+G4xTLh~;zWfEUq;+(1`$2hB(Yf;w;= zG+tY*hg~omhbFk-oe&Dq4oi`J7uI4OJdSzzJDQ<1-X1>l*2v)qdFaGCqXYCr+YLY$ zHa^zRLo@e&EN?+GpZJmsj$$~74s{S@Q~Mb@@OCs4yDN1>14FErJU(3Gb2O_rOZ zne2qd8-TtsN1>S;jb>~DRtfCf$xkl$g8}U@8x8P5bRD`UcHj^^*taCV#*Znha?{6@ eEJ+_&rQ~dbE0tFr%eql=AiJ<(NvGaJD*Ol5vrA0? diff --git a/katrain/i18n/locales/es/LC_MESSAGES/katrain.po b/katrain/i18n/locales/es/LC_MESSAGES/katrain.po index 156e2a5..6424d3d 100644 --- a/katrain/i18n/locales/es/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/es/LC_MESSAGES/katrain.po @@ -787,3 +787,18 @@ msgstr "Cache analysis in SGF" #. TODO msgid "menu:save-as" msgstr "Save Game As..." + +#. TODO +# sgf load button +msgid "Load File" +msgstr "Load File" + +#. TODO +# sgf save popup +msgid "save sgf title" +msgstr "Save SGF File" + +#. TODO +# sgf save as button +msgid "Save File" +msgstr "Save File" diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.mo index 87282c162e847e92a2b0e88e69e5ba6bec5cb9ee..e51cd5cfc49c9bb96b07b255ea16b2e48b37a6bc 100644 GIT binary patch delta 3533 zcmYM$3rv<(9LMqV=qn1yRpkX#=2iO*?Q7b=W?*~x{e{K8EpjP@b zl7qQy@BfX8`=4a~P&x_}L0TG^fLduU)WH6zmFC*^IO|l@_}NG-vji1q4XOg0?ft!| zct@=DsPW&UtAWj2XvMeffXB#>iJ(&tcC}`qRyYt!j`}NsD|9H(U3){F>W|?MT_zos&;V2dqfr4T+x8q(g%+VI@D6ss^{8=M zQStYn5cQTql?_29P=K0fI(EfUbZ-k z1ztl{@E=r#+=q66!*Ucj9_cb!sK9xs_k0Q}P>FRlD!?{t1t!t1LM@;k^;(`qeWYAK z#c#6rTaZLu^VqvEk=)h9$*7X%paKm>t!%9ApJiQuTG8963av&ZxY^#{ZTt75N?v2z z4XAkMF;?&Y@1YA0A1Y&qk2^gOhFW1~BuCR7L$4!hqFmdah)Q5ODxm;sAxo_rQ5D#O z+R}ZfGgpV9_x}VJ+OyNB08OZX*E9g{peB5XN-UiHP#`~QC0VHZ!%)vpK#iM$ic@4Q zL(Q`mwXhG-)q@{%p@}|69gaHGgAKO-JSy-d)c8M96}gY?Fr1Co_!!io?1q|X5ULUd zNO8?9)bq>i{qiL0uRY#jZ&X|BP%Aryy8jC*;7!y-4^V-9e887r686Ron2SeIhqncv zL1m?QnfN9S!2?*?mHnU3MLu7BgYXb$;2+2w#@F3zr(i1WQ8*aq<7BKvC3pu5u@#@i zDJkB!sf()AUewvD#Wna9mf{O;4<>iW2A9)uE7jYIIcZ*iV$=j1k;Rw_d=YDK9o|H3 zT}irEq2;)bb~)-xDwEZy5`Azj4o4lvMpPx;GhFB}G@(xARn(qdx3-|p#68r5Pf%yU z*V7vxi+Vm0b?DMi6Xw|de5|HD9_Ko|WmrV}74{|7VgKv7NaDtCnH&uKmyLWG7iN<^ z*7f1l!^_k)3?KC+A#`$#c>_E4<3p$opZ(7pGY=p3_f|HOGEr1hgxZ2lNYzaxQXF#v zJB8kVF4#76A9YCL270CMi8=!#QHSq!)K)A)o${6Teg*2eWB43?hoOq0D)IzXxkwI} zDjbihSTcrj{!9iJ$}k&Mx)HWL71L-hLhbQZR3a6qy*q%~idt0QZ;)b{)2MOx@Ktm; zv6^risseLSXURoZ8SdsH0S{v_HlR*%)(|h?Yp6ulp(fmq`oH2aWIN3d)_eB8f2jA` zWgt12ahQkeQHgzvivQzK>aW19bmU^{Ft1dzQ7aCh4@+%-87k3Ln1vr9$HAPyUU(Z- zfmniRD~6#~UV_?^GSr!HQCm`#OZ_#$K|A0GD#I^PTX70?SboK1e2knk<7YYAvazUf zb5L8b3>A14>P)OdRd^@r>{O#4gQ!ZLbM1|0)XHw4_O=z3NaS#DrOC)SGB2S5u13zQ zc^{QPBdVlLs87Z=BfLcXsFkPKc9yjtYCd-$7h2gw)C!7`H_$A#?cJD2dmn1z?wsYZdW3TlS)XF|ZJ=ly|!DZXN zfhuu}^*$=_Bh;BOqrA#RU>Ap17*(O1e6QsBsI8lX(faTYaG|{^LuFi!ZE+VW@E+8J zpP>%ZVN|7RP+L@QJ!5S~C2}1(F6M49De9sVKE8C`Td8A;7YBCSjGobc-im-4!MvE! z9ir4&R0pNkf>G%ODN%)L78Z;Ng$ovrSkU%=1XO8{ delta 3420 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 aZ{7XXbJCZlMFxxcdAY%G)whS;2>BOUmTDvb delta 3420 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 BYHk1k delta 3424 zcmYM#3ry8z7{~GFC?cpJ!coCX2q(3?V0i~G5G97z=4E-Anz}TzGRtP_jQ**ihIfhO zB{y?wRMw`a3^#1k8QLl|b2eHzU6Es5XeO0ZuJ4cYY`G(!|NDR6|MNcY^S=Lc$~J~7 zHiUvJsc{v?zYF~D!T&en)#5tof4g$olXhnuhMjOCrsEuJk1u$8EvC}mi<$Vow`(zl z_BCvaH!#^Oux2hgawCzJ24uMXupRADsDMStP@9Qea1nOEmoN@Dp%UDV8h;qO;Ry`m zB~<(dCF6=$n3h2iCS3>CSn2V!3o$J=b~2nnD;M5CAiA(zk*uXc2vAw-v1UV z-Z8ft6{iN1ncpsQp_N_p0gb4Y-ST!kX)8bqDsVTX%kD-6%0;bsocGT_#arYqM~z>H z8dr{5=wS>ru!;*lR>L2)zjo_UEBqZ*iQA|^X*{h`M=%X@QO`Y$d~6nfl;{$_|Dw0c zPzmft#W~W6`fFgdcYKC?>ws!^M^&f~ssckW0rOGg9z;zr9hK-J zRH7xQE!u&4Zg(p6*I_#31FKQ(i>L$|+-C1@PZVuM7HV97w-7bqOws&mRSDM!na`)J=iqzpB|4)3o- zC0ga4MWzbuG8Zc8PpCjmsFk(hY28nEvr#J=fU3|)RD$EYf12N)hbs9JZ?8th+lU&! z*FA!9djC&yp$AT*R(Ju)!Rk;6G@>57awvb-jT{F)PFt_BES=HFxm_aX*87dW3db|CVuqEgrzWaAWpBv!5Ao zAcy_OZG+6Vv?9}c%s!?+Iyjd3vZ1kxtVd#6C8~m7BD-VXqe>eZ#sS0(R67sJ)ux~p zxB~V2V>`J}Ne*HbR-sn>4XOh5s6B7=`;plP)?g|Xk-iQ>z z_F+8p+c_U_9(9PWqW0z%>NRUSBK8_aP!r{%R$hRuaWQHEORx*BK|Q|(0qlB}QPN8?(94p<9W{@EEF;XORPJ^{DTKI0msxmV#q(ERM$#)P$d40e*#=Ae_h6 zVlJvbK%KEI-rkc({nb&)jdVPY90xm(o$()}2$ssbs6>k0Cs38x;BG~7vPzhC{e#DNT5;=wmda+M%q0*g3P4qb`k?W|vZbFqZ>3)8wFgseD pbRkq8={O@=+OaSpdbw*^V)V(Z_)vM>(4^>w>;XNar}B&A{sVp+QriFk diff --git a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po index a7d88ca..012114a 100644 --- a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po @@ -741,3 +741,18 @@ msgstr "ache analysis in SGF" #. TODO msgid "menu:save-as" msgstr "Save Game As..." + +#. TODO +# sgf load button +msgid "Load File" +msgstr "Load File" + +#. TODO +# sgf save popup +msgid "save sgf title" +msgstr "Save SGF File" + +#. TODO +# sgf save as button +msgid "Save File" +msgstr "Save File" diff --git a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.mo index 34466babac340e5e4b7ab6a13f199db6bc24ddbb..f44aec680b16378f3eef48684e8c586d8fd6f05a 100644 GIT binary patch delta 3534 zcmYM$3rv+|9LMqhQ3L@21uuY_2%>_ar6%gsyrU%IErn(&Oe94^g>-p4^V%qFUP|Yc zCM-Ac5*{|QY-*dD)5P*pHnj+ssAX-faLcv6Ki+54!TG$;<^4a;|Np%2!DFBLDyx0| zyU{@(8UL>F+lk+rV71I9L_D(tmszyiVF9+m6&Q<~F&sZ}?c*3t`x17+yRQ8owx-=C z(kuiMksrUM@)8M&et%Eb`dJzQY40zVSC((t?(!Y;TNb4ogDqfZI zBx?Qz^lRexTqxs*Zo*UK$HM5;jUAmSs0`Cll^BT%Gy_$^LX5#xsQb1eKUU6%Hd^ia z&$#xLHq>7mxI>2m{pkkOss1QF=(0rAhWev6Fa{NHl55XGRcJn{0?V)^u0ze+go?ih zwb3fnM$bl5f1S|{I&|Y5)Wh|_P1G#4+oLv+<{X9!l#M!~0@S=>=SI|m`%noSas8)J zmAQ#5VfXy5qtSJ=psuN0>OG%=3RL7=i3+gUxdY>9m!lFmiFz$BqP|kDpyJ!0bIi^^ybszNJK8!U6Gd8`BsD*~Q_C(YMa!?y8Kqa!+xe--?J*Xo+ zfO_U?u<89j#f8r7JSxBqRKPk-z{jWspP)7t%6TYI2UI30sPQ4F`?FB#9BTXrRKNz*LXD`vL43g%VjO1U8XS(_B73uFcGDkw zp*B1l7vfTUiuXEl{-s>h@uzP*PVekx@G+`Hr*Jf$!=V`VoLL@@!?B`;EkN3N)*#N!M9s@WPQ!}a_y(l9w$JsS!~pGUIEoFt+tchr+Luzy-tuw&vq^Iq1GT+) zMKB|cU#w@__1NnLvn3eSmkKm9TicJtXji^OhS)lt`+0BM4rC5)8scqq?{G72u^J?# z-NymgZUle(aRPSH`@e__o&6SMbM_++#^%&nM=%VP(L7Y98&GFkjwEHZsE4Z&b@maX zyba`{zCjmbFm6DVd=oakb!xM|9pXZzJ%JpL)uICajr>^nXzy*vM$OAdJ=M#R=gN+` z{#vA1b{}=5v19mF#IC6JepEsSQ3-vAeva23b3yg2-B_~1iKtRN#u=EL;k8%c6xubY z(uR!VO~Ao?DDXPe(|#07@Eg?YHiGi1eGHXYQl|G-4a%hcdbn28k%zlb58=NUjbYR? z3Oi#Grr~g$j2yFVL)NfbWUm%G!R$qxg*+a%6x`MH_y?AOaUn9-_M(pD5k_I+B(DN}F@bh5>I-NK_QZ!6j4_kF#NsiMb{dA^5KKgW z1{eLfnC~X+N4*V4T)Pofs$dR20uwMDd*iD(7nS)b%*WfPz%Nhr7S2a~PrU8ij;dHS z#<0F!*xnGC8&On@~EhbU{I2O^4j@XR`yh f5-WV6Q{DW6z>01!r?paRYR1^6aDmSzFAM%3kTrdM delta 3421 zcmYM$3rv<(9LMoLatRPY!8^)TR4!to2&NRG0%CYU6PaDGn&1#C&C0}HQ<=@mz{{3t z>GHmrMX#AAW;I6_H#IXYww#X0v^CSxC0)P2p0mYX-p@JDIp_bJ^FQZ#U`JEH+wTPU zE<^`yG=5I=+mGKZA*xaC^1r<(_NU$hv#}da!ru4*cE+b%eFa8S-;D9N-_=iISL&DW z4!nVpWs`{H5jj%QKv zuOJ`m;HwAsw=nLm3-PFxWnviSqXw2>AU=dz=_9WFG1LT?xa+G>D{DZ-d)2k?M#X#A z*^G+Qf|1LE;90lK0B_eGj46%}X{YQ+;=`z%zvD(7NU|COkI z>ro5cg+6sWM1haB@TK~BXFFJGCy1Gpc?DHGwP64%gn9DB6ldRKIj*0qTYos0GY(*O#I)vknPi z+g#o6>L2?kXy94Y!0%BjyM>xSAbHn~x??P+BTZI>3OF0J;swrSsBtf$R`@z9V|!5< zI^f!mqT>2aQs86ld?|1T>bZ_2ZwfTXnTrZA(OHIlsLw_%U@_`3tVg{<)}U_C=-T(7 zCVI&EDRL{Houi^DqNRlj!gQ4*WsPL=5cjEugeN`B#eOabY|z#5{Z-=ip7eAIsystvG-c)LU>8Cd8W!#reo3 z+k#5%5nP8Y_%c=`&?ms`GS*X{kz|&Jtv(6^DFi2TkT3%aa57%SMx=|?4KS<3tr&=w zLKYwhI}vy|>d=iOm@=1#T387xqtlVK*u&1{NV3fL1_jQM9Y&@4OV{BCB-<7=$ZL;7 z?fFR5^)mG1d>qFF5(b-Xp#EqoFC*%=@oB71=aIvU8N9Txj#;V|_9Mx%b|mW-HrCtgRAg?p z2=BrzsMMdwSUvxp$hTG$huX_rWKmX)I!q0yz21e&)D6^|GJKqu@;Fq=Q&6Wq%hkuB z`cFl6$Es2B)*>I?f9@Qo9X{@heoS`ccv8F2Y4P7xj3xx_U9s zlvdV^%*oE64p*-d?g z@vyXey-ZZ1Qa%q^oIQ)$%8y)oE9!=AsLb5L0T^BC#mOlp{~27UYH9yldZ%TH!Hw{S@lyx{jF`GKEJRvwak_1*=d4j-WDd z0uwNFs`tW4#lh59VhHX-t;~;+*n;8sH74OjJ6w&`LP=Q z!|NE2MP?KFt}Xz z8NohM&|dbyG)zLBfl?fci%@~y!@2lbxxb{#setv#QM3H@Q3av?bG^zt`*V`t4Dh!N NxO<3yXxZYBe*t`PUWfny diff --git a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po index 7397039..1b74dc9 100644 --- a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po @@ -775,3 +775,18 @@ msgstr "Cache analysis in SGF" #. TODO msgid "menu:save-as" msgstr "Save Game As..." + +#. TODO +# sgf load button +msgid "Load File" +msgstr "Load File" + +#. TODO +# sgf save popup +msgid "save sgf title" +msgstr "Save SGF File" + +#. TODO +# sgf save as button +msgid "Save File" +msgstr "Save File" diff --git a/katrain/img/Save-Game - As.png b/katrain/img/Save-Game - As.png new file mode 100644 index 0000000000000000000000000000000000000000..4b0af4e2210fcaab2ff4b9a88c46667ddc4c9c9a GIT binary patch literal 9821 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 literal 0 HcmV?d00001 diff --git a/katrain/popups.kv b/katrain/popups.kv index 6cdca00..46965e2 100644 --- a/katrain/popups.kv +++ b/katrain/popups.kv @@ -181,13 +181,8 @@ orientation: 'horizontal' GridLayout: cols: 2 - rows: 5 + rows: 4 spacing: CP_SPACING - DescriptionLabel: - text: i18n._("general:sgf_save") - AnchorLayout: - LabelledPathInput: - input_property: "general/sgf_save" DescriptionLabel: text: i18n._('count down sound') AnchorLayout: @@ -622,3 +617,13 @@ filters: ["*.sgf","*.gib","*.ngf"] path: "." size_hint: 1,7 + +: + filesel: filesel + orientation: 'vertical' + I18NFileBrowser: + id: filesel + multiselect: False + filters: ["*.sgf","*.gib","*.ngf"] + path: "." + size_hint: 1,7 \ No newline at end of file From f85399ad57a1475f6346ba16974fe875e9d27c83 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Wed, 2 Dec 2020 22:48:27 +0100 Subject: [PATCH 13/73] saveas fixes --- katrain/__main__.py | 25 ++++++++++-------- katrain/core/game.py | 39 +++++++++++++---------------- katrain/gui/badukpan.py | 10 +++++++- katrain/gui/popups.py | 14 +++++++++-- katrain/gui/style.py | 2 +- katrain/gui/widgets/filebrowser.py | 2 +- katrain/img/Save-Game - As.png | Bin 9821 -> 0 bytes 7 files changed, 56 insertions(+), 36 deletions(-) delete mode 100644 katrain/img/Save-Game - As.png diff --git a/katrain/__main__.py b/katrain/__main__.py index de8e706..44b0bde 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -400,21 +400,24 @@ class KaTrainGui(Screen, KaTrainBase): def _do_save_game(self, filename=None): filename = filename or self.game.sgf_filename if not filename: - return self("save-game-as") - msg = self.game.write_sgf(self.config("general/sgf_save")) - self.log(msg, OUTPUT_INFO) - self.controls.set_status(msg, STATUS_INFO) + return self("save-game-as-popup") + try: + msg = self.game.write_sgf(filename) + self.log(msg, OUTPUT_INFO) + self.controls.set_status(msg, STATUS_INFO) + except Exception as e: + self.log(f"Failed to save SGF to {filename}: {e}", OUTPUT_ERROR) def _do_save_game_as_popup(self): - popup_contents = SaveSGFPopup() + popup_contents = SaveSGFPopup(suggested_filename=self.game.generate_filename()) save_game_popup = I18NPopup( title_key="save sgf title", size=[dp(1200), dp(800)], content=popup_contents ).__self__ def readfile(*_args): filename = popup_contents.filesel.filename - if not filename.lower().endswith('.sgf'): - filename += '.sgf' + if not filename.lower().endswith(".sgf"): + filename += ".sgf" save_game_popup.dismiss() path, file = os.path.split(filename) if path != self.config("general/sgf_save"): @@ -426,9 +429,6 @@ class KaTrainGui(Screen, KaTrainBase): popup_contents.filesel.on_success = readfile popup_contents.filesel.on_submit = readfile save_game_popup.open() - popup_contents.filesel.ids.file_text = self.game.generate_filename() # TODO: ??? - popup_contents.filesel.path = os.path.abspath(os.path.expanduser(self.config("general/sgf_save", "."))) - # save_game_popup.content.filesel.ids.list_view._trigger_update() def load_sgf_from_clipboard(self): clipboard = Clipboard.paste() @@ -510,6 +510,11 @@ class KaTrainGui(Screen, KaTrainBase): if keycode[1] in ["f5", "f6", "f7", "f8"]: # switch between popups popup.dismiss() return + elif keycode[1] in ["enter", "numpadenter"]: + fn = getattr(popup.content, "on_submit", None) + if fn: + fn() + return else: return ctrl_pressed = "ctrl" in modifiers diff --git a/katrain/core/game.py b/katrain/core/game.py index 4c2c945..2d5c8f4 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -296,19 +296,6 @@ class Game: ) def generate_filename(self): - player_names = {bw: re.sub(r"['<>:\"/\\|?*]", "", self.root.get_property("P" + bw, bw)) for bw in "BW"} - base_game_name = f"katrain_{player_names['B']} vs {player_names['W']}" - return f"{base_game_name} {self.game_id}" - - def write_sgf( - self, file_name: str=None, trainer_config: Optional[Dict] = None, - ): - if trainer_config is None: - trainer_config = self.katrain.config("trainer", {}) - save_feedback = trainer_config.get("save_feedback", False) - eval_thresholds = trainer_config["eval_thresholds"] - save_analysis = trainer_config.get("save_analysis", False) - def player_name(player_info): if player_info.name and player_info.player_type == PLAYER_HUMAN: return player_info.name @@ -317,7 +304,7 @@ class Game: root_properties = self.root.properties x_properties = {} - if "KaTrain" in self.root.get_property("AP", ""): + if PROGRAM_NAME in self.root.get_property("AP", ""): for bw in "BW": x_properties["P" + bw] = player_name(self.katrain.players_info[bw]) player_info = self.katrain.players_info[bw] @@ -325,9 +312,20 @@ class Game: x_properties[bw + "R"] = rank_label(player_info.calculated_rank) if "+" in str(self.end_result): x_properties["RE"] = self.end_result - if save_analysis: - x_properties["KTV"] = ANALYSIS_FORMAT_VERSION + x_properties["KTV"] = ANALYSIS_FORMAT_VERSION self.root.properties = {**root_properties, **{k: [v] for k, v in x_properties.items()}} + player_names = {bw: re.sub(r"['<>:\"/\\|?*]", "", self.root.get_property("P" + bw, bw)) for bw in "BW"} + base_game_name = f"{PROGRAM_NAME}_{player_names['B']} vs {player_names['W']}" + return f"{base_game_name} {self.game_id}.sgf" + + def write_sgf( + self, filename: str = None, trainer_config: Optional[Dict] = None, + ): + if trainer_config is None: + trainer_config = self.katrain.config("trainer", {}) + save_feedback = trainer_config.get("save_feedback", False) + eval_thresholds = trainer_config["eval_thresholds"] + save_analysis = trainer_config.get("save_analysis", False) show_dots_for = { bw: trainer_config.get("eval_show_ai", True) or self.katrain.players_info[bw].human for bw in "BW" @@ -338,12 +336,11 @@ class Game: eval_thresholds=eval_thresholds, save_analysis=save_analysis, ) - file_name = file_name or self.generate_filename() - os.makedirs(os.path.dirname(file_name), exist_ok=True) - with open(file_name, "w", encoding="utf-8") as f: + self.sgf_filename = filename + os.makedirs(os.path.dirname(filename), exist_ok=True) + with open(filename, "w", encoding="utf-8") as f: f.write(sgf) - self.root.properties = root_properties - return i18n._("sgf written").format(file_name=file_name) + return i18n._("sgf written").format(file_name=filename) def analyze_extra(self, mode, **kwargs): stones = {s.coords for s in self.stones} diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index 2ddc50e..26a08a1 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -440,7 +440,6 @@ class BadukPanWidget(Widget): with self.canvas.after: self.canvas.after.clear() self.active_pv_moves = [] - # hints or PV hint_moves = [] if ( @@ -479,12 +478,21 @@ class BadukPanWidget(Widget): scale = UNCERTAIN_HINT_SCALE text_on = False alpha = HINTS_LO_ALPHA + if "pv" in move_dict: self.active_pv_moves.append((move.coords, move_dict["pv"], current_node)) else: katrain.log(f"PV missing for move_dict {move_dict}", OUTPUT_DEBUG) evalsize = self.stone_size * scale evalcol = self.eval_color(move_dict["pointsLost"]) + if text_on and top_moves_show: # remove grid lines using a board colored circle + Color(0.95, 0.75, 0.47, 1) + draw_circle( + (self.gridpos_x[move.coords[0]], self.gridpos_y[move.coords[1]]), + self.stone_size * scale * 0.98, + [0.95, 0.75, 0.47, 1], + ) + Color(*evalcol[:3], alpha) Rectangle( pos=(self.gridpos_x[move.coords[0]] - evalsize, self.gridpos_y[move.coords[1]] - evalsize), diff --git a/katrain/gui/popups.py b/katrain/gui/popups.py index 96d2978..d9947fb 100644 --- a/katrain/gui/popups.py +++ b/katrain/gui/popups.py @@ -677,16 +677,26 @@ class LoadSGFPopup(BoxLayout): class SaveSGFPopup(BoxLayout): - def __init__(self, **kwargs): + def __init__(self, suggested_filename, **kwargs): super().__init__(**kwargs) + self.suggested_filename = suggested_filename app = MDApp.get_running_app() self.filesel.favorites = [ (os.path.abspath(app.gui.config("general/sgf_load")), "Last Load Dir"), (os.path.abspath(app.gui.config("general/sgf_save")), "Last Save Dir"), ] - self.filesel.path = os.path.abspath(os.path.expanduser(MDApp.get_running_app().gui.config("general/sgf_save"))) + save_path = os.path.expanduser(MDApp.get_running_app().gui.config("general/sgf_save") or ".") + + def set_suggested(_widget, path): + self.filesel.ids.file_text.text = os.path.join(path, self.suggested_filename) + + self.filesel.ids.list_view.bind(path=set_suggested) + self.filesel.path = os.path.abspath(save_path) self.filesel.select_string = i18n._("Save File") + def on_submit(self): + self.filesel.dispatch("on_success") + class ReAnalyzeGamePopup(BoxLayout): katrain = ObjectProperty(None) diff --git a/katrain/gui/style.py b/katrain/gui/style.py index c38edcf..7c300df 100644 --- a/katrain/gui/style.py +++ b/katrain/gui/style.py @@ -69,7 +69,7 @@ POLICY_ALPHA = 0.6 TOP_POLICY_ALPHA = 0.3 TOP_MOVE_BORDER_COLOR = [10 / 255, 200 / 255, 250 / 255, 1.0] CHILD_SCALE = 0.95 -HINT_SCALE = 0.975 +HINT_SCALE = 0.98 UNCERTAIN_HINT_SCALE = 0.7 diff --git a/katrain/gui/widgets/filebrowser.py b/katrain/gui/widgets/filebrowser.py index 404b2b9..64891dd 100644 --- a/katrain/gui/widgets/filebrowser.py +++ b/katrain/gui/widgets/filebrowser.py @@ -225,7 +225,7 @@ Builder.load_string( spacing: [5] TextInput: id: file_text - text: (root.selection and (root._shorten_filenames(root.selection) if root.multiselect else root.selection[0])) or '' + text: (root.selection and (root._shorten_filenames(root.selection) if root.multiselect else root.selection[0])) or self.text hint_text: i18n._('Filename') multiline: False height: '40dp' diff --git a/katrain/img/Save-Game - As.png b/katrain/img/Save-Game - As.png deleted file mode 100644 index 4b0af4e2210fcaab2ff4b9a88c46667ddc4c9c9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9821 zcmeHtc|4Tw_xCl6T}CKG4Q-M&%AOG|+9)k{MtvArE6dntO8BHgpM;X7g!*ELA_g-h zOZKuG43&M~neBdVpXYi0fByKrUe7<@Kjt-a&vo7Boa>zHexLU_*ZuI4#hGowyMzG% z+s>Mwv;qJL|3m^oe)wx8sFMYMA^fb)m;y?x{3LvVCY-o<0)P+kA{-Y!_*&?;xvd`n zVl`VIM7{63zW_L}boS(lt3gh)gO>RRy26zf))VSvLR|K?$u8&|(fRhz?5U$B{HGp1|2EvJdWQc%pPp9qs`=}_{WpD)`woaOev%(s zmjKV8!N!Bf$JstR1|qn;tAq9dzSq*)&K$PxsvYE3FsbY71x)>bsRjIvIEo`JZ)Q$| zFdHqOcJ&Q{x&+@hVL2AT}mphbn`yYK%x%`@4$*DY5Lvz)xX2$4wtcG3rrty=PPyxPuce69rtYUeDI0yx<>_uP2D|FI|N?@O8ZOIN9~AU{G*CgM_FAI5*N}L!z*>zhKC&Aw^-` z1Se^cq5yCRCu;jiqZT(QPIe8wDrgg3fP`fR<E`v)P#KCdw5{}89BWAD$+o0A(kt|81 zTLJOkp~+b{!=TCRWHIB-hw<3?GfL>@>xCe519hR_`6xRwgSV0^Fo_Q1dOCYM$vzd= zJfDU#QRcmvEre%Sk0A#BG(K0UA0*F{Aa;w&zU@f2+$-QvEi_b2tuR30-waiA*BFqm zAE(+M6|wrd={FJefNVS2k7$^(^jSrve2(XS)p!;BA<4(&KKw zj{u&Zx9rQQ^K2P;Z^e;BO7NfFhi?8_j>wdP1}r^-oyjjYvIrU6T{?$Kxr3Wqw1{Hf@9e4k%58h2yY8-nX0koI< z&P3$tPaRAn|JaGyrHc;xk5~EXBA0);z;$+qHw&-KFqHiFg%6D z%idMNCo>QlT8+O>q{fgPwi9L`BfnYX+uq!XjCCT%tpxk+yO@a^4^;%>Nw-p59ZuUC zy(0;lyUgDWV3xLy->6#1=<56Xiyc((4547jM&S`U<#NMDvSQ}qGG2?BbBYS$+*zElUOaSBc_pv4HFR}sh^DJ~hp(M?5pu0m^5xAmrX18WF~X!}cN9-ElGPlzE0zRtM#u{Kb6>C@Zc+y&p_yCcK1kPQZ8 z+*$*wCz;m}Y#IN>ObO%=HBb$c;aQ-uQu01rL$cCogWBw@chM(UUIQGRC4rp>%TQv+ zVc%aGB-cdNXwZn#@GAIwh08P6%Nl zHE^7JN1~D4B9IK?=EpVCThwi6N}QZM72*n2C0Bo~qpuI3-C^rlPssS%YKNGBNM5vbN>7=M${knI(0tJ^XsggJf?X=?jab)hW*wTU{knlUOKac4hS|>3X}nl1$)JrteA= z$wC75Q^$B9eOvc9E(v$Dqc&1vkB;m)z3oV=t1&)#L}gCF*)nKrk(YX0$j|bSYhA>} zOz-)_@Qi2~VRx#KqX;R_6ZH0d#VH8^uw#mSJJb8ENc-p)Q(1%FoQ<+>Qxp42-KWls z)`_-_undJCgfXbKo@Wmm8pV?8SNB9Z>{sLZBU>x7H3~7oDkFA+6NXYnP8+&aS{Y&N zt&j+3D-d@Rn1M2Q$5_sH9g>sW&E5AtiMMBqXr3I2H?Af5T0@EeT=ihYpu7*)(j1Kr zF>D?0DIQfE?rC(1W#6)zi8;h6c-AJP*Oo#&>|hQr=W2#5%S;sYD)B4MZPE9b;;@yz z1FcKFwmPj>_o|$+HRNb5EkD&ZkOIJ^_r^6~{J6Zkm;}-(VsjL_EY>4J%6J&=*qrmP z!)q%75p@$_roRwkkyy*?L!tBWO(X45I4cg7pZp*pO@rh24=m@y2W!4pi8VFx@_U8? zKRqC`Q>~*r$EQg1vyeC(ha{n3#~1|5NZ!4;P6XkIGO578RFB;gaFP6ap1(JB#EkCc z#w(PBr*;#(NZV^bfr}aaSxfb!vku%CSpEyC#X{0-o=WIF07EJl!;r(7%q+1^kg8=w1Rx70SWtyMEN(r+x3iqw%-a*2$ zctRf3r~2;#iZqqmr%#b4O1To<=+Cuoiuk}XUIA=RlA`q+OCEzd$FdM6#qw;dryj}i zyRV8MG7j7KfP`Nf0BF9GdQH<{ST?RnLrWUa()`k1xv4!!Rx`&^Z@NRRR|wW0ad&ky zt$5IVO&@!$TexAF6Hjr(4QbewiMQuwW^f`d?iGb0WH}+Pp;@o(c?4zSjK*GDMNP|T z_DFn07-wV1*b?)qYT3*r;{~KN%1#nbnE&k*Nrsg>dQa=s?zQi4btI(u?mvZ#GCqZ~ zPw!y{ydSRBH$<=8f-(*;>#G9!;N3Ra82(#XENds%{D-9{?i7yg@rZY}ESh{oIDoOk zT&CAn91d2F3IhMJzAmSsP@4N6J5Kn3JhD!`-EdkMHn3xDvUuB0q}57Cx34`%nMGMM z+)zMs?&vqI|24y4byJaMqWS}-0Hjp6Jy(l=I%p#tesC#!f^Z|_4ecJrl)id5Y5u!Q z3D!{bub(5sjtJN_EGv$mitW63LU%;yv{O$#?{1v^IQlINH=Hm(qnuR=U5B_=9uCEr zVl6HzCs~!RvLQQkeX?6ze0H5+?RZaA#H(uuZ1~tdKZF)<;QXFV>SuwC8OEeyW>+Ae z1b<-Pj)rP&Sd)_kG6Z*h?R67I7-43JLw|%v%w;A9{=IoT)pdFYa*K({*p!KjPdnZV zgX;W?Rc=qgJQUE4vj1K=yk7_*D~87pnwhAKcqcpF%ikM(-r59SZQ+mzpQ|bUAiq}8 z12V%WbR>;9RGt@{{b-e9GVhX>-cO;kiI}YjcZa^tOm+&H9G-S&d-&De7Mo|c&z3pQ z$|CJ1#~#C$&cCqV!Nlx>RdTZ3SM2r;Z*fpLGsa=`NlK@$N0;w=HBK4l@s_M)%o?mW zTSNi<*d%qwia+arw+;L*FB znrF_Njnb*VTkjIc;+oNZW+t&*X0rFYuUKy?twSCO`|AX6qK^P6W7v}_ME)&7We>k8Dxud+aQZhV4TeRLXZ75*ZHQUZ6Q*>T>x#oav(H0SuSE4*GpIO=wBep80E$e6 z5PdB3#j?}%g}aPVCEVgec3fOsL}BnP`&m7b4`SAF0|rgHX|~8h!@l^Vgu%bm$z8~p z4~IEe?A@U3Wi(A4-o1S6JQ^=GQeaO|rvCInMY`#UR8K=?R9l|;m$p~;3Pecf0kA2O zTE6JE0Syb_+~X$TWL7@a)&-e#D{XiW%;BEEwp>arUG6xtLA5T_A^1P#d(N-UQC^e% zjjdcL+tOjhA!h9!$KG!EEBqC$M|%$oP9r-{FEZ1lc!>HlY>(5IVR+F64Q1n4 zXw8`2;Ct+h^!Xoc*Py=FE=0wx4Ok`x4VBbh;W$^Z?ELC_aV=D@;{dQclKqD(m^Qa#ihPe zv@T@5$kwFFLp;gV+Im{2yrY-!zbY}cq_3^E ze>Z=_-Il6kabu&Pm5B+KNK0QgY{}#m4&j$2Z$+-Vq z@G|{=dXnPs!bJb7T+0#ma(}kr`~<{lRZE;_cet*1PKlnrw%SJAq+)eq!o9C@GB}Oa z)f+RU(9(5D1ViYSFO9plXxwdGz@B8_^oQzM)6)>-u(=kl*=og|8z<#1cZH{KE4o%T zR`=ymvijhnjbHZ*pt%hR&L0FTWtSHj zw>UZd(YfbS5n*D#*`dgZULkRia{}PMqsfn2sy7H@p>xJ5Sxd(~;?_Ld6%)l2>EeJM z0gu!>Fd#W*4DSAkXoTJFXcQbT?xsbbn=?nYu7|ePHRi4${Q$tofaAUKqE#8ZqB(~Q zC#Plw_jxF$-*auH-&)>Qde=e_2ID}DTIhS%h*ooeAb#OKHTw${+&TU4fagE8IKIk3 zt=Ag%8RLxj9RSWQk#STE{-eH7?gKzXT!^H?OCut}@D0D1lrPi>Tt5TiNs|_bdq}fA z5$w5mUfA+af!gE7tRI+kmCkH;Vw$2euO&5WIJrFg5yX37a=HzWrR$2%Wu5Ub7v3^-{$4A=>RoA&cWm~b< zaG#SZv!`AZ0cPs3iE7EC8BPpi>(a{f*;G#kGiet4vS1rZdMETcz&jq($Fpq0ou8mc zLk&GY18xmca&&mi#-3wKJ!|elUK$hNLZlctpMxqgGYbS2PKuaMv5v_&4VT|td4<~~ z43-E1vVOSP6UV2`R12OtcieLR%@V)h*#Np?{_hr>X-_~XSdTcmWn;Dji&9RT_Eo`# z4pxP~eiAFu45qQKrUaOfbIXs-Qsr;A0&>NPYP_e;%k85AWj@b{yMHxsA`ie=*4vo# z2xNoY1ftrv>C$b8@QA@`yOo=gU}`m_M4)c@bV)|GcVSW6GZmi0rtdPrOA=WT9hbcm zrg1qV6gS#=BzWxGJzsLf?vHY}GRLeSsO*;D1PgNZfcY%>*5|^$`DXaZ3o4lzvP(nk z>)Twum}32%@sZP3a#nD{faXGJ)0;2_?-)%jdt~apm^Z@<-)U%_Y=Vr! z&B%&y(6rzd8Z+2KBi(b2zEIrXPiNmBBEJ{`-9UrfiAt3}QhoVDJ+2?pUi%9n93PP;K#_?oXY*1pEYI&A=q`?WthSUx)DG zzKQEyP842=Fy8O;CrT9i0Onj2Z!k>G7*g(7!;cqARC`p1EuBHBkt3EZr_) zK01gtx~k)c%*?ouGw8WU8c!q68ORqs>;06Ft4WB4E~!DwqJu)88zivcqXkGws^TXf z!s3I8uBN}1>ovgm_ZxPY=j$yu*{ZxnUt`WlRanGIctYFR+)r@$yai=Kw!hJr1UaMW zS)M)fzH#dZv46QX4I;2A3~krc)sQjGBL4;_Wd@;%{b#6nwea*ly~;Z`i$FW!=__wx zk3A)!*Woxb;NYdjW;=81U6l27U*60a+05CnIJc?)y{cA7sc&s@201p}vZS3hlAU&I ztV8s8?!jr+_`Fv6Dz}3Nwa;QBa`gx8>Ke*!O*-%Y;_~9HSN==c*2$hQm(3>tf(<9Q{w&fT$ix@S5zqalz3IH;h!p~pnAP2BXi;!@%7dhSplW1;|}AQZ~hFBXiF(kY7gDHk_$B)u|>5eD9MEPjT*xK!NB zs&JRU3;#*UV?B9)UT`B@AfjB~&KQA@pa>%_C1+(#EAz6Ru!*1Yu5s)9FAJtDGYd2< zQLl21;*HuANyGqQ)oaQ;ORW4JqpnwRlrYNCGrIQu9gA9>i!lEA$}Sx`_5qf+n;hII zgEv6TiIVvY(-&zqzesj$ob@+9@6C+yj}|5uw`%QX>pCR!s61#&EQLm%MEdIH8s1s* z2oi!_@JbZ%X#iqMfU$yEv>>8Lq5dW>Mj&1%*RW&{2;?ecgxg{e=eHRUwu3PZ#bNAu z!P}1%njL&r4J!g?SHq>ChP@`r_t_x{ZPgzYGjj}qDX@tf*y~CxsYqRFEnIbLn$*Ti%3!gx;V zRMlB(Szg4{0iepTcMYw0K$gCqOP5M)8w_nyk6#{avcWw7mtsUkj4t1&cXcTjVMdpA z{QT1or3T_cl|bjIGhmIr19xRV=u|#0q=c@-7b`r@D(@$K_9{QM{-u)t%3hE_p~FWE zc3(}_=+Q4#xKi8;a}0J(=&%tIC{fnJ-6>-pEDDk;{?>yS}xZAFDI3ipObiiOb4{{VVL#`D=x zuk2w0#vxM(Erg7JK3iSM@23F7%YRz_Ah`qxd%Y1tSted2kiWyM<9QxeiZgz0L^l}2 zf8E%=V|#;}mEtpa8!AOXaOX^Ha=~?v}^gV*0 zY4t{*73UM%Mr{Tpt>@t z$j|#dB^v!2rKwTg#(aQ#cR`5zLS`eXOIFkjq{IhC;np|Jq8dYSei6mrbVW_!|MI6Z z@<6833-&V$1+Nx)a4^iPSh;H;%02`%vp=sntTqAvwbfkVCY z@|QyQ3iDetu?YN2t+fmxV;~(&=`+(n(vQlr1q_ZzlP{KUyB#ug*moi{_4ip7oMG@e z+tRSA*|F07WBF=tmH#vO)iKRXmr^P1cZObOO=y1tG>=;*VP2grU1@APCmeQtfAbpN zDN?xdS}FQ|a#QH?=x^(T?<#T2uM*<(TZeBT=__Gg9@g@sg#Ff=FA_Ii{Fcsi5<=Og z{w`lKPV0;;Z)6{J?#as2{+yx@Q>nVdSkk6RInAqlDfp9DEG|F#bNXRM>S)!GPvr*B zW-T-?BIzG5+~}e$eF?Pg(-M6u5a+&HQ}EM+^q)#g3G`1z2GuQSZ=2XX3z!-AvA^O* zYg8?FHT5ix{+1>$zumXs5zM@hEmySOCO!rSDK6tVn$|PUE!+XI#KpE|-bYT$-sl!1yP-2|b$TdQ-oGNUIAF@|V=2rlVjcHduw$*;2`_?!TjBM%DUOXgesw<{`mjF}89*&-O8Bxt{`RjiU#CPv;q()@vyOErz{^ProQ*V-= zJa1bGORB6eh%A}>|CvV&jNp^O(|*mo%D~B1Lv`JH!^_q4>q(9}_>-em;h*#e9xe^F z629l{B8a6I4HVMc+?N_5e5}->(pz$hqaC}Ig8dv9BjKz z0Q9e%{P(N%-G*S1M}pg=qdB`sTEM7h20?Z$e_zLx0_uaoXVOI$eocu2o4=(~cR|(9 zc9VlD`cR;{-5gx$(pRd|^+5n%Eu0K14Yn=io z-9)NC8K8mN!DF0eD!Ww_960jVdwTtr70pK7ol95JdJyJ<4JcH)a~c9@FNR&IY4i61 ze=o@yT@LikZw2Isp;_+-$160!(LL&^<7hztn0-Ch&G{YtO2^r~+Jc7MXh0t_8t9x6 z377>Rml4%P1}JcFOypw0+*`jbLE~pl;ggLE=VM8QN~|?upa{!&yQ0qfVF(_;9j|9a zmlxxoAWZ}jpvYQI8tT;pCzl0qS9Qt+k#wK8W5ypZF2=*JyCiBTXp7Bjq}JXCc!&3& z)^$G-RqO@GhnyQyUC#>^d1->j`Xm2E%e0}px@d`c~ZFEW;L_dA`G6{-m zVy_)>hfU%uHAA+^(*W=~{K-Ed2|63OC1-*P7Xb1R`Cb}(XoA51dH?2z&Yzu~UFU0d z9RMF2rPIn0@z2dp0HEHzlV{XKO8CGldAtkQDcv_YC|uzUH!H0qugDRtHtY?BK*2#l zqsyh###=kLhm3CEiZGG!N{F(cg1(wtR;ZGcHph$J17}BkXODt>719ss#-uZ%kVBub zed$}Qr_hY~W|<{ue|Yas)xeCR)o-h5tK|swW162dAs4JzD)%q=d_8^6WNz|@yg From da42fc4e0febc2c318b383e71158c0bc115b4333 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Thu, 3 Dec 2020 18:04:29 +0100 Subject: [PATCH 14/73] insert mode --- i18n.py | 12 ++- katrain/__main__.py | 6 ++ katrain/config.json | 8 -- katrain/core/ai.py | 2 +- katrain/core/game.py | 74 +++++++++++++++++- katrain/core/game_node.py | 14 ++-- katrain/gui.kv | 5 ++ katrain/gui/badukpan.py | 17 ++-- katrain/gui/controlspanel.py | 4 +- katrain/gui/kivyutils.py | 3 +- katrain/gui/style.py | 2 +- katrain/gui/widgets/__init__.py | 4 +- katrain/gui/widgets/movetree.py | 26 ++++-- .../i18n/locales/cn/LC_MESSAGES/katrain.mo | Bin 14177 -> 13771 bytes .../i18n/locales/cn/LC_MESSAGES/katrain.po | 31 ++++---- .../i18n/locales/de/LC_MESSAGES/katrain.mo | Bin 15941 -> 15935 bytes .../i18n/locales/de/LC_MESSAGES/katrain.po | 26 +++--- .../i18n/locales/en/LC_MESSAGES/katrain.mo | Bin 15601 -> 15195 bytes .../i18n/locales/en/LC_MESSAGES/katrain.po | 30 +++---- .../i18n/locales/es/LC_MESSAGES/katrain.mo | Bin 15735 -> 15329 bytes .../i18n/locales/es/LC_MESSAGES/katrain.po | 31 ++++---- .../i18n/locales/fr/LC_MESSAGES/katrain.mo | Bin 17454 -> 17041 bytes .../i18n/locales/fr/LC_MESSAGES/katrain.po | 31 ++++---- .../i18n/locales/jp/LC_MESSAGES/katrain.mo | Bin 18003 -> 17450 bytes .../i18n/locales/jp/LC_MESSAGES/katrain.po | 26 +++--- .../i18n/locales/ko/LC_MESSAGES/katrain.mo | Bin 17418 -> 17012 bytes .../i18n/locales/ko/LC_MESSAGES/katrain.po | 31 ++++---- .../i18n/locales/ru/LC_MESSAGES/katrain.mo | Bin 22692 -> 21781 bytes .../i18n/locales/ru/LC_MESSAGES/katrain.po | 30 ++++--- requirements.txt | 1 - setup.py | 3 +- tests/test_ai.py | 9 ++- tests/test_board.py | 2 +- 33 files changed, 256 insertions(+), 172 deletions(-) diff --git a/i18n.py b/i18n.py index 37f1dc0..def6029 100644 --- a/i18n.py +++ b/i18n.py @@ -1,7 +1,8 @@ +import copy +import glob import os import re import sys -import copy from collections import defaultdict import polib @@ -100,4 +101,13 @@ for lang in locales: print("Fixed", pofile[lang], "and converted ->", mofile) +for file in glob.glob("katrain/**/*.py") + glob.glob("katrain/**/*.kv"): + with open(file, "r") as f: + for i, line in enumerate(f.readlines()): + matches = [m.strip() for m in re.findall(r"i18n._\((.*?)\)", line)] + for msgid in matches: + if msgid[0] in ['"', "'"] and msgid.strip("\"'") not in strings_to_langs: # not code + print(f"Missing {msgid} used in code at \t{file}:{i} \t'{line.strip()}'") + errors += 1 + sys.exit(int(errors)) diff --git a/katrain/__main__.py b/katrain/__main__.py index 44b0bde..756909b 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -273,6 +273,11 @@ class KaTrainGui(Screen, KaTrainBase): # self.controls.rank_graph.initialize_from_game(self.game.root) self.update_state(redraw_board=True) + def _do_insert_mode(self, mode="toggle"): + self.game.set_insert_mode(mode) + if self.play_analyze_mode != MODE_ANALYZE: + self.play_mode.switch_ui_mode() + def _do_ai_move(self, node=None): if node is None or self.game.current_node == node: mode = self.next_player_info.strategy @@ -485,6 +490,7 @@ class KaTrainGui(Screen, KaTrainBase): "d": ("analyze-extra", "sweep"), "f": ("analyze-extra", "alternative"), "g": ("analyze-extra", "local"), + "i": ("insert-mode",), "p": ("play", None), "n": ("next-mistake",), "down": ("switch-branch", 1), diff --git a/katrain/config.json b/katrain/config.json index 0ba024b..22ad83d 100644 --- a/katrain/config.json +++ b/katrain/config.json @@ -98,14 +98,6 @@ "attach_penalty": 1, "tenuki_penalty": 0.5 }, - "ai:settle": { - "max_points_lost": 1.75, - "settled_weight": 1.0, - "opponent_fac": 0.5, - "min_visits": 3, - "attach_penalty": 1, - "tenuki_penalty": 0.5 - }, "ai:p:weighted": { "weaken_fac": 1.25, "pick_override": 1.0, diff --git a/katrain/core/ai.py b/katrain/core/ai.py index b15a1d6..8c7da85 100644 --- a/katrain/core/ai.py +++ b/katrain/core/ai.py @@ -18,6 +18,7 @@ from katrain.core.constants import ( AI_RANK, AI_SCORELOSS, AI_SCORELOSS_ELO, + AI_SETTLE_STONES, AI_SIMPLE_OWNERSHIP, AI_STRATEGIES_PICK, AI_STRATEGIES_POLICY, @@ -32,7 +33,6 @@ from katrain.core.constants import ( OUTPUT_DEBUG, OUTPUT_ERROR, OUTPUT_INFO, - AI_SETTLE_STONES, ) from katrain.core.game import Game, GameNode, Move from katrain.core.utils import var_to_grid diff --git a/katrain/core/game.py b/katrain/core/game.py index 2d5c8f4..65519db 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -1,3 +1,4 @@ +import copy import math import os import re @@ -8,17 +9,18 @@ from typing import Dict, List, Optional, Union from kivy.clock import Clock from katrain.core.constants import ( + ANALYSIS_FORMAT_VERSION, HOMEPAGE, OUTPUT_DEBUG, OUTPUT_INFO, PLAYER_AI, + PLAYER_HUMAN, + PROGRAM_NAME, STATUS_ANALYSIS, + STATUS_ERROR, STATUS_INFO, STATUS_TEACHING, - PLAYER_HUMAN, VERSION, - PROGRAM_NAME, - ANALYSIS_FORMAT_VERSION, ) from katrain.core.engine import KataGoEngine from katrain.core.game_node import GameNode @@ -57,6 +59,9 @@ class Game: self.game_id = datetime.strftime(datetime.now(), "%Y-%m-%d %H %M %S") self.sgf_filename = sgf_filename + self.insert_mode = False + self.insert_after = None + if move_tree: self.root = move_tree self.komi = self.root.komi @@ -165,6 +170,55 @@ class Game: if -1 not in neighbours(self.chains[this_chain]): # TODO: NZ rules? raise IllegalMoveException("Suicide") + def set_insert_mode(self, mode): + if mode == "toggle": + mode = not self.insert_mode + if mode == self.insert_mode: + return + self.insert_mode = mode + if mode: + children = self.current_node.ordered_children + if not children: + self.insert_mode = False + else: + self.insert_after = self.current_node.ordered_children[0] + self.katrain.controls.set_status(i18n._("starting insert mode"), STATUS_INFO) + else: + copy_from_node = self.insert_after + copy_to_node = self.current_node + num_copied = 0 + if copy_to_node != self.insert_after.parent: + above_insertion_root = self.insert_after.parent.nodes_from_root + already_inserted_moves = [ + n.move for n in copy_to_node.nodes_from_root if n not in above_insertion_root and n.move + ] + print(already_inserted_moves) + try: + while True: + if copy_from_node.move not in already_inserted_moves: + for m in copy_from_node.move_with_placements: + self._validate_move_and_update_chains(m, True) + # this inserts + copy_to_node = GameNode( + parent=copy_to_node, properties=copy.deepcopy(copy_from_node.properties) + ) + num_copied += 1 + if not copy_from_node.children: + break + copy_from_node = copy_from_node.ordered_children[0] + except: + pass # illegal move = stop + self._calculate_groups() # recalculate groups + self.katrain.controls.set_status( + i18n._("ending insert mode").format(num_copied=num_copied), STATUS_INFO + ) + self.analyze_all_nodes(analyze_fast=True, even_if_present=False) + else: + self.katrain.controls.set_status("", STATUS_INFO) + self.katrain.controls.move_tree.insert_node = self.insert_after if self.insert_mode else None + self.katrain.controls.move_tree.redraw() + self.katrain.update_state(redraw_board=True) + # Play a Move from the current position, raise IllegalMoveException if invalid. def play(self, move: Move, ignore_ko: bool = False, analyze=True): board_size_x, board_size_y = self.board_size @@ -183,17 +237,31 @@ class Game: return played_node def set_current_node(self, node): + if self.insert_mode: + self.katrain.controls.set_status(i18n._("finish inserting before navigating"), STATUS_ERROR) + return + self.current_node = node self._calculate_groups() def undo(self, n_times=1): + # allow undo/delete only in insert mode cn = self.current_node # avoid race conditions + if self.insert_mode: + if n_times == 1 and cn not in self.insert_after.nodes_from_root: + cn.parent.children = [c for c in cn.parent.children if c != cn] + self.current_node = cn.parent + self._calculate_groups() + return + for _ in range(n_times): if not cn.is_root: cn = cn.parent self.set_current_node(cn) def redo(self, n_times=1, stop_on_mistake=None): + if self.insert_mode: + return cn = self.current_node # avoid race conditions for move in range(n_times): if cn.children: diff --git a/katrain/core/game_node.py b/katrain/core/game_node.py index 341f7bb..dfee82b 100644 --- a/katrain/core/game_node.py +++ b/katrain/core/game_node.py @@ -1,21 +1,21 @@ +import base64 import copy +import gzip +import json import random from typing import Dict, List, Optional, Tuple from katrain.core.constants import ( - VERSION, + ANALYSIS_FORMAT_VERSION, + PROGRAM_NAME, SGF_INTERNAL_COMMENTS_MARKER, SGF_SEPARATOR_MARKER, - PROGRAM_NAME, - ANALYSIS_FORMAT_VERSION, + VERSION, ) from katrain.core.lang import i18n from katrain.core.sgf_parser import Move, SGFNode -from katrain.core.utils import evaluation_class, var_to_grid, pack_floats, unpack_floats +from katrain.core.utils import evaluation_class, pack_floats, unpack_floats, var_to_grid from katrain.gui.style import INFO_PV_COLOR -import base64 -import gzip -import json def analysis_dumps(analysis): diff --git a/katrain/gui.kv b/katrain/gui.kv index bdf1e73..209d633 100644 --- a/katrain/gui.kv +++ b/katrain/gui.kv @@ -755,6 +755,11 @@ icon: 'img/local.png' shortcut: 'g' on_action: root.katrain("analyze-extra", "local") + AnalysisMenuItem: + text: i18n._("analysis:insert") + icon: 'img/local.png' + shortcut: 'i' + on_action: root.katrain("insert-mode") AnalysisMenuItem: text: i18n._("analysis:game") icon: 'img/analysis.png' diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index 26a08a1..40b06e4 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -20,19 +20,19 @@ from kivymd.uix.floatlayout import MDFloatLayout from katrain.core.constants import ( MODE_PLAY, OUTPUT_DEBUG, - STATUS_TEACHING, OUTPUT_EXTRA_DEBUG, - TOP_MOVE_OPTIONS, - TOP_MOVE_NOTHING, + STATUS_TEACHING, TOP_MOVE_DELTA_SCORE, - TOP_MOVE_SCORE, - TOP_MOVE_WINRATE, TOP_MOVE_DELTA_WINRATE, + TOP_MOVE_NOTHING, + TOP_MOVE_OPTIONS, + TOP_MOVE_SCORE, TOP_MOVE_VISITS, + TOP_MOVE_WINRATE, ) from katrain.core.game import Move from katrain.core.lang import i18n -from katrain.core.utils import evaluation_class, var_to_grid, format_visits +from katrain.core.utils import evaluation_class, format_visits, var_to_grid from katrain.gui.kivyutils import BackgroundMixin, draw_circle, draw_text from katrain.gui.popups import I18NPopup, ReAnalyzeGamePopup from katrain.gui.style import * @@ -226,7 +226,10 @@ class BadukPanWidget(Widget): for i in range(board_size_y) ] - Color(1, 0.95, 0.8, 1) # image is a bit too light + if katrain.game.insert_mode: + Color(1, 1, 1, 0.75) # dreamy + else: + Color(1, 0.95, 0.8, 1) # image is a bit too light Rectangle( pos=(self.gridpos_x[0] - self.grid_size * 1.5, self.gridpos_y[0] - self.grid_size * 1.5), size=(self.grid_size * x_grid_spaces, self.grid_size * y_grid_spaces), diff --git a/katrain/gui/controlspanel.py b/katrain/gui/controlspanel.py index 9d5d45a..652a84d 100644 --- a/katrain/gui/controlspanel.py +++ b/katrain/gui/controlspanel.py @@ -2,11 +2,11 @@ import time from kivy.clock import Clock from kivy.core.audio import SoundLoader -from kivy.properties import ObjectProperty, OptionProperty, NumericProperty +from kivy.properties import NumericProperty, ObjectProperty, OptionProperty from kivy.uix.boxlayout import BoxLayout from kivymd.uix.floatlayout import MDFloatLayout -from katrain.core.constants import MODE_PLAY, MODE_ANALYZE, STATUS_ERROR, STATUS_ANALYSIS, PLAYER_HUMAN +from katrain.core.constants import MODE_ANALYZE, MODE_PLAY, PLAYER_HUMAN, STATUS_ANALYSIS, STATUS_ERROR from katrain.core.lang import rank_label from katrain.gui.kivyutils import AnalysisToggle, CollapsablePanel diff --git a/katrain/gui/kivyutils.py b/katrain/gui/kivyutils.py index 35f641c..c024a74 100644 --- a/katrain/gui/kivyutils.py +++ b/katrain/gui/kivyutils.py @@ -1,7 +1,6 @@ from kivy.clock import Clock from kivy.core.text import Label as CoreLabel from kivy.core.text.markup import MarkupLabel as CoreMarkupLabel - from kivy.core.window import Window from kivy.graphics import * from kivy.properties import ( @@ -12,7 +11,7 @@ from kivy.properties import ( OptionProperty, StringProperty, ) -from kivy.uix.behaviors import ButtonBehavior, ToggleButtonBehavior, FocusBehavior +from kivy.uix.behaviors import ButtonBehavior, FocusBehavior, ToggleButtonBehavior from kivy.uix.boxlayout import BoxLayout from kivy.uix.button import Button from kivy.uix.label import Label diff --git a/katrain/gui/style.py b/katrain/gui/style.py index 7c300df..092d054 100644 --- a/katrain/gui/style.py +++ b/katrain/gui/style.py @@ -16,7 +16,7 @@ GREEN = [0.1, 0.8, 0.1, 1] YELLOW = [0.8, 0.8, 0.1, 1] DARKRED = [0.3, 0.1, 0.1, 1] ORANGE = [242 / 255, 96 / 255, 34 / 255, 1] - +LIGHT_ORANGE = [1, 0.5, 0.25, 1] # gui colors BACKGROUND_COLOR = [36 / 255, 48 / 255, 62 / 255, 1] BOX_BACKGROUND_COLOR = [46 / 255, 65 / 255, 88 / 255, 1] diff --git a/katrain/gui/widgets/__init__.py b/katrain/gui/widgets/__init__.py index f5ccb45..e5bec48 100644 --- a/katrain/gui/widgets/__init__.py +++ b/katrain/gui/widgets/__init__.py @@ -1,6 +1,6 @@ -from katrain.gui.widgets.graph import ScoreGraph, RankGraph -from katrain.gui.widgets.movetree import MoveTree from katrain.gui.widgets.filebrowser import I18NFileBrowser +from katrain.gui.widgets.graph import RankGraph, ScoreGraph +from katrain.gui.widgets.movetree import MoveTree from katrain.gui.widgets.selection_slider import SelectionSlider __all__ = ["ScoreGraph", "RankGraph", "MoveTree", "I18NFileBrowser", "SelectionSlider"] diff --git a/katrain/gui/widgets/movetree.py b/katrain/gui/widgets/movetree.py index e9f1d73..7d90e6b 100644 --- a/katrain/gui/widgets/movetree.py +++ b/katrain/gui/widgets/movetree.py @@ -12,8 +12,12 @@ from kivymd.app import MDApp from katrain.gui.kivyutils import BackgroundMixin, draw_circle, draw_text from katrain.gui.style import ( BACKGROUND_COLOR, + DARKRED, + GREEN, + LIGHT_ORANGE, LIGHTER_BACKGROUND_COLOR, LIGHTGREY, + ORANGE, OUTLINE_COLORS, RED, STONE_COLORS, @@ -106,10 +110,9 @@ class MoveTreeCanvas(Widget): return self.set_game_node(same_x_moves[new_index][1]) - def draw_move_tree(self, current_node): + def draw_move_tree(self, current_node, insert_node): if not self.scroll_view_widget or not current_node: return - spacing = 5 moves_vert = 3 self.move_size = (self.scroll_view_widget.height - (moves_vert + 1) * spacing) / moves_vert @@ -148,6 +151,15 @@ class MoveTreeCanvas(Widget): self.move_xy_pos = {n: xy_pos(x, y) for n, (x, y) in self.move_pos.items()} + special_nodes = {self.menu_selected_node: RED, current_node: YELLOW} + + if insert_node: + special_nodes[insert_node.parent] = GREEN + insert_path = current_node + while insert_path != insert_node.parent and insert_path.parent: + special_nodes[insert_path] = ORANGE if insert_path == current_node else LIGHT_ORANGE + insert_path = insert_path.parent + with self.canvas: self.canvas.clear() Color(*LIGHTGREY) @@ -157,8 +169,8 @@ class MoveTreeCanvas(Widget): Line(points=[x, y, x, cy, cx, cy], width=1) for node, pos in self.move_xy_pos.items(): - if node == self.menu_selected_node or node == current_node: - Color(*(RED if node == self.menu_selected_node else YELLOW)) + if node in special_nodes: + Color(*special_nodes[node]) Rectangle( pos=[c - self.move_size / 2 - spacing / 2 for c in self.move_xy_pos[node]], size=(self.move_size + spacing, self.move_size + spacing), @@ -177,11 +189,15 @@ class MoveTree(ScrollView, BackgroundMixin): def __init__(self, **kwargs): super().__init__(**kwargs) + self.insert_node = None self.redraw_tree_trigger = Clock.create_trigger( - lambda _dt: self.move_tree_canvas.draw_move_tree(self.current_node) + lambda _dt: self.move_tree_canvas.draw_move_tree(self.current_node, self.insert_node) ) self.bind(current_node=self.redraw_tree_trigger, size=self.redraw_tree_trigger) + def redraw(self): + self.redraw_tree_trigger() + def switch_branch(self, direction): self.move_tree_canvas.switch_branch(direction) diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo index 0e03668e4dc4751d10c128ba4bfc98dfdd6c354f..0b8839b5a9bd8971e759e5ec95977f9af1651eb6 100644 GIT binary patch delta 3774 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 AlK=n! diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po index 4a0dba9..fe94413 100644 --- a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po @@ -671,23 +671,6 @@ msgstr "" msgid "Make Main Branch" msgstr "设为实战变化" -#. TODO - DEPRECATED -msgid "aihelp:settle" -msgstr "" -"Plays moves that lead to clarity on stones' status, favouring solid moves " -"rather than complex sabaki. Of moves that lose at most 'max_points_lost' " -"points and with at least 'min_visits', prefer moves that lose fewer points, " -"settle own stones more (with importance settled_weight), settle opponent's " -"stones more (importance settled_weight * opponent_fac), avoid tenuki (more " -"than 5 spaces, importance tenuki_penalty), and avoid attachments (importance" -" attachment_penalty). Weights can be negative to make it complicate the game" -" instead, and wide root noise (in general settings) can be used to further " -"play according to the style at the cost of strength. " - -#. TODO - DEPRECATED -msgid "ai:settle" -msgstr "Settle Style" - #. TODO - setting: what to show on top move (e.g. point loss, visits, ...) msgid "stats on top move" msgstr "Stats on top moves" @@ -742,3 +725,17 @@ msgstr "Save SGF File" # sgf save as button msgid "Save File" msgstr "Save File" + +#. TODO - status message on starting insert mode +msgid "starting insert mode" +msgstr "Starting insert mode, press 'i' to finish inserting." + +#. TODO - status message on ending insert mode and copying the moves +msgid "ending insert mode" +msgstr "Inserting exchange(s) done, copied {num_copied} following moves." + +#. TODO - when a user tries to go to a different move/node while in insert +#. mode +msgid "finish inserting before navigating" +msgstr "" +"Navigation is disabled in insert mode, finish insert mode by pressing 'i'. " diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo index 00a1586e9fbdbba7021279a357b141630eac6363..eb73abcf2e22c327a10bae19bf736e742b4e35ca 100644 GIT binary patch delta 3774 zcmZYB3ry8z7{~Ef@J@2|26*`+f}$v?fQh<@blzx|)bKh7a=@c-j^p4J^^~R+W_Ybg zQ`1ayZO)EUo0^sPjO8pX@3WOQ^U~DjC9S?c&bv96Q$FweKkwyvp7;G9JUDybZ2yJm z`YR28e&k;p{_Sa~o-t#aJ+>9iar9f@RE)w!*cv~?Fx+AL-(WQTv)CSQ*nW7pF_H8W zuo3n|{`yT8KO=ZB1T|okbrLqEUx`|9A+naK!IroQpTaM(J|05_cpNqUGREP3Y>v&@ zqzR^=_UVP;>~99p(8RpD2gbNj8O}gWsIsm=EwlzhF@VZ^r~Q0CD&SiC{AX0AzalZ1 zYxeWMQR_A&iYDxDB57!$IMl#oRHhjkfX|~ceZlreqsA2>YZ)JE{(MyC)%NrCsCBkk z_o2quqQ;#^zcT&P4hW$`(?p^sCZIA(LuHWTA@2qblZ4rlA38s134_u_hn2K`H7ze-$;Z#<~Tyz;5dSjHO?TO5_UawY-b^ zN_mJ{Ka?N(JPrxiZ@L5+6VIVGypFmgcTp2VI9NT8KrI}L8lQx!OeQwKT-5jxs7pE? zwNWK1;3}l*W-V&|j#&HtALfD1`jq|Pvh^-1v&MXp>+^Wjf?ZJ?WuX=xgp+YBX5kU+ zfuTg94Kt9XOfIS-#W)cw;yM4VG|uy2I4`3%&=d8ka@N3Mz4 zie2z9R^ctw5zQgW6nq1}!fmKuR^@ydkfWJ~i*Xt1Qu>|5U@1GH?n1il_qPs3l`J2X zp$l~frd#Ku&axV{;5yXNY(gE?c07jr@jO;{sbZ%)uS$AeYL{HVvT-A)Xq zIkPioOTRzq9Hl>kbcfS#)0GQKzm#)WgrmFhgXfn~8(-gXC}2KyaQ3FV=KQ&2~+6tzwbCg6rl>aPF}@<8w98C1zHq87Z0(b#}+m0@et z!s*DpG%sN*tVCtL95w%AjKQs_quY-Awm%S65q~a?SQ;-|J*Y_EL{7sj zMcv{S!+E5c~_xbETzD zq1#gsc%|9>kmVyIj|F-}c|szK+@2E0?eV$FE1WWKkt?t|CcR#VVz1=#JI&?m9yr}|eaKL|tJmYWeNK_v zS5R2WL^s{Xfu}l81YMVmQ#jL^QttBkv|uN9r|wQ*X2zrjJ^mMVYH*mwI2GO}S7L7W Kz{RZM(Ek8P*uOUb delta 3522 zcmYM#4NR3)9LMp)o63vwc2O>%UO__)Bm_js7lxHd8cj02PHI_K$(PK@bQyLl$TG!B zRxP!$vNUCC`Y<<32hPkl=G;_jC7Pv`CYD<2%B=5?=WMy_{hV{2bN=U?|2fa4rRG3Q z@JvGZJBEKJ_@BoA=5DGPGqLCY_Mte5dJ+aO9$&y@tjB2FXzM#Mf%;MGk7sQC4#rWB z?`2GPOh-OJGlcJ08b+czOt4PJDC%=j0T&}N%nIy{?_msX!*KipwZK+X|8`8li|D~{ zCW%BZYMu=2#r&p#f(DN3YB0u++F=!Hz*1`+D$r^S!wsmNZ?exF)Pncg_Cu(ho>ew5#(?O_?`KXLC zw!PKXkHwRJEue!21^V4SP@~#o`J&0BqZU+vTEP9NfREVv6Q~T$L1kbG_P|re}ALM?P(0{Pb&ouWYlJ5ZPFqV1?&s`o}MAjdie6{s9_L;+O41=i)L2|qw>V5@C! zL1m^LnZle8+J>99A%eVWU@~gpVARfvQ41K4nrIrP;sRu-S&0hRh}!W^>ps-DiV78F2jWTACADg*0K zNBR-!&NXA#`@e^R&g?5xfK#Y|=hOkOpeDS9T396Kp+J35JIO*lAB7q}3DwV!iZk0< zjhg3W)W+Vzpa#BAK@)93U5;kdz!uxyh6>z{>i+{OBiAtkBRP2Wk40U|G}J^RP?;Ey zB-hM9jbCJ+*Llgm&bYxo*kEl&?d$;R`8TM5zn~_%i3%Lf5Byy8VllpodDx1Y@EX$9 zM6xPnBm=8354YpmRL;MgLK%Ph3e|uba2%DQOE>_pV>TxBbtfpreCpMxqxjU;KgV3^ zSCEhC*U!z=DAe7Wj1@Q)%dja(;TnY-_z+&~?;b^=&mA}xwUa5x@tb)#1nck(+>ScB zVpf@j_hBnOi~1v#o9-S-KGst&M_tAaR3?MxDQKrxZNp#I?ip^%Jg6O}qwYX~wFGsR z6Hx&xQ30Q}E<_#Ki+B|4u><`B>4Qasj5(zDe?5iMGz9MAD}+BPna1p=IBqa!OuakX zI!rx{ZI@I32|K9|=R8*8z#L=#!Ou|Rw+(d{vYm4vsb&vqq2Hl0co|8u3BN~|o%0_^ zfw@dB#^N;O-k2&>>T6LuS&Q1?X5>1UU8u~QKxO6vD$Z3@zZ7nw+A~oZ%16ET#i)5o zRcC%PnSw6ebo-zhOR3i(n=}V83jaU_{ui~dm|^x-quTS3(=%hR2R?}fI0yBbHli}} z3F`Iz5`%h;zNMfY{f2&w;cBZs3(1zLMGbI}V>E}6SKo9Zr)Rn`i{ATejKc?UJo=Hf znh&uAPoTzmc-4w9r;z-6CaExl_n>a~5!Aqws0DN)SvK**-J>c+)hkg8 zUyVL&LZ!S773U-lz%!_MO%eImdzr*?l;RZB*$=`5EJ5w80u^`xav#kq?1Q^dJ3fXQ ze-;z*66#3qppGJXgnJh}sEzqh*FS zdPmxnq5=m{mu@kJ;xb!*36+u8(2K!0ZDBKNrTdX%GHs{;A;oUM9;lUjQEyr%X5$pp zEq?`h^UP}0LieIF_&sWa*R5gqy7MF=84H>;3cR)^)0&04G))sV>V(IfsfkuKS#NlGNawg?7>v?6hEgFw895aD}D^a@EO!=Gar?S zMW~6Eq83(*dYxX!RNRERocmEn@-t4rza4+ih_Hx2b@jYJgFo)LTXKByOG2G3iFqN; z9Zy-9Q<*$9I;Ntlldq!s`FR1y$w-V2&Gt1M8Jg-`$jJ$B*jJe3R1I4d>XZ~#MK~SB HGsFG^7L8v= diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po index 98fa667..a50b06b 100644 --- a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po @@ -707,18 +707,6 @@ msgstr "" msgid "ai:simple" msgstr "Einfacher Stil" -#. TODO - DEPRECATED -msgid "aihelp:settle" -msgstr "" -"Spielt Züge, die dazu zu einer Vereinfachung des Brettzustandes führen. Von " -"Zügen,die höchstens 'max_points_lost' Punkte verlieren und mit wenigstens " -"'min_visits' Visits, bevorzuge die Züge, die weniger Punkte verlieren, " -"eigenes Gebiet mehr sichern" - -#. TODO - DEPRECATED -msgid "ai:settle" -msgstr "Settle Style" - msgid "analysis:local" msgstr "Finde lokale Antworten" @@ -789,3 +777,17 @@ msgstr "Save SGF File" # sgf save as button msgid "Save File" msgstr "Save File" + +#. TODO - status message on starting insert mode +msgid "starting insert mode" +msgstr "Starting insert mode, press 'i' to finish inserting." + +#. TODO - status message on ending insert mode and copying the moves +msgid "ending insert mode" +msgstr "Inserting exchange(s) done, copied {num_copied} following moves." + +#. TODO - when a user tries to go to a different move/node while in insert +#. mode +msgid "finish inserting before navigating" +msgstr "" +"Navigation is disabled in insert mode, finish insert mode by pressing 'i'. " diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo index a8528ea5ffe347ae37521356c19e64c7d571dce8..818091fa06f15f8f3756c10e4722567d949f78dc 100644 GIT binary patch delta 3775 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 diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po index b244f04..6c3478c 100644 --- a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po @@ -615,23 +615,6 @@ msgstr "" "root noise (in general settings) can be used to increase play according to " "the style at the cost of strength. " -#. DEPRECATED -msgid "ai:settle" -msgstr "Settle Style" - -#. DEPRECATED -msgid "aihelp:settle" -msgstr "" -"Plays moves that lead to clarity on stones' status, favouring solid moves " -"rather than complex sabaki. Of moves that lose at most 'max_points_lost' " -"points and with at least 'min_visits', prefer moves that lose fewer points, " -"settle own stones more (with importance settled_weight), settle opponent's " -"stones more (importance settled_weight * opponent_fac), avoid tenuki (more " -"than 5 spaces, importance tenuki_penalty), and avoid attachments (importance" -" attachment_penalty). Weights can be negative to make it complicate the game" -" instead, and wide root noise (in general settings) can be used to further " -"play according to the style at the cost of strength. " - msgid "ai:jigo" msgstr "KataJigo" @@ -810,3 +793,16 @@ msgstr "---" #. top move stats show threshold description msgid "show stats if" msgstr "Show stats if more than ... visits" + +#. status message on starting insert mode +msgid "starting insert mode" +msgstr "Starting insert mode, press 'i' to finish inserting." + +#. status message on ending insert mode and copying the moves +msgid "ending insert mode" +msgstr "Inserting exchange(s) done, copied {num_copied} following moves." + +#. when a user tries to go to a different move/node while in insert mode +msgid "finish inserting before navigating" +msgstr "" +"Navigation is disabled in insert mode, finish insert mode by pressing 'i'. " diff --git a/katrain/i18n/locales/es/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/es/LC_MESSAGES/katrain.mo index c4bd3c5210dfc59ca60d6c4967deab2645e70eaa..2ae865f782f69182726bd56ef2d424afd7097746 100644 GIT binary patch delta 3775 zcmZYA32;qU9LMqFJ%k{6u|$aF#*$bfArecf9i?`v!=RMWM4ou{yl3)aO?mBTDMrpZt1m*Z$Rz-gF(i!lk;VJ+Nd+xxLD?Q_^1@7Q)+oG~8S zDHwxU$WPeh@;jaz15g2@t?ytg?Gn_0^O3PkDJJ31AXM z=9Yc_1T}7TR#B7rjfV>j)EE_*ipn%c0oWUr=@8oo8rife%sbIHI+H*48elf%>7gWE?84&^j0CYF45q-h@hIhkbqw zRiR6$xW8=M6{fDb;X!q5iR#!Hm0=&$LWZFxoPfzV8yUlVit4`wmH8g)57>hCIaL3D zQ5naRg({kis#rLc3k77NCg_R8no+0;{HXW*Jycw&bqi{MUDkuxh;|t&k!z^e@&W3T z@)R|`n_qg~7+G-Gw2NMt?x>0TV`Yg^frY3HXW09TtSe9%tw&XA3u=Me?ein{{wY-H zFWB~N)Oe54qxZiKpEq@EhFWnZszWv^!(PbZ%^=jm@=)=UZTnr+0_LL@v>cVl2J2Q- z1&*S&_9W^M{(+V6{|zp*clS{PxT&`Wj7Lq_1T|qQYGGYb6ZAn1I0luG9~Boyjq?dA zel1p3$hsXh-$4v3!_!=-V+Cr$+o(hG0M*gO#_E1NYT!nw_|~Y(biryk7!^MZbx6mf zCMrQKco9-{vjNqATO<4aALfSk`mB9$)%pOHSq(nqdY+6Lusv#`T-3n*(2rxWEgr>I z__uwY#A@`%tph57ftZIQliB}bE_QHZyaI^ofJ;yV>_S!OqHX_)8MNb?8q*D5#;!OW zmC@Ju67Iw9_yp-}JQ4?K5o#w~3?P?kA-vHG=4fkL+KEiuA2yao|3tD@()^z4ZQmQdks_@ZCi*{(x zhK~g8(|D2Rci31z?Gx>cIYhfhx-lEk&3@(J=ct8MAVo7bPz#P_zjWx5kr&Klp%NO1 zX{z05E_90DM`gYWb*MI@GTdwZ30a%DY@gT8j6P36k~i6?FXkwW!^x<9+PhLN)bUHyLiVA9XHa|e52}>UP;s#xqc+2M+F7U!d!Z&8jjG55)I_Don`}0q z65N43@fe2np4aLWElncMqn&{%_#HB*DMy{+s#*MD!W86Sn-QprgisT#!MeB=`{QAJ z1wC}qTQL;1;KitM*L0@-D%Ejr=urHIY_mztj%NM_YJsCrdz+7npNhP(CX5^dvj(;2 zM^FpBj!K{!Wzg27p$_*zRE35k$Igt)q5eAk^SGhCT51DVph~(9D>Fi6eAs#g_1e0- zL=RaHjG;XQwcrt`t$Q1_b%nNFjGC_mwU7m2E|l3aRB1L~B7TD!@DMh@AJM_f$S1;7 z(G*Y^;Y~bs!egj~m7&HDmvf=O3RH#n4F`k z(#E3(Y>sZsLQU8ORgoU3h4i)#M#Yan^`B&&i5}V?VLvQI^QzzP>xqA+%99co$nG+`E1q!`wLT#ObV8EO1ObAZ( zc?+D9z_cmjqt|nsi9x?VI79JMg44aBj7Uo7ldeIp+i8OV#}{%6e4)I2KRtakpRYXK yd12L+**N*LoT)|LP)H-D`O-3+$laW()jIue-RaRV#W=;m7e}IRM&xep0@r`4AiQw^ delta 4151 zcmZ|Se{7Z29mnxg+QMijlokqD#6wZqLd(xGKz=M?Qzn~e+!lU>**x4nx4riEKHYtu zwiGdU1c!mioDy*88WI#uWE+;tHklf9?gs|O2(vho2`ljr6*q@VhFeUx_vb!`;XgCb z*K^Kueto~^oToU{dv#0hLS@Nb!+(F|?-c$X8>x~pU%TPD6M4Lg@&xp896o@Pa5t9Y zv#xv;D=DACoAH7x4`T)8abt`bg|*0^oSDhbu~aNUHMrBc0m~?Npa$$g#xOgv8lS+= z<4>^!UqUVLRaE=)cq6`#*y4N$HPH95 z7@tN({+xTCM=kgjSAP-}>6^$J%%9!+%cybxDVe{p91T>)ved8|73r<0h6_-UE_dbC z&TpXF--nE4I#J_1h|0iD_x?wy@eVtWquT!tb87e&4~qB$*Wgp+k13;49c!Eos0bIK zGO-dh&{|Xm+pr2BMD=?N`C|_7Lkk^n^{=|}nQ`P_3wVbL4fJ>SLY1l?%MYqdEowo{ zs0G}P8t@)hZb4<}epCi}@pHHx)$S40_)no0dKk6P*DA@s_Gpj_b$kbPxZZaS)k@`R z)B>8ED^LU7joKm~)h=-EKuy?>3g9QM{sbyB=aDJQyE#{J)m4;|S9P3(>R6A8>^9T_ zR-q+$XL<5#eayN~Fp(pax!ny65+z z2I_EbMGdgqxeq5(K7b0~IOGJL5)A?-hYTJG-p1IA51xKHSvw8l+Hm7v;-B| zovwbPGl`0*3zea*s0HqH@1Jz_&!AF1;L0aZ;0@k4x6z;459`cQUm-O zYQj%Y3meUTXrPIxNE%S@m!bOKg=)7RHBOr|Ld~-c71$3jr;hu1&_vIp4#zQ6#}lsp zG-}}UsP>mo8Tkj6;%GKr?Z=`H%e_u^^iF;rx~ zLB0PIYQXnU6J13OT*3!Fjgzqfci=7f0_y!B>X+IFr~pQ>IuENb!tNUOzeNqGXu{RB z)&QGPDe8CSXK^;=Q@9xajf-%>O>smWxRml%T!JqmP0Yur$j45N&(;jQgYqoYIN2Nz zZ}M;$)$uzw$6N7BRH}ZB8eq`*ABf8&e@>b&Duxlal1?fvVNnsE;2Cj;i*#2t**Wg3DP`*`f?sYW$<;>cjX*vtKM=BVX5};G7sbM3aVrA{CFV~ z(Nb<~qcX7zHSkfa#8dbcynrjPj#cP(BvA`Jh#L3kLiS%N zxmpj7Ocj0R3tf6q>npaK;7FjSb?J`jKWE%Oj=X`vrt<#-<7|J zn(z+PLheNcwlT+pQgT0P;w`8FAHxZ_A1xk1J`v_Ds{KdE`85B*DxAy5V>W&nm7x%| z=Z_+n!|X*Z?1!lF51`uRp5s9gzU~?fp;GsrE0^CEr@j)k;%Uf@G;>fBu5<4nMv`Lo zq57XeW$=o7U%~-UhO1Bun1W;^XKvx4h>E$+`AATv8MQT?sE%1wL=U*~Hq->WPy_a( zQhW%N$pP%glc=poE{g*QQJLLVD7W%I5f-#jCY>rP zFSM~=kNVPne#Z3uWw}J!%ci0}8)R%41sOlALoezM8*S3-3A(eXOq&gZbgI>M20eag zvtHEhXKmE(Wo#no>`MEaZRlMG>2qRn9>1}T53R0OUY~e*z zXA6Z~XuV9U?M+4PYMS=FLfcfPr6(1pqOh*fc4hq}6UMV&A2{jvQX7xhXu~+Lp!ZrB zw9opszA$jAvn$9(UMAtYcC9VFeyXiKYG};;uV+^m(PyH%(B;7m@PGT-nKp2JT9RI( zq0y2qvK0B5?v9kLFU()a(n1?{c?qA4erB+^Sxc_V&v@ymPu&qL5f|gPi1VIpYgL^x{x3aLD+C@itf-S%)lnQvxTG3mG=6qmq-NJ zRvi}JXqHfCOna(ALPsD-QknHLZBhGdYwn>}X!AdAnp&JMpZA9m`5Dc{rTP1oY#;Go DjzLcA diff --git a/katrain/i18n/locales/es/LC_MESSAGES/katrain.po b/katrain/i18n/locales/es/LC_MESSAGES/katrain.po index 6424d3d..454cd9e 100644 --- a/katrain/i18n/locales/es/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/es/LC_MESSAGES/katrain.po @@ -713,23 +713,6 @@ msgstr "Plays moves that lead to simplifying the board state." msgid "ai:simple" msgstr "Simple Style" -#. TODO - DEPRECATED -msgid "aihelp:settle" -msgstr "" -"Plays moves that lead to clarity on stones' status, favouring solid moves " -"rather than complex sabaki. Of moves that lose at most 'max_points_lost' " -"points and with at least 'min_visits', prefer moves that lose fewer points, " -"settle own stones more (with importance settled_weight), settle opponent's " -"stones more (importance settled_weight * opponent_fac), avoid tenuki (more " -"than 5 spaces, importance tenuki_penalty), and avoid attachments (importance" -" attachment_penalty). Weights can be negative to make it complicate the game" -" instead, and wide root noise (in general settings) can be used to further " -"play according to the style at the cost of strength. " - -#. TODO - DEPRECATED -msgid "ai:settle" -msgstr "Settle Style" - #. TODO - Analyze again but allow only nearby moves msgid "analysis:local" msgstr "Find local responses" @@ -802,3 +785,17 @@ msgstr "Save SGF File" # sgf save as button msgid "Save File" msgstr "Save File" + +#. TODO - status message on starting insert mode +msgid "starting insert mode" +msgstr "Starting insert mode, press 'i' to finish inserting." + +#. TODO - status message on ending insert mode and copying the moves +msgid "ending insert mode" +msgstr "Inserting exchange(s) done, copied {num_copied} following moves." + +#. TODO - when a user tries to go to a different move/node while in insert +#. mode +msgid "finish inserting before navigating" +msgstr "" +"Navigation is disabled in insert mode, finish insert mode by pressing 'i'. " diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.mo index e51cd5cfc49c9bb96b07b255ea16b2e48b37a6bc..7814ed01708746e79d795dbd07c0e540091672ae 100644 GIT binary patch delta 3781 zcmZYB3y_Uv9LMoz&+dlSWwF?c%e$6kS(aRP*JTk)L@^?fcK00Xu+A}iENbaUQK_b~ zWK1q&bz`J*8Z^2M3TdaUsEo>WkO?(0YccBk+xM9Q3sJ8x ziwghVEM~Rg-x2<|=KrVnsAkO6Mt5vQaT@g&ScXmUB}~Ni7>7G;eJ?hnejMB3Wm|9D z*qC_gsaOy1Lw>?0hu=+T7=`NasC5?JOT8R5;c{dyvld(8yVwvv#~3_}3a}d0{~RV` zEhbvsMq>oE^Ii7&K2*R}w*42> zPR}ASm_P0Fo2Ys3A&Lg9Z{jIvqGVLZbkt7!r~?i|?esxgpMvV=MdmUg)c9vnJAc(a zuSCuBk@X8y|0-0!-!QD5{$)FOs8BTVsDY`d9c7_*o`afT94ceeu{oBZ`oD<$m^J)T zfLm<)Zd?BvweV5YJQtdhe|5ZWAJpS1MU#vQBoh_DKvchxwmu1!kwVnYgIFKSQT?7n zEl`09bTcZ@Pf$lvg&KFX8Tr>`I%PXvN7WnCTLE;m_C-yUk2;cRsD8!Pr;(v%HEQAa zP#f88pMQhO&?!{EE4JX3z6AP?zlCZQH6LA~coQ2o|gx1uK4W8IHQ)T>Y% zIgffRYfv94w@~v(^GnZ@k$}Udi(4?+sD(#jU5Zg1i%~mVVB1$%SD|*a0hOt(r~r4_ z=Lc>352)0iu=Pu*`EFpm-v35?ylG%tRK!`R0liT>9Et>QMxz2NK=q$(>x)nUEJp=Y zf!fGM>&K`J96}v!HR=+c#=7_aA_bk@Rn!F0##0E)?KLe_G4H({E>nN{)$@g66%uFpayz4ShY7nO`L@4-w~CWz8H&R zQ2ocFF6ngCLglD{S0Gt88&TtTCfWD@01Z0ppX`Hk)*95#>hnRa=P9TOyP_7#K~0>G zvvDeR#)CKz|3+QnETT!rVW|0LVIeL~;r!pGaFT{1T+UZuf4qoknAXO<)%mD;0Xn!0 zv+*5#2v4E{?Aey@5gdY^z(ti%JTFRNKZuS^8+8C;6Gl;M~TZYtwYcOemV zJ5y0-nqkdC-HAS^fqAIAkdNv=0X6V0V;FOLa4a4^n0mS!x!KG8!=rw0 zH|3p?B%47x0GOz)asconXMNk>qW83#*3)VM>DJY^-YQSrlig6sU&a@jUkbbCJKLVBd38;yu zBS|vFsD2eV5i3y(UPomhs-Jsz9L%Ghi(y5&h(b$TfqvYCy1j9{3Yxe-Dj+Xv;pM1I ztwfI1d|*9dpVuO%YGQdsD4I+hgg#V&Z=vRoWRrhQe3FLI=*e;4+p(zBy^P901;*fd z+g^zZcnfk}%$LaZFc*>gWfF7Uzz3m@W)>h}ujNH(G7-GaI!AEGk74|SKm$5wbMOhGBFwGUzk zx;txuI_peSAlay$jzmt!l%giwiX5-mjSAojDz(w%I{|y30vV3l`50TDWDP$~L8wMON+JB&sR%t7@VZ0ir8b~w)Z2?6n4#{aibG{A0X4q0wW~D;704*$bj$=a zLrO}VLVutjGO0Z+WwA1HSGfsn6so--%t^+nb-?;X{ChCkpB&9v?6 zQRtfyEcH2og8Ba9f_bz=zDpP#-LzE2yN0(+OllYz)}eEwNNul8v3aBFW>zQP!lIc4 zfns0hP=@0T27H-LQE;x`=XJ^hWpk#x<;Bj7U`a`Ef%?x0&i947N7iOP?-@PTE*lIu z{*dGKhYAWy80n{aC-O|^uBhvF;}kyW%q{hWLYlFYzf*UoqB^&ABzHic*q;B3J=5)~ Se$Kq$-Lo;id!%H@UeAAV6uhSZ delta 4179 zcmZwJ3yf989mnyxu+Z{mm&Y!kI6Um`B7#IMf;^P1F;E36wg^?%!`-vHhrN5x<({*w z2;@`*TIwUEMr?VMmh}}$iEv39A{A+)#b}L(jI|6R^nQ$!N+j` zKIhs8u!{DZcom*M;N zAnwBod>OUDS5f1S<7hmM!?A)z`r#zf;R(8PvvhcU}gCu~Jcc*waC73c}< zja{gdKkwd`P#gZ0>pzA%=^v0in3L}PKTvW1Em^<39R=#owlr`g>ZDhr240Uk>1@|t z;Jh0({(dBuX-CCbkIKLn_kJfT-d^V+)cD_GqJbxP(1|~G11=&zrazsUIL29zI^lFw zCg!06Ek$Lp1&85!)V!_8kJ-&HZFIluf7P|$t|b53zZU^z-$NDGX*W=#)EO_Y92)e+>JW%0q0TFymwFsd>@s;f1)y!TyO(297lnxkS+Ta%Ve!J^`29@&tu6+a*?=2jv&;MV_4-_A2#~HrvG@&o*gu{_N znk%vVaYQXN+qD;>HgFGWLq6&ttDKur8Q6ik(mkk}JBa1a|6v|KH=#0dJCa;;FKT||-ftX5{&mMsx))u}gQ%0e zhI;=;RKSl=3w??TT)`K78;-&{+=R1nAF6oI;8#$)QoLGRfiv-0+%<;#&+^c~pT3*$ zd7OZMMbEH> z@PQ1UGHjv!4erHexc@^ujN-+gYbgx;7Z>?;Y@NjJ@!&Ol^zbBk?TepX%Z4yB)tLKm z;B|Zn_2RpKnlT<;xIR7Ea?(UnO$+J@zKdkt>_U=b4&$)$=bs0z&74OSN#*o3^%GGw za4V|#zKyzym8dFz$i3f&n)eb;!QWsxW2lULj>_Bs3QQTULS<|;_ND&J1Rk`*NvPD_ z;@WrPINB>wcl;P?Bim4S_blov4xj?Rf+Wkljv99kzlj+tRtqjgW#9o+EhU&}hue7= zi7#M)M^IH?R<4Fbi-FK7!iVuTk-T ze>3@4;2t_=qn(we>VDLTeXPLH^~b15lW!*O#R=5OK1AJZ4{9R==B6hdjnt9(8Y1>m}29(8(5}P7olUK(orVw_^?MJ*b6WMn19T4Xnkps6R$Ex2CC` zgv!_gR0i5n8U7CHdu5aJQDkF@*~&wP7dxFlL7nWUsEH>~CphWaAEHux#(5qU_%l?^ zn0aaD`s0WUA7NC6rZ%K0Z$Mq$A{=a*C^8;&H!*6*8?iS&jS9R2wcyWC#q=YO50G*(XB$e(2UYa$eo&J0)>cuwadrdYDZ8ql>gLsV%^EN6^szopE zh$h=+Z*|yF4Du~D3Ufh|n_cwcR==nqd7BN}3pxKm8+j|dwqS}~)cik7gpqGqsy&S2 z#MZWZ4>lIUARkAKIeKbs+OS@}$#w>DtA?_xC}wDoZ(JQjK^)aiwuPeK%z~HiU4fhZ zPI}WAlWmlqJM8@87>qCawyqpFXfGsTG4}FV-wkYP?DT_{*0}!C%tC>b<>T7O<-rAD z?*E@^C)v==X>9hgL?T^eDfaUnZGo*TuV2p6jW#MIUe+h2mqkm*H5UB5my6eEI(bM# zcya7yTie-9Wa}=Qa;g8n)27&^<%2{v%YCfyZQgJ3;$XF}yKVQ{d>h2NrlgPyvR+Jg zt8ZJpcKY*CObw*#b_PwpErwxi^I<@8>w>&(@$-Js%at=m5k&Q0EYT79<HD3(j1 zKy6tsn+=OiDi#*jB9UrOcdACVk{h>SGrdJW-x9Y@v85kP>*`ZlH+^%j(!!aG`;^|D I`%16>0AcxBS^xk5 diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po index 284dc3a..3aefa0d 100644 --- a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po @@ -743,23 +743,6 @@ msgstr "" msgid "ai:simple" msgstr "Modéré" -#. TODO - DEPRECATED -msgid "aihelp:settle" -msgstr "" -"Plays moves that lead to clarity on stones' status, favouring solid moves " -"rather than complex sabaki. Of moves that lose at most 'max_points_lost' " -"points and with at least 'min_visits', prefer moves that lose fewer points, " -"settle own stones more (with importance settled_weight), settle opponent's " -"stones more (importance settled_weight * opponent_fac), avoid tenuki (more " -"than 5 spaces, importance tenuki_penalty), and avoid attachments (importance" -" attachment_penalty). Weights can be negative to make it complicate the game" -" instead, and wide root noise (in general settings) can be used to further " -"play according to the style at the cost of strength. " - -#. TODO - DEPRECATED -msgid "ai:settle" -msgstr "Settle Stones Style" - msgid "analysis:local" msgstr "Proposer des coups locaux" @@ -828,3 +811,17 @@ msgstr "Save SGF File" # sgf save as button msgid "Save File" msgstr "Save File" + +#. TODO - status message on starting insert mode +msgid "starting insert mode" +msgstr "Starting insert mode, press 'i' to finish inserting." + +#. TODO - status message on ending insert mode and copying the moves +msgid "ending insert mode" +msgstr "Inserting exchange(s) done, copied {num_copied} following moves." + +#. TODO - when a user tries to go to a different move/node while in insert +#. mode +msgid "finish inserting before navigating" +msgstr "" +"Navigation is disabled in insert mode, finish insert mode by pressing 'i'. " diff --git a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.mo index 0f962aa46cff35f97b1e65f19bba59156453e242..0b59b070f12c5e83ab467402cfd0863ac0420a74 100644 GIT binary patch delta 3777 zcmZYA32anV6vpw>7AS~x0~A`2hX^Q^vV&BX%HoDd1PxjjoYH9-DKn%k0s=k-!=?#F zP=w$T!Js4(bWlJP6$qj*VieH0Z$TxX#;v$u{C_hiF+@`4cb9YTJ@?-CX5N1wYtz!K z@Ux<34;%ju^S=}SUumJ5*)47U^IVFzQg4s5un_OZ4)_?h#+SUl8;huaj9u^tujl2N z6;SVrx!5213$2{bd>XDo1>EG`foD;lhnjFPGMBBvb8sV`jk~ZJ9zZ4dE-L;Q7ULh- z4%@LvE4&D`&H&6~eH%kT11F^$%wnh=&Or@W?yf>j^f=~V61DSf-oFQxaLU_1MD6q& zBnLa;{ePk6Z9x{TSly@auYGf{JK#gC7+W89ae+o6v z^X_Y?_!KJcQw+7!pFAL&3PmeG4eW~AQ6JRK%TW_dK%LkWY>Tr{@yn1uTg`_OeAe5y zdwm~j;UlPdzANPX6?n=!a_OaL#i&F|Q3(u3#a-$3$*2>lLhU?(EpZ+y?mpB4D^ZEA zM_n7N^V8P)w*{hL+xSI!q1>KvfcaN zMxD@?sJI`!o*i<75;fnSSfKa64PS2>cpfU_KBxf$Q9B%kByZzTiA7NH)4e_)mB3oVq=M8vjy9fB)a4L3e%BJC3MhueI)UBT0}tXQ_zU*N zQi8RkN*smLF~H5J@rO_w`5N^s{EiVk9eQC(7qh-uW^Z669X|(|1;=;IWIP#l)H6{N zEyiKE29@wpRDwmk^tz%>sCh0#{a7tRJu6FaAFe?q65ie|bJw+QJ!+x_sD+lG7G8_G zf-R^ceH|5-^8OFJei9YeN~h*JqhM*^?~sw+s16 z#<{&%6n9;m4z!y%=eMZ8SZ4MS6NG)a2CVGIFIl!(&;FU6Hy@OF_zIC1%6g;je5`vL z>Z)dAiQfOE6x!3UA>Cm1GIphY6x-k_)Z5Tvuo=l)A*y|_I|jKmn~2(ZJ?dx|y35=L zu|4gpz5X2Lv%YOr0rz^qVdN0(IBKG{Loz!kMjjU%fSPC`YTPtb!gEkpvle;4Z6oI3 z9`An>wSn)k0`qu+L*4NN3hJoBRk#E-VW**)_7TV}*i__}Yy~QTZK#A&sPQLI2^W@g zI@kf3$|fMUV@pv9@5DZMpq%s91b@*m4vTq|)lq}m$s_K1)W9uXe;rGxr;x|MzDFfi z%qyWpM`1C>QS&cDJ*>~55_|y}VmpR${#xia@5mmW3223CFF>78XVe0HQ48OQJiyk7 zI*GNYZ_+KOaXU~8?elsHwSkYke%$L#p*Q4?$ON=QEpP#9;R@6OliV2cXCWW@CftSE zNeUI$YNQ!2h;>1YzZR891bInpn%AeJ5(?`nXy8KZfRB2>^QdpO?Wm(WhT7RrsHgul zmSXFQ%w1oCS}=ipx7b4WX&gv>KdS#Urcd^=w4rs*6s#92(;=v*c7!_$2T{M=`{%oh zP!lb8SEF{c!TYzmJ5d|ljs3ICK13zbdbHw09uNwes0omN z=t9(;FGHQsL#VIVb*Mx(qvqS?9!3t$j-y>xR~J;p;*sPHZT`q!d1JwWWWU0Ac0qM4 zUK_;X4bl3>U`C=knq1d*VAlCHv3RUunzt*WDq54Mj|TC`ow3?TBQ428?Z)L4)~k5N z@N+tBZk>FmTacG58uV@RimTEyD=0c=>a<9_HX2kX;?W=yuMVarX2zn`!Myma8B;Rl z1wl=st}ZcK@iP*4MjOhKr^*jzkGs~FO~iv(Lr@)Sh*Z@vGDh{k%u9navQF^{0I=U;4D#8ChM delta 3684 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 delta 4173 zcmZ|QeQ*_58OQMx2uMO`AW-rGlm)~jn1nj=E~HSb5d@l%zR`)M+nY_YJTxG1!cz4DKeC5sZ|lEGU)er_f+r?nUK$( zvuB_4oada~oZnQ?|Fweb$+E(2hJU~1|3v=pAFh@$D@I+loXeH8uSXBZ;0CO~tvC|D zXWRR*jP?V*7teL^@Qaa|N1}wAQjm5OPPyyE=G0bKhkK3^X zU%*0q36)cE6Ah40`vEM$@*tVGQ-4X1IMFQIvq9elc<$0vhC&8 z+fd`bh{Q78s5lRxDzMq!e+m`vdFuhx_}4J2fxqKIEB=!ma2feA#dPYy3D#QF3g@CK zaWg8=ou~?S;8=VB_1rg+AG3pBN_4O7KV;iS$54MI@CF?U^uE2JPW6}ai!L)2mC!6y z0=J+7HrsY9szPf~73jqg_z-H`7F7HvQHef}O7w6U_17L9qeBnAfjV68*nt|Q_IOkR z_0~pIpj%N}tWP$gQx|*g{t5=RE4sa?0^E6qrhcIm#IYsZbZH3pGO7i zvfhshu+{n)R?^;qTEGF+YxzsmC*>$A{xN(1T_n-0xg1}Zk=)h9Rj88AL9^8iQ3X_KZUBu-*FfgvGE#TiaL}NQ4`HWRiX(gu4zF%AKLqyDyhHr_)&Xfw{<^iWj{yV z|2-<;S=2-qQGpBjz;|IKF2}FpXK)ZzfpW5$fzweFH{&Dd;vPIVf&CA;c$`0djaV|t zn2+J-P!nfx3T{Mx%(MLZ6uykh@Cq`Q`RomRrZIu@a64+ngGiCg+o%fbPhuMsql-b7 zi-rPYeuJ$Vz-$_L53=26Eo!efqE`GZoR8nfE%-;&`1I5`(e-$g_EV@oQeD&H1Ot4T zc0cMcuKZ|Rk?d_;=rDMw(x&W<4XF2j3#ybmZT}0XaR*T=A3!DWHtOvB)!x61DtXa# zUOlYBi#UL*@n@9zZ+ibLs>!^716IRF2J35$`G5frvT?W5UjOm@Kr>j!cc1nv^~Su* z{i2!1Y{Lt7lmFid4 zlc>G^3sMAAI5&Q9CTiRq)S+rZO>hr#piK&|$9~jAJ5eit4s{j=Q44q-$KzSdD!{+F zaBvhycQrPk0&YZA;ybqe3hMB^iAu1NhDzCh9B{J&^_}QKcFFW&BYqc~@HA?^x&_88 z#sv$gzb4o~$1S)MHQ)^Dke#>f0^T|GmtqA@LXLx(gIaL{DVFI&CGw*6*QiRoXZ;6~ zySa>tH+v!VS80|mj0ZNMO0x1)E2t-ekRL>J~aI}8J|F{{6|=YuOV-YIfW!`Mo>?c_|wSTrWtiOw_-EyKuz#I zYJ~+i#qml}iA_W$G!3nFQHa`)OrGy@M$Do)?DC1TTnT;udjBeTs(w=ZN+Q#@!Fa2+T0bm z-Rq?{j#1}?@rr}q50}CCjOWzk1N+_CbdZVMRKl|Z+gf`)zoRp%z4~N2&FWK8b!h8g z1Nhzl=TT>d6WC{3+ua0_C>K?Vyi`w@@6_by&sS--6K2zH!lR_uM2p9@roEJ#jQaFA zb%;Z_QRF5%yU8YWYOZkmhVTZXyw6+H_c$Sd)Z0eA-hr$`b6j6SUKt@lqX8XM>YFeB+tI+}YW?hUAXT NyJ2{)=B5=x{{xinTCe~B diff --git a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po index 012114a..3fe3b13 100644 --- a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po @@ -682,23 +682,6 @@ msgstr "" "이 판에 대해\n" "덤과 규칙 등 조절" -#. TODO - DEPRECATED -msgid "ai:settle" -msgstr "Settle Style" - -#. TODO - DEPRECATED -msgid "aihelp:settle" -msgstr "" -"Plays moves that lead to clarity on stones' status, favouring solid moves " -"rather than complex sabaki. Of moves that lose at most 'max_points_lost' " -"points and with at least 'min_visits', prefer moves that lose fewer points, " -"settle own stones more (with importance settled_weight), settle opponent's " -"stones more (importance settled_weight * opponent_fac), avoid tenuki (more " -"than 5 spaces, importance tenuki_penalty), and avoid attachments (importance" -" attachment_penalty). Weights can be negative to make it complicate the game" -" instead, and wide root noise (in general settings) can be used to further " -"play according to the style at the cost of strength. " - msgid "Make Main Branch" msgstr "주 변화로 만들기" @@ -756,3 +739,17 @@ msgstr "Save SGF File" # sgf save as button msgid "Save File" msgstr "Save File" + +#. TODO - status message on starting insert mode +msgid "starting insert mode" +msgstr "Starting insert mode, press 'i' to finish inserting." + +#. TODO - status message on ending insert mode and copying the moves +msgid "ending insert mode" +msgstr "Inserting exchange(s) done, copied {num_copied} following moves." + +#. TODO - when a user tries to go to a different move/node while in insert +#. mode +msgid "finish inserting before navigating" +msgstr "" +"Navigation is disabled in insert mode, finish insert mode by pressing 'i'. " diff --git a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.mo index f44aec680b16378f3eef48684e8c586d8fd6f05a..38dece25ea0cffa98802474b7dc907e8fa609c95 100644 GIT binary patch delta 3777 zcmZYA32anF9LMqLmZMzlmP-zykE^Anf~A#e0V$NDr2=vbDd4u<*41_wyC6q_#h@q< zB9TK0R|1Gy4T-LTs31`yAXJHnF(8PdplHPqBB$v0*Eb0vlCqzf_vZTlXJ&W%J27i( zVj^c+Hdt%;_YME=<^RWxR5PZi#U1aVIE{K6oQ;XN0^8vxY=*mR{Znj7{S+qQpSB(! zZ;Y3E7i^4uk-vz^;WL2;1*is7tWRQ7>eZ+Lmm*`C_1G3)$L6>X8{iSt0*|5EpT`b( z9b02-CTW7HsChCmp83sC3hFq%{(&(8RD^R;9hO_ypa$BEu^2@~zT3Y447K1|`}{jp zq(38TFn`$hH&Np@Viir8-*_o#pbn^p$*4#lPy@_EMLNpXr=r@GB4e2_s{ayH{kzZzb%FBR*G3e6RH= zcBOs_)&Djs;sl~lMmwT17D=X{27OQy8z5um=rKkn1 zMg_9P`W`9+hf!O540Q;9!utDvk%IQ_3Tl8@@~r_AP!ryZnlKr)ux!)>!%zcGMMYGB zY8OF`vkKLIBi3igx*Ij$0gNcZ;}q2Kd(?z=s6%oU)zQPo>Ujcc;P$BYJy4nHhYj%& zRQqwLLplRBQ8jA8%aN>`EvWvx+S~hokO$i9Z|#fo)~l$<;`k!h`;Mpqd!Z)EK@B_t z%drT@-~r6V)~tdU%tXw>AZo$euoCxlWdCnbNa3e%7IyE%4-u|M+L&{w4E>8kF|IRT zMmP$6xB`o?4z(2{llTF{A}qvR*atlh=L`FyGCLMu#-a#?l@u;vMT{{EyBPC4^^06y zrF>>LW72RwCgW>J6LS=Y;GcLAGrHTe(!;&?$@ndAMpY^= zpd!73O7TBP(588cYZ{VOlaHKJQ-Vr;wSB(|*)6lvzCUE^XEDn28<@w$J9`?lhWh1H zwj+l9e}VAk@Z#@Y#%#dgee5STC2!|&-2KK>VZXja?%_uzldDJl$OA-%+1Z>8?rr}E z-GvnnAk9orf(&KWVLv>8B+J}HcEu#Ij|IB_gD9{lvkY_aT~x~JP-mds!)|0*sJ$GG z1Y;JV4$}_QUVn_rOxz&%o72HY)U!|-?vFb4`L;dh#}6 z4V;+kp5jzYqCOq4q^5PHv_{lf%+8eh5^jQmB@CQFHs9=#s^)^1kAt<$T2as7>BXkZEZnw zWG$vsLB!qL5+10*LR89^qEfXUyW{()flgvNdPlm~Zy@%dz8JL?J5XD*4>jHy)HoMV zXCRg+TcH=bVD|_GH5iVHu-Lw+LS3&lsC)Y+j>hj$TaogJ+kQGK13`4~Ez}p#QS6Dy zqufI{1{K&ORAvL%6eDvfbfvHaxmjk1ZEz9^*8FDcnar;HJp@}|5oY6)I1#s^BEN>k z*lvtFZZ&36-;7$oaqNWWT_dK!qi*WDqEeHC9vp2Qi%(IXfJ*6pY>S669?zmuf63Z- ztlKULHC|6th6doa7-Qz40_ikf3ugbbDQIseqfYfoOu+r96(2+TnRD0>f5ArhJ8D6f zu{qwvG>n_zo{3BxOnnM!oDEopJJAfTsBnq{L0@!Yi|d}%k9m(oGZKRyZ)qS{?gWBi zf7L9fGF0l1Zfunm)3q!R41}Ms&()&XUlywJJ3-$wfpXt0oOE$n^uicOeDtt*E@-l_Wkb6ojEh-%)PH{tPJd~ z3WUB*j^1ee`-0y)_^pmr%WOi+|7^!)9_=<*h)MVYrs5iGj&Hm6K}@E720P)muKf=t z(oSk+))do`pOE$BGl7mlr~%`gk77LSB2>WVkQi2mZE-WUzylbKM^GF505!fI+v9a? zjnOO;hiRyFx?n5Tw*g#e;>gAhv#F>IpF~Yq>RgEm^cqItE>z}w-2E_W!^d3zC#X!% zA$zb3?*2_w+&?AjH*QCP;@Or4wnb&y4K=VoD$}8^o$GuEHU4oVmd!`SS%#`WnY+Io z6>qPz7B&79hBWX?E|l>NH{dq%WASuqVh3jiD#L-OO5BeMGzC?`IhcaWQ1jL!Kem$( zZM4euf8g4mB~gEE;36Fg^sBp}PW317L6@bYHZ%aWfzhadlU#c`szP&76t za_tkScxN$D@Bep=7d(8Z9S8Wj(}Y-5hOLo3T1RYr9Z?Gnb?u3$4HTd@RESDsq4Q-_ z1-7A%^exmgSB;JD|4}Y7)H)@o#MWU*6Sr`og(^`GM>T5V3DGjKjWhqv)c2hP8ki%b0J8;6f{^fP!9RidLf3O~Z37=NePOdN~Tuo86? zO*>I;OvCZG81Kdt$PoJlRoPZSvkjPrYj9tPi+KUw@6KkWbnHp@k0P^+Sx?#n@h+T& z46!o2ANS%7Y(O2|*IoIR#LGAXW4rl(q~>5B+C|ueb+)1&#tMR}lA+yPDAOubi4P;m z+G*!iq?#7fod*tssM2Sl#^oWWVMXqKDNu7>3H|DO9GVsI%RPBxQA| zhwB#V>|2iXH!v0T4Z09xu@qJE)!6vfsm=OU$%RV$K5{%(hYI)y@?*_M`ENr$YTPW; zQ@s>YBPQh+D zetQ`{K)V`M+NNW96L2se3cLdKv>(95_$lgj%ci_)zk^DwORoP`4a%kddbnPqVEuVdc6v;56(x%+IG~D+{6S-pX67d9|mbJKz#wN!yb48V=-m2pICcr zMLQGYaR{bkD2I#wT+DR?cA(yd{jPlrRjODHz9j~6AojtBaW*RRqc{sMpaKtn&|i2K z>U-i@XE~~3RhYv1cAASObX;_Pk43aEqe_|okozAGDuV^6053T=p~fA+6nr1`Y@ESe z0q(I&C9v-if1@9xj`Tr__5TL3GFMq zcfIP!dhb2&SY(w~8;q1hmV1Z1BazkN@47Ee9PS+XGTDp>S!|si^RfteJ7;i^ivff6IO&I(&Z2*=FJT{NXYG0#7mLSO5S3 diff --git a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po index 1b74dc9..dd19fc8 100644 --- a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po @@ -706,22 +706,6 @@ msgstr "" msgid "ai:simple" msgstr "Простой стиль" -msgid "aihelp:settle" -msgstr "" -"Делает ходы, ведущие к ясности в статусе камней, предпочитая надёжные ходы, " -"нежели сложное сабаки. Из ходов, теряющих не более чем 'max_points_lost' " -"очков и имеющих как минимум 'min_visits', предпочитает ходы, укрепляющие " -"собственную территорию (коэффициент settled_weight), укрепляющие территорию " -"оппонента (коэффициент settled_weight * opponent_fac), избегает тэнуки " -"(более 5 пунктов, коэффициент tenuki_penalty), и избегает прилипаний " -"(коэффициент attachment_penalty). Коэффициенты могут быть отрицательными, " -"чтобы напротив сделать игру сложнее. 'Уровень шума' (в 'Настройках системы')" -" может быть использован для увеличения вариативности игры за счёт небольшой " -"потери силы. " - -msgid "ai:settle" -msgstr "Надёжный стиль" - msgid "analysis:local" msgstr "Найти локальные ответы" @@ -790,3 +774,17 @@ msgstr "Save SGF File" # sgf save as button msgid "Save File" msgstr "Save File" + +#. TODO - status message on starting insert mode +msgid "starting insert mode" +msgstr "Starting insert mode, press 'i' to finish inserting." + +#. TODO - status message on ending insert mode and copying the moves +msgid "ending insert mode" +msgstr "Inserting exchange(s) done, copied {num_copied} following moves." + +#. TODO - when a user tries to go to a different move/node while in insert +#. mode +msgid "finish inserting before navigating" +msgstr "" +"Navigation is disabled in insert mode, finish insert mode by pressing 'i'. " diff --git a/requirements.txt b/requirements.txt index 8965eac..67fb1d9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,3 @@ -bson==0.5.10 certifi==2020.6.20 chardet==3.0.4 Cython==0.29.14 diff --git a/setup.py b/setup.py index 2ca7be5..b192bbf 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,5 @@ -import re import os +import re from setuptools import find_packages, setup @@ -42,7 +42,6 @@ setup( "wheel", "setuptools", "urllib3", - "bson", "importlib_resources ;python_version<'3.7'", "cython>=0.24,<=0.29.14,!=0.27,!=0.27.2", # kivy wants this "kivy==2.0.0rc2;platform_system=='Darwin'", # rc3 failing on mac diff --git a/tests/test_ai.py b/tests/test_ai.py index e49c366..a0403fb 100644 --- a/tests/test_ai.py +++ b/tests/test_ai.py @@ -1,11 +1,12 @@ -import pytest import os -from katrain.core.ai import generate_ai_move, ai_rank_estimation -from katrain.core.constants import AI_STRATEGIES_RECOMMENDED_ORDER, AI_STRATEGIES, OUTPUT_INFO + +import pytest + +from katrain.core.ai import ai_rank_estimation, generate_ai_move from katrain.core.base_katrain import KaTrainBase +from katrain.core.constants import AI_STRATEGIES, AI_STRATEGIES_RECOMMENDED_ORDER, OUTPUT_INFO from katrain.core.engine import KataGoEngine from katrain.core.game import Game -from katrain.core.constants import AI_STRATEGIES class TestAI: diff --git a/tests/test_board.py b/tests/test_board.py index f177304..15a8361 100644 --- a/tests/test_board.py +++ b/tests/test_board.py @@ -1,7 +1,7 @@ import pytest +from katrain.core.base_katrain import OUTPUT_INFO, KaTrainBase from katrain.core.game import Game, IllegalMoveException, Move -from katrain.core.base_katrain import KaTrainBase, OUTPUT_INFO from katrain.core.game_node import GameNode From 0ade2524cebb5c10cd4d8d43c6b415ebf0e3e343 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Thu, 3 Dec 2020 22:09:46 +0100 Subject: [PATCH 15/73] tsumego solver 5000 is go --- LICENSE | 2 +- i18n.py | 5 +- katrain/__main__.py | 6 +- katrain/core/engine.py | 19 ++-- katrain/core/game.py | 25 +++-- katrain/core/game_node.py | 7 +- katrain/gui.kv | 6 +- katrain/gui/badukpan.py | 89 ++++++++++++++---- .../i18n/locales/cn/LC_MESSAGES/katrain.mo | Bin 13771 -> 13977 bytes .../i18n/locales/cn/LC_MESSAGES/katrain.po | 20 +++- .../i18n/locales/de/LC_MESSAGES/katrain.mo | Bin 15935 -> 16137 bytes .../i18n/locales/de/LC_MESSAGES/katrain.po | 20 +++- .../i18n/locales/en/LC_MESSAGES/katrain.mo | Bin 15195 -> 15399 bytes .../i18n/locales/en/LC_MESSAGES/katrain.po | 19 +++- .../i18n/locales/es/LC_MESSAGES/katrain.mo | Bin 15329 -> 15533 bytes .../i18n/locales/es/LC_MESSAGES/katrain.po | 21 ++++- .../i18n/locales/fr/LC_MESSAGES/katrain.mo | Bin 17041 -> 17240 bytes .../i18n/locales/fr/LC_MESSAGES/katrain.po | 20 +++- .../i18n/locales/jp/LC_MESSAGES/katrain.mo | Bin 17450 -> 17641 bytes .../i18n/locales/jp/LC_MESSAGES/katrain.po | 21 ++++- .../i18n/locales/ko/LC_MESSAGES/katrain.mo | Bin 17012 -> 17173 bytes .../i18n/locales/ko/LC_MESSAGES/katrain.po | 19 +++- .../i18n/locales/ru/LC_MESSAGES/katrain.mo | Bin 21781 -> 21963 bytes .../i18n/locales/ru/LC_MESSAGES/katrain.po | 20 +++- katrain/img/Save-Game-As.png | Bin 0 -> 5293 bytes katrain/img/insert.png | Bin 0 -> 4156 bytes katrain/popups.kv | 16 +--- 27 files changed, 252 insertions(+), 83 deletions(-) create mode 100644 katrain/img/Save-Game-As.png create mode 100644 katrain/img/insert.png diff --git a/LICENSE b/LICENSE index c972dd9..9911f0c 100644 --- a/LICENSE +++ b/LICENSE @@ -5,7 +5,7 @@ For on related licenses for these binaries and libraries see https://github.com/ 2. Icons from www.flaticon.com, used with permission with the following attributions: - Equalize icon and Thrash Icon: derived from work by bqlqn from www.flaticon.com -- Local search icon: derived from work by Pixel Perfect from www.flaticon.com +- Local search icon, Insert icon: derived from work by Pixel Perfect from www.flaticon.com - Other Menu icons and Flag icons: derived from work by Freepik from www.flaticon.com 3. The True Type Font DIGITAL-7 version 1.02 by Sizenko Alexander, which is free for non-commercial use. diff --git a/i18n.py b/i18n.py index def6029..e9be731 100644 --- a/i18n.py +++ b/i18n.py @@ -101,12 +101,13 @@ for lang in locales: print("Fixed", pofile[lang], "and converted ->", mofile) -for file in glob.glob("katrain/**/*.py") + glob.glob("katrain/**/*.kv"): +for file in glob.glob("**/*.py") + glob.glob("**/*.kv"): with open(file, "r") as f: for i, line in enumerate(f.readlines()): matches = [m.strip() for m in re.findall(r"i18n._\((.*?)\)", line)] for msgid in matches: - if msgid[0] in ['"', "'"] and msgid.strip("\"'") not in strings_to_langs: # not code + stripped_msgid = msgid.strip("\"'") + if stripped_msgid and msgid[0] in ['"', "'"] and stripped_msgid not in strings_to_langs: # not code print(f"Missing {msgid} used in code at \t{file}:{i} \t'{line.strip()}'") errors += 1 diff --git a/katrain/__main__.py b/katrain/__main__.py index 756909b..418db75 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -324,6 +324,10 @@ class KaTrainGui(Screen, KaTrainBase): def _do_analyze_extra(self, mode, **kwargs): self.game.analyze_extra(mode, **kwargs) + def _do_select_box(self): + self.controls.set_status(i18n._("analysis:region:start"), STATUS_INFO) + self.board_gui.selecting_region_of_interest = True + def _do_new_game_popup(self): self.controls.timer.paused = True if not self.new_game_popup: @@ -489,7 +493,7 @@ class KaTrainGui(Screen, KaTrainBase): "s": ("analyze-extra", "equalize"), "d": ("analyze-extra", "sweep"), "f": ("analyze-extra", "alternative"), - "g": ("analyze-extra", "local"), + "g": ("select-box",), "i": ("insert-mode",), "p": ("play", None), "n": ("next-mistake",), diff --git a/katrain/core/engine.py b/katrain/core/engine.py index 998c02f..a5f67ff 100644 --- a/katrain/core/engine.py +++ b/katrain/core/engine.py @@ -6,7 +6,7 @@ import subprocess import threading import time import traceback -from typing import Callable, Dict, Optional +from typing import Callable, Dict, Optional, List from kivy.utils import platform @@ -112,6 +112,7 @@ class KataGoEngine: self.terminate_query(query_id) self.queries = {} + def restart(self): self.queries = {} self.shutdown(finish=False) @@ -249,7 +250,7 @@ class KataGoEngine: analyze_fast: bool = False, time_limit=True, find_alternatives: bool = False, - find_local: bool = False, + region_of_interest: Optional[List] = None, priority: int = 0, ownership: Optional[bool] = None, next_move: Optional[GameNode] = None, @@ -278,22 +279,20 @@ class KataGoEngine: "untilDepth": 1, } ] - elif find_local: - distance = 5 - last_move = analysis_node.move - if last_move is None or last_move.is_pass: - return + elif region_of_interest: + xmin, xmax, ymin, ymax = region_of_interest avoid = [ { "moves": [ Move((x, y)).gtp() for x in range(0, size_x) for y in range(0, size_y) - if max(abs(x - last_move.coords[0]), abs(y - last_move.coords[1])) > distance + if x < xmin or x > xmax or y < ymin or y > ymax ], - "player": analysis_node.next_player, - "untilDepth": 1, + "player": player, + "untilDepth": 10000, } + for player in "BW" ] else: avoid = [] diff --git a/katrain/core/game.py b/katrain/core/game.py index 65519db..f68799f 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -62,6 +62,8 @@ class Game: self.insert_mode = False self.insert_after = None + self.region_of_interest = None + if move_tree: self.root = move_tree self.komi = self.root.komi @@ -233,7 +235,11 @@ class Game: played_node = self.current_node.play(move) self.current_node = played_node if analyze: - played_node.analyze(self.engines[played_node.next_player]) + if self.region_of_interest: + played_node.analyze(self.engines[played_node.next_player],analyze_fast=True) + played_node.analyze(self.engines[played_node.next_player],region_of_interest=self.region_of_interest) + else: + played_node.analyze(self.engines[played_node.next_player]) return played_node def set_current_node(self, node): @@ -410,6 +416,17 @@ class Game: f.write(sgf) return i18n._("sgf written").format(file_name=filename) + def set_region_of_interest(self,region_of_interest): + x1, x2, y1, y2 =region_of_interest + xmin, xmax = min(x1, x2), max(x1, x2) + ymin, ymax = min(y1, y2), max(y1, y2) + if not (xmin==xmax and ymin==ymax): + self.region_of_interest = [xmin,xmax,ymin,ymax] + else: + self.region_of_interest = None + self.katrain.controls.set_status("",OUTPUT_INFO) + + def analyze_extra(self, mode, **kwargs): stones = {s.coords for s in self.stones} cn = self.current_node @@ -426,7 +443,7 @@ class Game: visits = cn.analysis_visits_requested + engine.config["max_visits"] self.katrain.controls.set_status(i18n._("extra analysis").format(visits=visits), STATUS_ANALYSIS) self.katrain.controls.set_status(i18n._("extra analysis").format(visits=visits), STATUS_ANALYSIS) - cn.analyze(engine, visits=visits, priority=-1_000, time_limit=False) + cn.analyze(engine, visits=visits, priority=-1_000, region_of_interest=self.region_of_interest, time_limit=False) return if mode == "game": nodes = self.root.nodes_in_tree @@ -467,10 +484,6 @@ class Game: visits = engine.config["fast_visits"] self.katrain.controls.set_status(i18n._("sweep analysis").format(visits=visits), STATUS_ANALYSIS) priority = -1_000_000_000 - elif mode == "local": # also do a quick update on current candidates so it doesn't look too weird - self.katrain.controls.set_status(i18n._("local analysis"), STATUS_ANALYSIS) - cn.analyze(engine, priority=-500, time_limit=False, find_local="local") - return elif mode in ["equalize", "alternative", "local"]: if not cn.analysis_complete and mode != "local": self.katrain.controls.set_status(i18n._("wait-before-equalize"), STATUS_INFO, self.current_node) diff --git a/katrain/core/game_node.py b/katrain/core/game_node.py index dfee82b..bd7ec9a 100644 --- a/katrain/core/game_node.py +++ b/katrain/core/game_node.py @@ -145,13 +145,14 @@ class GameNode(SGFNode): refine_move=None, analyze_fast=False, find_alternatives=False, - find_local=False, + region_of_interest = None, report_every=0.25, ): + additional_moves = bool(find_alternatives or region_of_interest) engine.request_analysis( self, callback=lambda result, partial_result: self.set_analysis( - result, refine_move, find_alternatives or find_local, partial_result + result, refine_move, additional_moves, partial_result ), priority=priority, visits=visits, @@ -159,7 +160,7 @@ class GameNode(SGFNode): time_limit=time_limit, next_move=refine_move, find_alternatives=find_alternatives, - find_local=find_local, + region_of_interest=region_of_interest, report_every=report_every, ) diff --git a/katrain/gui.kv b/katrain/gui.kv index 209d633..2cab646 100644 --- a/katrain/gui.kv +++ b/katrain/gui.kv @@ -751,13 +751,13 @@ shortcut: 'f' on_action: root.katrain("analyze-extra", "alternative") AnalysisMenuItem: - text: i18n._("analysis:local") + text: i18n._("analysis:region") icon: 'img/local.png' shortcut: 'g' - on_action: root.katrain("analyze-extra", "local") + on_action: root.katrain("select-box",) AnalysisMenuItem: text: i18n._("analysis:insert") - icon: 'img/local.png' + icon: 'img/insert.png' shortcut: 'i' on_action: root.katrain("insert-mode") AnalysisMenuItem: diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index 40b06e4..a79f263 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -48,6 +48,9 @@ class BadukPanWidget(Widget): self.gridpos_y = [] self.grid_size = 0 self.stone_size = 0 + self.selecting_region_of_interest = False + self.region_of_interest = [] + self.active_pv_moves = [] self.animating_pv = None self.last_mouse_pos = (0, 0) @@ -57,6 +60,12 @@ class BadukPanWidget(Widget): self.bind(size=self.redraw_trigger, pos=self.redraw_trigger) Clock.schedule_interval(self.animate_pv, 0.1) + def play_stone_sound(self, *_args): + if self.katrain.config("timer/sound"): + sound = random.choice(self.stones_sounds) + if sound: + sound.play() + # stone placement functions def _find_closest(self, pos, gridpos): return sorted([(abs(p - pos), i) for i, p in enumerate(gridpos)])[0] @@ -74,23 +83,42 @@ class BadukPanWidget(Widget): if prev_ghost != self.ghost_stone: self.draw_hover_contents() + def update_box_selection(self, touch, second_point=True): + if not self.gridpos_x: + return + _, xp = self._find_closest(touch.x, self.gridpos_x) + _, yp = self._find_closest(touch.y, self.gridpos_y) + if second_point and len(self.region_of_interest) == 4: + self.region_of_interest[1] = xp + self.region_of_interest[3] = yp + else: + self.region_of_interest = [xp, xp, yp, yp] + self.draw_hover_contents() + def on_touch_down(self, touch): self.set_animating_pv(None, None) # any click kills PV from label/move if "button" in touch.profile and touch.button != "left": return - self.check_next_move_ghost(touch) + if self.selecting_region_of_interest: + self.update_box_selection(touch, second_point=False) + else: + self.check_next_move_ghost(touch) def on_touch_move(self, touch): if "button" in touch.profile and touch.button != "left": return - return self.check_next_move_ghost(touch) + if self.selecting_region_of_interest: + return self.update_box_selection(touch) + else: + return self.check_next_move_ghost(touch) def on_mouse_pos(self, *args): # https://gist.github.com/opqopq/15c707dc4cffc2b6455f if self.get_root_window(): # don't proceed if I'm not displayed <=> If have no parent pos = args[1] rel_pos = self.to_widget(*pos) # compensate for relative layout inside = self.collide_point(*rel_pos) - if inside and self.active_pv_moves: + + if inside and self.active_pv_moves and not self.selecting_region_of_interest: near_move = [ (pv, node) for move, pv, node in self.active_pv_moves @@ -109,17 +137,17 @@ class BadukPanWidget(Widget): self.set_animating_pv(None, None) # any click kills PV from label/move self.last_mouse_pos = pos - def play_stone_sound(self, *_args): - if self.katrain.config("timer/sound"): - sound = random.choice(self.stones_sounds) - if sound: - sound.play() - def on_touch_up(self, touch): if ("button" in touch.profile and touch.button != "left") or not self.gridpos_x: return katrain = self.katrain - if self.ghost_stone and ("button" not in touch.profile or touch.button == "left"): + if self.selecting_region_of_interest: + if len(self.region_of_interest) == 4: + self.katrain.game.set_region_of_interest(self.region_of_interest) + self.region_of_interest = [] + self.selecting_region_of_interest = False + + elif self.ghost_stone and ("button" not in touch.profile or touch.button == "left"): game = self.katrain and self.katrain.game current_node = game and self.katrain.game.current_node if ( @@ -429,6 +457,20 @@ class BadukPanWidget(Widget): self.draw_hover_contents() + def draw_roi_box(self,region_of_interest,width=2): + xmin, xmax, ymin, ymax = region_of_interest + Color(*LIGHTER_BACKGROUND_COLOR) + Line( + rectangle=( + self.gridpos_x[xmin] - self.grid_size/6, + self.gridpos_y[ymin] - self.grid_size/6, + (xmax - xmin + 1/3) * self.grid_size, + (ymax - ymin + 1/3) * self.grid_size, + ), + dash_length=10,dash_offset=10, + width=width, + ) + def draw_hover_contents(self, *_args): ghost_alpha = POLICY_ALPHA katrain = self.katrain @@ -442,6 +484,7 @@ class BadukPanWidget(Widget): with self.canvas.after: self.canvas.after.clear() + self.active_pv_moves = [] # hints or PV hint_moves = [] @@ -582,16 +625,24 @@ class BadukPanWidget(Widget): width=dp(1.2), ) - # hover next move ghost stone - if self.ghost_stone: - self.draw_stone(*self.ghost_stone, next_player, alpha=ghost_alpha) + if self.selecting_region_of_interest and len(self.region_of_interest) == 4: + x1, x2, y1, y2 = self.region_of_interest + self.draw_roi_box([min(x1, x2), max(x1, x2), min(y1, y2), max(y1, y2)],width=2) + else: + # hover next move ghost stone + if self.ghost_stone: + self.draw_stone(*self.ghost_stone, next_player, alpha=ghost_alpha) + + animating_pv = self.animating_pv + if animating_pv: + pv, node, start_time, _ = animating_pv + delay = self.katrain.config("general/anim_pv_time", 0.5) + up_to_move = (time.time() - start_time) / delay + self.draw_pv(pv, node, up_to_move) + + if self.katrain.game.region_of_interest: + self.draw_roi_box(self.katrain.game.region_of_interest, width=1) # dashed - animating_pv = self.animating_pv - if animating_pv: - pv, node, start_time, _ = animating_pv - delay = self.katrain.config("general/anim_pv_time", 0.5) - up_to_move = (time.time() - start_time) / delay - self.draw_pv(pv, node, up_to_move) def animate_pv(self, _dt): if self.animating_pv: diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo index 0b8839b5a9bd8971e759e5ec95977f9af1651eb6..8459233755f387725f61236a11740f395f9ed4e3 100644 GIT binary patch delta 3699 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 diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po index fe94413..c7c47a9 100644 --- a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po @@ -657,9 +657,6 @@ msgstr "" msgid "ai:simple" msgstr "简明风格" -msgid "analysis:local" -msgstr "寻找局部走法" - msgid "local analysis" msgstr "正在寻找局部走法" @@ -739,3 +736,20 @@ msgstr "Inserting exchange(s) done, copied {num_copied} following moves." msgid "finish inserting before navigating" msgstr "" "Navigation is disabled in insert mode, finish insert mode by pressing 'i'. " + +#. TODO - in new game options +msgid "player names" +msgstr "Player Names" + +#. TODO - Option in dropdown to insert some moves between the current and next +msgid "analysis:insert" +msgstr "Insert moves" + +#. TODO - Status message +msgid "analysis:region:start" +msgstr "" +"Drag to select the region of interest. Selecting a single point removes it." + +#. TODO - Restrict analysis to a specific region +msgid "analysis:region" +msgstr "Set region of interest" diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo index eb73abcf2e22c327a10bae19bf736e742b4e35ca..fc8bb2b8a09733c626c154bf5a7b77a95ef84582 100644 GIT binary patch delta 3698 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 Mt7C1Kz^9l*E#2R9=_*$&hOqXRD3$$ ze<`xl`-cC{@h_f#r-M{8=ADrLjG?%SdQaSj5x5^?@q6r!*KPd|jHKQ@)R+Y9i>i;t zaLmOnI34-(n^}B@(NKx%P;K3S-Kg(GP0)zUZN9~5Jco~BD|W)aQ2}Z)^^eBhn2bGe z9CpQg)H*XTl=Y2|f(9;bZ!l&(YKPlV1NK>upeAa;j(8Qd^PlbWyQqL4+V)^p(N23H zv6*<(^TDWjGbHPqEDD+^8`W_#YNxI`pcl2%DqF8X^{YeHG9RPHH=uTYz&<~Tn&*o3 zHmd(aRKE~*>DNvjKGbm-^2}t}dM+yB*HAm3g_=Nvl(E$qh1*c$_acAh7#|Ao2iyJ& zYTP~4!a;nf-Yb&)tB_2CCLDztn1lS8SNUL!nS%;!F)E-sRKI##--XK1UQ{NIVlbXW z^}B#t=LTw>2dKcqqsYI`D2bW|4nbY6k*JP2w(g<=SZG~kpKn1O(QeeZChHkw4RaH< za2skPVWd(05>Xi&>8GHM<84E}trwvNzJ(fCgWBOHR3JN06Yaw|Jb|oXZlUJuK=j&q z4{LwyM|~J-{3O(d{e={i(sESFs%(d4s0G#`bDCYK1rDR$`*Wy??pQm}S>q$EaoCG` z5^5u(QLpI))K^R%^5-`%^QjJVP!Ydvtwk+dkL@W&^=m@yu*J4tvHphI(O;-cb>Le| z0fwT+C!pGsQK`>puXFz6C}_f5)POgvb5Rj5Lk(Do+TnU+(`GAb;ytKwhfoWgvh9~` z{RS$q`=||dBz-a#gY^EVP|z6TPhccA8L zLT&6gs^3-AJb$A4>wNs0FqDFfLoGNEwbK!(fmx`4a#43>8mfPxZTF%ku0r*%MrCLN zcE-<9{Tor2^)PCkpL%irinx^qj?HxB3tJQPMs*mBI`d51o^73m+F6Nx?nm`sjaq06 zYTlh#f(J1fQ&|0RoPx@bKaTv94YP&@?cg(3YTbD-k)DSEKK72TOF|p zmpm5upOdj{Yd7^c^4yBYu^A5xG-gZ(V^(m$E!3L_8M6r24dzvTgrg$g?Uyq(kb!E{ z?cagXtZ%-e!2K{Ss8s!m#ANQGb{5Tn>Z}H!BF{qY13J8CkP8I5gUFj~P9WF7+(HH1n_cr_ne=q>uZD>qix@cx^z43^F63Q z4xs`*i8|w(sEyo52O~+Vc9@3B%uC3zo7YhbuR&fQ^y40i^$t!ZlJ!y zZ=nLai!t~B6+q<3K>HBX5vHN~7oc`J9Th;SeZCNNH?|=g_M7kQgR`jDt_?XR(~paw zJ1_+`!7S8-^HBjWL1nHEdHv01Ydz}De1zK2Db(9>9u?SSRK~7jh~EF-?SnSdgq<@3 zUlgHunR+TJBVkVk0*S|-)CXC!PytOw1zd>wYOO>qScS^mV$}RKsKC}@WDoN+3!cVj@k&E}NJXch;!>|$?pu30A|<}uEh;W6HJ(yWNu{^gn;EEQdVQX9U&H-~ zm7Rl}QqOGH+pr+U6VvUv_JPjqvWm5>sd3ZuT%Qvd;FJ|Q#ic&C-1Yj*xN=XC<12H# zZizd?=lEv2|I;hg$!mXHTw3IK950l(&YNXSLT46my-u+&wIO(Dba3|GUrN;Fo*= delta 3518 zcmYM#3rv<(9LMp$Tm(!3U!Yem;fn~SqOXdI;#`W?w6buM@GjDv_J);;E?SQ+a|_yZ zLu{ItWh;x7X*kg?wwWoYq-l1UC|Zrmd8yR~mTP@~yl2ZHpL5Q0ZvX!|&%?fTmn*%i zzNk9m-#7fv;Qy!HRWqC4>wo3N_&-WG>r|_v1e7iN`Ps&!9GV9@W1c)9@}PV={}x z;Xu?n`54doHkpD3&hBb3TaJow9cnF=&X1Qm*wh#HuMiYSPRybv|PEL6r8VG^!E^?w!lvDf*f4Zi2vkGT3t z)WVlg^ZeSI{HtT9dl17@ik61jNFHhf<5B&lyLt&KBW0+_S7Izyq55q^El`Wv=v%0b z9z`8V3u@dYANkj1y6!r5qU!PV)&_E%qfrx0LmkNiRKI1;myn@Whg$euR3Jy(^V6sd zT}So1>G%RNhiyZRuSZ4xne#06qkb7R{$EtY z2}GfcrlT_EKEf7Mz=j&1Zwma)l6MW)4fvMD6P=Wk{dM!IppOky3 z`6KzI=V{1>JsT7**jUuU)3GbXsE*4}5w3OZ)y}P`h<2kgRgcL$#*os>47V468paw>8uxd|0O`MAApM%QGXpF{3Q2mQhmvj+op(@md ztC6hR9@O~5sqXzhMT5@zTlb*d*@22ImJhj}r=unuj9RD=HSshI;d~s3%{T!6L}e(Q z-4KfnK?N`sORzYd^WQ?Do`zXCjz579Vhv{EA?(T!@?)+1(!_T$h*=M?348*zvDZ-T zZ(tstL1M5@)Z64^Qr)p!oPmQq3Pltu@f04#Nw}eJIOSiWQgsfsz%^9L?_e%Q2lzvU zd8i|L8+l|OqUJe=`eT)p70#3&cT&$oT}rQ+f>L=N73mdJ%Gyz>>O?IZ#n(hfkc8@= zjp{edwHKi#EJod(QdGZkJc!TXRm{#dn}ZSk%}(n5FQssdhCq(lci4u9u#xa?V~Bh= z;XKaep>AgVIpD9Tmk%;qkNJZsM=%Dp;nbnw4CJ70{}j}vn~hutTY<{dE7(u(|7Hq` z>?71!9Y~~fqGxm^U0|B7GeQbAg5;U;8;9|K8(vZ zV+za2C;xga9;0C~MC>*){DJXd9`&K94bMYfAggrsI@HDv zpfYpXc@ep0);f~>YsV4fOK0UnrOc1LF%$KC7%GJmkXPACQ4_31ZD<#2!}~EFKSnLs zjN14G)V!^({U_9&y6L$NcTo#Pjt=iQ33bLpP?3$n0M155xEht2TI3k*P1M2{P#>u4 zsQKbJ2L+ajyd;*1(U^tWkT-yWpTba7s;0UJi&1B{3^ia2D#C53h4;GW2T*t72UMgs zCOobO^2%F2l5LxVI{O;b_}$2Sp1n^&J3WF*SrhV_+t<#EsLOH*6-f*?NpD3@)W(ug znMy-Voa5T_QS*&OeG!ZB8kV6_KdDgtIseBgq|mU?xf->hYSfN*pgy4=pcXucN?jvr zfn%tRokI0LiyGgCeee!y!Ps$pj4%alVki_STVAoGp|018sOZqjrAtD!(Y_%KPx>}Q pH?;fb`h8QESCj|39t56$YSptVD^}Ic2&OkQ1yf=hZWN4<`VVxXRB-?R diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po index 6c3478c..9d3a04c 100644 --- a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po @@ -109,9 +109,14 @@ msgstr "Deeper full game analysis" msgid "analysis:alternatives" msgstr "Find alternative moves" -#. Analyze again but allow only nearby moves -msgid "analysis:local" -msgstr "Find local responses" +#. Restrict analysis to a specific region +msgid "analysis:region" +msgstr "Set region of interest" + +#. Status message +msgid "analysis:region:start" +msgstr "" +"Drag to select the region of interest. Selecting a single point removes it." #. Keep improving current position analysis when there is nothing else to do msgid "analysis:continuous" @@ -120,6 +125,10 @@ msgstr "Toggle continuous analysis" msgid "analysis:aimove" msgstr "Force AI Move" +#. Option in dropdown to insert some moves between the current and next +msgid "analysis:insert" +msgstr "Insert moves" + #. status message msgid "extra analysis" msgstr "Performing additional analysis to {visits} visits" @@ -343,6 +352,10 @@ msgstr "Update Timer" msgid "New Game title" msgstr "Setup New Game" +#. in new game options +msgid "player names" +msgstr "Player Names" + msgid "board size" msgstr "Board size" diff --git a/katrain/i18n/locales/es/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/es/LC_MESSAGES/katrain.mo index 2ae865f782f69182726bd56ef2d424afd7097746..202c0f63145e5966c9b4f943cd8824bd290fadad 100644 GIT binary patch delta 3725 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 diff --git a/katrain/i18n/locales/es/LC_MESSAGES/katrain.po b/katrain/i18n/locales/es/LC_MESSAGES/katrain.po index 454cd9e..1164e3d 100644 --- a/katrain/i18n/locales/es/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/es/LC_MESSAGES/katrain.po @@ -713,10 +713,6 @@ msgstr "Plays moves that lead to simplifying the board state." msgid "ai:simple" msgstr "Simple Style" -#. TODO - Analyze again but allow only nearby moves -msgid "analysis:local" -msgstr "Find local responses" - #. TODO - status message msgid "local analysis" msgstr "Searching for local responses" @@ -799,3 +795,20 @@ msgstr "Inserting exchange(s) done, copied {num_copied} following moves." msgid "finish inserting before navigating" msgstr "" "Navigation is disabled in insert mode, finish insert mode by pressing 'i'. " + +#. TODO - in new game options +msgid "player names" +msgstr "Player Names" + +#. TODO - Option in dropdown to insert some moves between the current and next +msgid "analysis:insert" +msgstr "Insert moves" + +#. TODO - Status message +msgid "analysis:region:start" +msgstr "" +"Drag to select the region of interest. Selecting a single point removes it." + +#. TODO - Restrict analysis to a specific region +msgid "analysis:region" +msgstr "Set region of interest" diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.mo index 7814ed01708746e79d795dbd07c0e540091672ae..00a6d1e39de5bb5823997ed39b33ff103d8454de 100644 GIT binary patch delta 3701 zcmZwJdyvg#9LMqRv1@bN#bUA8{mHs4OEK=k*6ysy-Rvm0Xm_1mtG(o$qZzWDWH7F) zS;nAY#$`$-Oj`;?5~(KDMk-A*M5z=KWsKgR^Lu9cC$oEA&-47A%lG*{&+n`k7YDvx z5{Q1E9KX)^cZT2g{GLis&1_}jf3~K$ih3*Dfz9zCw!u%aFzGWvagtd&rlIP? zuo+Ik`>+uCiP~&Fo6;~3)nS=)BQ~PG3pK$$WN!NiQ}7Hn!K)aLcTfRpGWAcvRLsPd zn2QZ@GHRV7Ok#bDP|(0du?DjZs2#q78gRh*0cxU?7>5^7JHPCn-#`U?*R?lb745Vo z5}UP0J@0{WJPzjXUH#jjUn6 zq87e~+DKE}xEwV!wXg4)qdRHg!a zYbn4a)cAB%dnPLN{bO~`KbL|goPZiI(>WIv@eaI*h^)GhqVbsJ`sQ$}P z8QO^TaWAU>KGbDBidyGfTh3n*U!{R#vpBx6H9;z>Ll4xM4|eS%ol{XeD|64IsQ%Tc zg*Kz+-Gxu#d)N)LSbZo?L|x{ZcI3Ycg_miFT`DZ3ejayVE`Jh>@CpvZu^r4h;Zh`K z+vV!V(4+n{4#GxhX5%pzwSje*k2^36|3>|_?GjD*QT5dsN0GqGtO=T-7U+p=(uQJxoP;l6HR|Y+iCP(Ik6W<^#$og%1*M`67vd$<`#CGa zPh}h-7*(kiz-K;B)AdelevL_4Us$K+wYacLs0=GP9R#1<>cD?)TceWXX=8GI0?(M!Su=6Dj@tRA-_tR~{;r`KZ(vqAqU;N8vK$ z`q*jI9l3^@r!nV3jFyJV*ceP?eVar=Y(;%BD!@&yz6U!}KZZKv z%c#Jvp#rr5{!t{N=532Tup_G97>rJ&FpYv1d>y%%b`W)$zQt_3i8{OfyaFkhi={Xf zb(@c&CccgeD2-P@cOV;eNk=26Y^BcC?s@GX^3QSGVHy}~mv9)S5B4LRj#{7`HStDN zir>MZ*kFjCxja+`#$Y@??%JoJ0xm+XkIhG}i)}})o7D{=|BC!J4LX~Qhx|WG%27Fg|`*Pv3l8Fe(TVeBqpD)o!V{j+Nf&)BvYdlG;tB?lFUY> zx(aoGc~*$Z$a+-DUqyZK>~X${I--Nf>u$%LCr~^67&R{Nu-`8MRd0^kP)f`w z?>YrdoPoMT-BGFRi>(6e5S6mYkN8JWjylVEsD9O`quPuLcsIu35!AfLPz!#7dduoi z89R$fx`h{1!0XOHjvq)f-1vmjif}L#sX5iWXZujFq_nca3MvZ9=7mec zgZ=v8aHJpPHBSQPOhvx5KAtCyD_dt6#k;uUydC<}T|S278mV@r6YkzTc_ X{rWU)GQO-}UNGd1jfFC5SYG_UJ$03q delta 3539 zcmYM$3rv<(9LMqV!i$O|AcArcg$NYE@P-JaqK0T%maH_B6v5n!1WhDaV2@U^MYT#K z=SrQ}O=dUWrZl@vEiq%G!qQnO>eO6nEgjxweSbV>%ORh0p66Wt=YP(5Uyjy$USH>N zevj}r8UA(he=z?)@1>eC3;X@=Ac{rQqp%wL<4YKgn=u4;+xk9?pne>O;w4)T4K*g5 zdLs75G02Z&a`+v_gPEuXk6O#HFZEi~fc3~&W)lv?_wWw<61{jB6<`Od{aK8~>llfV zOcIQ#sCmX>DD#_pDX3#%&jVw8s1??rIy6`}pa$B4f#^rAe2;y<9~E%BeSQ?R(lba5 z=1=?nCTiSXL=nvVCY*u>ibXX{L9H}X4R9K2rT5$V0#v(FWGqvK>i;}y<*(ZJ&8Trc zv3`YW-;Qec8#-F)U$#L26^bSt)iDvZq72l^b5H}!L1k(*5{!zvIMpAO6-HRsCF-)CTK(j zx*ZkhXQ(Y{NA)`rLH>1^x@^O1sCp=^6+p6eJZhi<)Rq*X+AXs_i*z+jsEOZ4Eu_`H z{|=R*E>yeAwjSV+S3L+vbxcBa9E)0EJ}Qv8s0m9j4xd5BFmIsxx1d)3h4p*9llpN~ z|J$e)hp`G}G!B(9CxwC?1y+n|zueaAPyy7V0%}ApWUKX4 zR0a;AwzdOx2v1?p{l7p#dv^sjKp^?nfMKW!2csrTK?RnDnjjxF-~!Z&%2Dkc)Htu9 z+P{T88M5v{&36DDt?(xb>i8>a!i%Uw(v9jEz{cu%7;4}cRQqI9X2xR>&PKJLi#nu> zP!rXn0&YOEZnmQO?~bwe{~!;v*FW1AXRY0+mG$9+T<_yh1E!%S%0UfWfXi_q4#zf} zh<~FFaR$+(;55{DWw-=a$FcwKP&mnh60GMdZ~|VyBut8TPjvyRUW^I24zuxHd=O8f z0vtVr?-87W>DYw&R^5ln)CtrXyNavvhC`u}Ld{U3^YD>~)zs4y-IO<@2H1(3;1IGX za}3Ah6?_iUxa``Z4^bIv#b!K+`m!n`dS#*l*Wz=iL+N<$a#IP%#!I_9CyLIJ9MA*%mls6$t3>nm_O^;%r);ctRut~B*E>_>u!{Xb73h8MwXToopz za@BC-2xErf=`>^FF=QkYW9r=mf}=9{7{=UDY)b$iOrza}+#Kuv;n8QDoATjElFcL} z8Kwx8i8UCn`@eyL4#h51s=ql+BM?C z*o>O+8Y%;xEcfgrU>@~cbQEbFg@M?BKHP>ny&+r$4LkuAP$_ESdQ_&?Bim{|vUb|{ z*O6T{L0l1vCLJf?QdEF%qsI4VlYb3-k_WReAjiG851>-_GAaX&=*7+Uc{3{D9msJp zUn9rETtLp3iOzKcpM=_)GE^oup|+?QxoGBtT=K7p+IgS}I&Fhvs7TMCw&owy;pu&k zo5B&uc{BN_En9_Z_X=uDwxPz|fjT1}qcXi8b(Vg>LD=O`P)e`c7eN!cPrrv>?_zz6MZXAX~Cc9ro(^09NkIGmLa)Hd7s7!RAGJP8PeBu7P1#<}%;T7as zn}4mIJa>hGsE#?Pc9U)WKGX{5SRX-sa227>P6;Z5Phu1U*P$}Ceu^^h@EJ})d$COvOA^_&6M);geAU;Vt-S= zGH+0MWl3>)V^G9M|NMxxLH@IY7RNU>j~kGz=hZc4T4nW9Reh_feNPuxtgNzCU&YF5 U-%8&TRsPP*F~R-;lk>g*0XVT^*#H0l diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po index 3aefa0d..0b97b3c 100644 --- a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po @@ -743,9 +743,6 @@ msgstr "" msgid "ai:simple" msgstr "Modéré" -msgid "analysis:local" -msgstr "Proposer des coups locaux" - msgid "local analysis" msgstr "Recherche de coups locaux." @@ -825,3 +822,20 @@ msgstr "Inserting exchange(s) done, copied {num_copied} following moves." msgid "finish inserting before navigating" msgstr "" "Navigation is disabled in insert mode, finish insert mode by pressing 'i'. " + +#. TODO - in new game options +msgid "player names" +msgstr "Player Names" + +#. TODO - Option in dropdown to insert some moves between the current and next +msgid "analysis:insert" +msgstr "Insert moves" + +#. TODO - Status message +msgid "analysis:region:start" +msgstr "" +"Drag to select the region of interest. Selecting a single point removes it." + +#. TODO - Restrict analysis to a specific region +msgid "analysis:region" +msgstr "Set region of interest" diff --git a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.mo index 0b59b070f12c5e83ab467402cfd0863ac0420a74..3b93629d8f34c4678f37bcc40c0d558cee47f598 100644 GIT binary patch delta 3723 zcmZwJd2Ccw6vy#9Qp%zfC=iKd0`|_iq zpX)>ZH>pWaI{qEwe?R^oO;*jh_1*sSYKj}E_r~qm6Pqy|Kfx>Ul+}O3RO(lzIM*Mu zQ1waJ152?JE<}EOcMqT4X;^{kP;WkiU8%o<3h)*Z+kJ$6@EBf&zhDyng_@v(sed2L zz`>Y?CD;Y$qw*}m6!N<`1r1!CXmIXn)Cylh4cKMAj|y}UJ761X<)`iW@2Cm4TYG1+ zXr*b$++07@^P#A?d6N9Dkb(luKy{phT4_WbFos%boz>T(`fWmTxff95n@}r%&z>Ja z#W`tSK=p4&_3OqeeXZ2vLmfvU&s?F^OHnhv6SeYtPysYZJGK#f;da#coyd>-kPl7p zOKblLHSQuRaWWsO_f2L0RTxZz0!}~;ycPLzcksa&cQ0yUt5Fl$gzC4=>W!!!+KJkU zeb^a~p!yw0^HGzlB4fcF1>WJP%jcYMK zM{>AxsKo!E7Sf$qGr6xd<>O%8z#0G)vpD$!h_a+(mab=(VwWD z3h}L_38tXN_eZr4Ms0mwqR#o3P*A{9)PTiiEo#PVPy^PXR`@isX!krS@H?n+dr=8K zv-a<-eg-wMOQ;2PVEbe`ChPqlPC;ip26Y*ypaRcC?Z`Y-fO1rVm_1*KO1u^|!Of_^ z4XAi6sD*us>eq&f^9QQG&c|246bdpEmGFAhO2?rF7NRCpin=RhsQyc=J%$Qghw5LC z+M#E#BfgI6{}$@9wxaTU+n4j#jDMklV{;w&!d8F`REMFcGtam78D<%3WtH~aNA=%` zO0*Rf_Z6(dJvbS2$u6r={Tegb|IrkhX<%2}1=N7f{3`qemtz!5u5qpa-^MKb9rZS( zQqj)jU=EJJ@i-TU<721=wO}zGLJw2>2jfTk6tt45sMlfvhB0im;)sxQ*Lpmoea?U& z;Txz4H>0-tC@RhwoQUnH3Fq_DYl6#BN3;?ZXFckdn17mrF3VZmhwZ3|ygw*7>yOPZ zP=QXO5}idQ{u^~fY1zS+W~2IzL_IICdMT=3nbntKtKR=w3g>t*;ac8(%wZqPLj3y0 z+cD{SzV~tdV2%M#4B=woz+pkZciHEUsQ10Wxvv=CHp00B*fNs7SMb`73RYe*Hn@DX z$eZXM$8_?$hD3q)7j;(0k!#@2VQ=i57u2&*mnI*(;Z)SyFdO^eU3fFzhpfr9qWb-0 zUPMmQC5;PqA{!I${}>f`P+%6L5>L1Kov5u_VlKDmYmm)xTTtUaK;4N0$USpEqT(cR zBQ-t)2jCFYLT*7{E1gfF1J+uH6{r<##zNeKI`hzkpgj#YQJ;Vcc+lE^#i7)D=R0>D z7NI6kftrwyin|px;nsZipIveLX&{FSab-C!myeop6>_Yu4i(^4)D|DG_H?egRx-_; zjT*Pm>QT(3?jzU2ZAMM(0BWLtOyvACD0nvp2?|iRcL8dKi;-MzDJs#6*8Zm1Z0&nd zJ9G$@;Coc!u9J9mF$c91x1hdR7oy@V^(iRP{nntmRMhuf!*D<9$S)yzeV1Dl{AE&PF2*r*cmy@E-Kao^%&*O#QHd|2 zE^oUTDt2xx^^U0L1!gfS&UAAQcGvsA$U4N#2e3CCSK+7-e*vK;vj3)F2Tq^@ok#V% zZ0$Wtf_@%$qJ1>#w_gEjB1NdPpN86@QtYYAQAR;qTZIZ(XFh?Pj%z4sTF|XFDY>FL z7Kz56INEb~zi6bqqNdt~tHYHmVimFcpq?L#hokYPOFh?hO!lh7RgqZJgIAYj`O^~v zy{ek!k(fKR3+zaA(HA}pT>Ubm?iN#$> zG+ge*YrI&bGO{S{#qW;%Pp@2WR^o9*b-5SzVo(|Jmeml1&Rr6Ty^45lQ;)oPU9P&V RGQ1)Z^=2j}SU$Nm>0dB;q`v?F delta 3556 zcmYM#dyvjm9LMqR?pkZf-VkDQ4F;>9Ss07cV;>$1<|HA56okimD zanw5PFoE^04;LCZBz(hc0;<9pr~!-I<*13)V+Y!ff{Odq z+tC60svAkDfsIfD+o3A#i%MiLYQeFXhHoHq*hvrnTTuz__5Krn|7+CN|LE;IsQLcJ zB)$Jt`Fhj9dZ>&uPy^bdD(rV{OhheM2en{2DzT2J1^S{U%t2L@hl&eO^DIThuf^~VxqDIT z9mPNue#3WsI7h#HPL+RimOoxUqB_8 z!b`6ss)L%R8S2MsF6voXfX8q(Dv{vDMv=1~=jNj(dK0zK0@T85P)D!>wWWtqaUt*j z*4uYbapm5QYixFeb~4_^^H_i-P0XH;;{5xtpF^X}-fK#hc&`~h$@qG67RBNg;XoU~ zKA)t$yS3RRCJ5Sa44Cr-zhu#7P1{B)kL?h7_>z$q%37h$ys!HL>Zqn;n%@6~T-4yk zrtl531K5!E1+0qqQEx-VOf!{xP|UgtikJZ) z0*`vYIb;*;7HXnu9U~Q_B9Du;LrpXoHEujA;Tfo-S%W;_wi#pai1!~y6>t-?F@YyI z&>0WnLLFmpIW9m=Sf_L3es|;)Y%Fq0wgi>HUQ|LM)cD(|gp;$_9jt{+WrL8@v4yCF z4`K$M&SL*H!2@m#z*HV(b-awKWTm?iHE@Tw4`Ukb5b_wOqrKx5Rx*{B7ExD${+3;57CVKJ(b5GpRdhZ!%3)klqg z7L`aY@{-tiZ%;xc6y$TEfpf4HzUu)yQQvI)P+M1qs_ZW6>3@hVu}XI2tUI9=oPvC} z*c|smY)|_Hs{bK|ceZEP!0JXWtT`&vj;N=$yW0yp(0;X)I&Mg?{WcbGkg3e3egoQnFDn}ter4(iMcQ9JYw>MM3F zDv|A|`HJ0h$fnsXw4Ql+4aQ8EoLjV_>ck4Mc~i#b<}Hg&X;m~lr69Jbtme>qSvL;7 zeWUn5X~Fhuht`%AE-o$jeYz`OUpJe6yS{DP)qS%o Tm(ANyRFXM7zNl$-NrnFal{bRx diff --git a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po index e1d37d3..4efa6ca 100644 --- a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po @@ -698,10 +698,6 @@ msgstr "" msgid "ai:simple" msgstr "簡明派" -#. Analyze again but allow only nearby moves -msgid "analysis:local" -msgstr "近辺の応手に絞って分析" - #. status message msgid "local analysis" msgstr "近辺の応手を分析中" @@ -783,3 +779,20 @@ msgstr "Inserting exchange done and copied {num_copied} following moves." msgid "finish inserting before navigating" msgstr "" "Navigation is disabled in insert mode, finish insert mode by pressing 'i'. " + +#. TODO - in new game options +msgid "player names" +msgstr "Player Names" + +#. TODO - Option in dropdown to insert some moves between the current and next +msgid "analysis:insert" +msgstr "Insert moves" + +#. TODO - Status message +msgid "analysis:region:start" +msgstr "" +"Drag to select the region of interest. Selecting a single point removes it." + +#. TODO - Restrict analysis to a specific region +msgid "analysis:region" +msgstr "Set region of interest" diff --git a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.mo index 94a611d37a4a5ec0988c5ab3ea04641c59c26c57..0a42567fb69f4b01e00e5fc8532ba14c7bf93464 100644 GIT binary patch delta 3663 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 SbrF7sg#CN$tx9&$F8>?Z4Uhi- literal 0 HcmV?d00001 diff --git a/katrain/img/insert.png b/katrain/img/insert.png new file mode 100644 index 0000000000000000000000000000000000000000..f1a7a01fa164c784afcdb5414420c58d693bcdc2 GIT binary patch literal 4156 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' - size_hint: 0.1, 1 - AnchorLayout: - LabelledIntInput: - input_property: "trainer/low_visits" - Label: - size_hint: 0.1, 1 - text: i18n._('visits') - Label: + AnchorLayout: + LabelledIntInput: + input_property: "trainer/low_visits" DescriptionLabel: font_size: DESC_FONT_SIZE * 0.8 text: i18n._("show ai dots") @@ -396,7 +388,7 @@ spacing: CP_SPACING padding: CP_PADDING DescriptionLabel: - text: i18n._("names") + text: i18n._("player names") AnchorLayout: LabelledTextInput: text: '' From 4d3c134e493956c7dc3def5eb69f903444cd7409 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Fri, 4 Dec 2020 22:24:11 +0100 Subject: [PATCH 16/73] gui improvements --- katrain/__main__.py | 8 +++++--- katrain/gui.kv | 12 +++++++----- katrain/gui/controlspanel.py | 4 ++-- katrain/gui/kivyutils.py | 2 +- katrain/gui/widgets/movetree.py | 4 +++- katrain/popups.kv | 1 - 6 files changed, 18 insertions(+), 13 deletions(-) diff --git a/katrain/__main__.py b/katrain/__main__.py index 418db75..97f24cb 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -413,7 +413,7 @@ class KaTrainGui(Screen, KaTrainBase): try: msg = self.game.write_sgf(filename) self.log(msg, OUTPUT_INFO) - self.controls.set_status(msg, STATUS_INFO) + self.controls.set_status(msg, STATUS_INFO, check_level=False) except Exception as e: self.log(f"Failed to save SGF to {filename}: {e}", OUTPUT_ERROR) @@ -428,12 +428,14 @@ class KaTrainGui(Screen, KaTrainBase): if not filename.lower().endswith(".sgf"): filename += ".sgf" save_game_popup.dismiss() - path, file = os.path.split(filename) + path, file = os.path.split(filename.strip()) + if not path: + path = popup_contents.filesel.path # whatever dir is shown if path != self.config("general/sgf_save"): self.log(f"Updating sgf save path default to {path}", OUTPUT_DEBUG) self._config["general"]["sgf_save"] = path self.save_config("general") - self._do_save_game(filename) + self._do_save_game(os.path.join(path,file)) popup_contents.filesel.on_success = readfile popup_contents.filesel.on_submit = readfile diff --git a/katrain/gui.kv b/katrain/gui.kv index 2cab646..eb5b3a3 100644 --- a/katrain/gui.kv +++ b/katrain/gui.kv @@ -14,6 +14,7 @@ #:import WHITE katrain.gui.style.WHITE #:import BLACK katrain.gui.style.BLACK #:import LIGHTGREY katrain.gui.style.LIGHTGREY +#:import LIGHTERGREY katrain.gui.style.LIGHTERGREY #:import GREEN katrain.gui.style.GREEN #:import YELLOW katrain.gui.style.YELLOW #:import RED katrain.gui.style.RED @@ -534,7 +535,7 @@ TimerOrMoveTree: id: timer_or_movetree size_hint_y: None - height: root.timer_box_height + height: root.timer_box_height + max(0,int(self.mode != MODE_PLAY) * (root.tab_option_height + root.graph_height - graph_panel.height)) BoxLayout: size_hint_x: EPSILON if self.parent.mode != MODE_PLAY else 1 opacity: 0 if self.parent.mode != MODE_PLAY else 1 @@ -557,11 +558,12 @@ on_left_release: root.katrain("resign") MoveTree: id: move_tree + min_height: root.timer_box_height size_hint_x: EPSILON if self.parent.mode == MODE_PLAY else 1 opacity: 0 if self.parent.mode == MODE_PLAY else 1 CollapsablePanel: id: graph_panel - content_height: graph.height # + rank_graph.height + content_height: graph.height options_height: root.tab_option_height closed_label: 'closedlabel:scoregraph' options: ['score','winrate'] @@ -574,7 +576,7 @@ id: graph opacity: 0 if self.hidden else 1 size_hint_y: None - height: EPSILON if self.hidden else root.graph_height + height: root.graph_height CollapsablePanel: id: stats_panel num_active: 3 @@ -626,7 +628,7 @@ padding: 0 id: notebox size_hint: 1,0 - IMETextField: + LabelledTextInput: id: note font_size: NOTES_FONT_SIZE multiline: True @@ -637,7 +639,7 @@ size_hint: 1, 1 canvas.before: Color: - rgba: LIGHTGREY + rgba: LIGHTERGREY Line: points: self.x, self.y+self.height, self.x+self.width, self.y+self.height width: 1 diff --git a/katrain/gui/controlspanel.py b/katrain/gui/controlspanel.py index 652a84d..8d70461 100644 --- a/katrain/gui/controlspanel.py +++ b/katrain/gui/controlspanel.py @@ -90,9 +90,9 @@ class ControlsPanel(BoxLayout): else rank_label(player_info.calculated_rank) ) - def set_status(self, msg, status_type, at_node=None): + def set_status(self, msg, status_type, at_node=None, check_level=True): at_node = at_node or self.katrain and self.katrain.game and self.katrain.game.current_node - if at_node != self.status_state[2] or int(status_type) >= int(self.status_state[1]) or msg == "": + if at_node != self.status_state[2] or not check_level or int(status_type) >= int(self.status_state[1]) or msg == "": if self.status_state != (msg, status_type, at_node): # prevent loop if error in update eval Clock.schedule_once(self.update_evaluation, 0) self.status_state = (msg, status_type, at_node) diff --git a/katrain/gui/kivyutils.py b/katrain/gui/kivyutils.py index c024a74..7a31005 100644 --- a/katrain/gui/kivyutils.py +++ b/katrain/gui/kivyutils.py @@ -372,7 +372,7 @@ class PlayerInfo(MDBoxLayout, BackgroundMixin): active = BooleanProperty(True) -class TimerOrMoveTree(BoxLayout): +class TimerOrMoveTree(MDBoxLayout): mode = StringProperty(MODE_PLAY) diff --git a/katrain/gui/widgets/movetree.py b/katrain/gui/widgets/movetree.py index 7d90e6b..b907632 100644 --- a/katrain/gui/widgets/movetree.py +++ b/katrain/gui/widgets/movetree.py @@ -3,6 +3,7 @@ from collections import defaultdict from kivy.graphics.context_instructions import Color from kivy.graphics.vertex_instructions import Line, Rectangle from kivy.lang import Builder +from kivy.metrics import dp from kivy.properties import BooleanProperty, Clock, NumericProperty, ObjectProperty from kivy.uix.dropdown import DropDown from kivy.uix.scrollview import ScrollView @@ -115,7 +116,7 @@ class MoveTreeCanvas(Widget): return spacing = 5 moves_vert = 3 - self.move_size = (self.scroll_view_widget.height - (moves_vert + 1) * spacing) / moves_vert + self.move_size = (self.scroll_view_widget.min_height - (moves_vert + 1) * spacing) / moves_vert root = current_node.root @@ -186,6 +187,7 @@ class MoveTreeCanvas(Widget): class MoveTree(ScrollView, BackgroundMixin): current_node = ObjectProperty(None) + min_height = NumericProperty(dp(50)) # non-expanded height, to determine the node size def __init__(self, **kwargs): super().__init__(**kwargs) diff --git a/katrain/popups.kv b/katrain/popups.kv index 82937bc..f02c488 100644 --- a/katrain/popups.kv +++ b/katrain/popups.kv @@ -11,7 +11,6 @@ #:set INPUT_FONT_SIZE sp(25) #:set DESC_FONT_SIZE sp(20) -#:set LIGHTGREY [0.7,0.7,0.7,1] #:import BACKGROUND_COLOR katrain.gui.style.BACKGROUND_COLOR #:import LIGHTGREY katrain.gui.style.LIGHTGREY #:import TEXT_COLOR katrain.gui.style.TEXT_COLOR From a02697c7830b67f0053182ff64e058aebcccbd5a Mon Sep 17 00:00:00 2001 From: Sander Land Date: Sat, 5 Dec 2020 16:44:39 +0100 Subject: [PATCH 17/73] back to branching point --- README.md | 5 +++-- katrain/__main__.py | 5 +++-- katrain/core/engine.py | 3 +-- katrain/core/game.py | 27 +++++++++++++++++---------- katrain/core/game_node.py | 2 +- katrain/gui/badukpan.py | 16 +++++++--------- katrain/gui/controlspanel.py | 7 ++++++- katrain/gui/widgets/movetree.py | 2 +- 8 files changed, 39 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 1390f51..260810c 100644 --- a/README.md +++ b/README.md @@ -179,10 +179,11 @@ In addition to shortcuts mentioned above and those shown in the main menu: * **[p]**: Pass * **[b]**: Pause/Resume timer * **[arrow left]** or **[z]**: Undo move. Hold alt for 10 moves at a time, or ctrl to skip to the start. -* **[arrow right]** or **[x]**: Redo move. Hold alt for 10 moves at a time, or ctrl to skip to the start. +* **[arrow right]** or **[x]**: Redo move. Hold alt for 10 moves at a time, or ctrl to skip to the end. * **[arrow up/down]** Switch branch, as would be expected from the move tree. -* **[n]** As in clicking the red arrow, go to one move before the next mistake (orange or worse) by a human player. * **[home/end]** Go to the beginning/end of the game. +* **[b]** Go back to the previous branching point. +* **[n]** As in clicking the red arrow, go to one move before the next mistake (orange or worse) by a human player. * **[scroll up]**: Undo move. Only works when hovering the cursor over the board. * **[scroll down]**: Redo move. Only works when hovering the cursor over the board. * **[click on a move]**: See detailed statistics for a previous move, along with expected variation that was best instead of this move. diff --git a/katrain/__main__.py b/katrain/__main__.py index 97f24cb..8c5c24c 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -430,12 +430,12 @@ class KaTrainGui(Screen, KaTrainBase): save_game_popup.dismiss() path, file = os.path.split(filename.strip()) if not path: - path = popup_contents.filesel.path # whatever dir is shown + path = popup_contents.filesel.path # whatever dir is shown if path != self.config("general/sgf_save"): self.log(f"Updating sgf save path default to {path}", OUTPUT_DEBUG) self._config["general"]["sgf_save"] = path self.save_config("general") - self._do_save_game(os.path.join(path,file)) + self._do_save_game(os.path.join(path, file)) popup_contents.filesel.on_success = readfile popup_contents.filesel.on_submit = readfile @@ -499,6 +499,7 @@ class KaTrainGui(Screen, KaTrainBase): "i": ("insert-mode",), "p": ("play", None), "n": ("next-mistake",), + "b": ("undo", "branch"), "down": ("switch-branch", 1), "up": ("switch-branch", -1), "f5": ("timer-popup",), diff --git a/katrain/core/engine.py b/katrain/core/engine.py index a5f67ff..d3c1a9e 100644 --- a/katrain/core/engine.py +++ b/katrain/core/engine.py @@ -112,7 +112,6 @@ class KataGoEngine: self.terminate_query(query_id) self.queries = {} - def restart(self): self.queries = {} self.shutdown(finish=False) @@ -250,7 +249,7 @@ class KataGoEngine: analyze_fast: bool = False, time_limit=True, find_alternatives: bool = False, - region_of_interest: Optional[List] = None, + region_of_interest: Optional[List] = None, priority: int = 0, ownership: Optional[bool] = None, next_move: Optional[GameNode] = None, diff --git a/katrain/core/game.py b/katrain/core/game.py index f68799f..00d8bac 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -236,8 +236,8 @@ class Game: self.current_node = played_node if analyze: if self.region_of_interest: - played_node.analyze(self.engines[played_node.next_player],analyze_fast=True) - played_node.analyze(self.engines[played_node.next_player],region_of_interest=self.region_of_interest) + played_node.analyze(self.engines[played_node.next_player], analyze_fast=True) + played_node.analyze(self.engines[played_node.next_player], region_of_interest=self.region_of_interest) else: played_node.analyze(self.engines[played_node.next_player]) return played_node @@ -259,10 +259,15 @@ class Game: self.current_node = cn.parent self._calculate_groups() return - + break_on_branch = False + if n_times == "branch": + n_times = 9999 + break_on_branch = True for _ in range(n_times): if not cn.is_root: cn = cn.parent + if break_on_branch and len(cn.children) > 1: + break self.set_current_node(cn) def redo(self, n_times=1, stop_on_mistake=None): @@ -416,16 +421,16 @@ class Game: f.write(sgf) return i18n._("sgf written").format(file_name=filename) - def set_region_of_interest(self,region_of_interest): - x1, x2, y1, y2 =region_of_interest + def set_region_of_interest(self, region_of_interest): + x1, x2, y1, y2 = region_of_interest xmin, xmax = min(x1, x2), max(x1, x2) ymin, ymax = min(y1, y2), max(y1, y2) - if not (xmin==xmax and ymin==ymax): - self.region_of_interest = [xmin,xmax,ymin,ymax] + szx, szy = self.board_size + if not (xmin == xmax and ymin == ymax) and not (xmax - xmin + 1 >= szx and ymax - ymin + 1 >= szy): + self.region_of_interest = [xmin, xmax, ymin, ymax] else: self.region_of_interest = None - self.katrain.controls.set_status("",OUTPUT_INFO) - + self.katrain.controls.set_status("", OUTPUT_INFO) def analyze_extra(self, mode, **kwargs): stones = {s.coords for s in self.stones} @@ -443,7 +448,9 @@ class Game: visits = cn.analysis_visits_requested + engine.config["max_visits"] self.katrain.controls.set_status(i18n._("extra analysis").format(visits=visits), STATUS_ANALYSIS) self.katrain.controls.set_status(i18n._("extra analysis").format(visits=visits), STATUS_ANALYSIS) - cn.analyze(engine, visits=visits, priority=-1_000, region_of_interest=self.region_of_interest, time_limit=False) + cn.analyze( + engine, visits=visits, priority=-1_000, region_of_interest=self.region_of_interest, time_limit=False + ) return if mode == "game": nodes = self.root.nodes_in_tree diff --git a/katrain/core/game_node.py b/katrain/core/game_node.py index bd7ec9a..5fdfda2 100644 --- a/katrain/core/game_node.py +++ b/katrain/core/game_node.py @@ -145,7 +145,7 @@ class GameNode(SGFNode): refine_move=None, analyze_fast=False, find_alternatives=False, - region_of_interest = None, + region_of_interest=None, report_every=0.25, ): additional_moves = bool(find_alternatives or region_of_interest) diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index a79f263..f1cd02a 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -457,17 +457,16 @@ class BadukPanWidget(Widget): self.draw_hover_contents() - def draw_roi_box(self,region_of_interest,width=2): + def draw_roi_box(self, region_of_interest, width=2): xmin, xmax, ymin, ymax = region_of_interest Color(*LIGHTER_BACKGROUND_COLOR) Line( rectangle=( - self.gridpos_x[xmin] - self.grid_size/6, - self.gridpos_y[ymin] - self.grid_size/6, - (xmax - xmin + 1/3) * self.grid_size, - (ymax - ymin + 1/3) * self.grid_size, + self.gridpos_x[xmin] - self.grid_size / 3, + self.gridpos_y[ymin] - self.grid_size / 3, + (xmax - xmin + 2 / 3) * self.grid_size, + (ymax - ymin + 2 / 3) * self.grid_size, ), - dash_length=10,dash_offset=10, width=width, ) @@ -627,7 +626,7 @@ class BadukPanWidget(Widget): if self.selecting_region_of_interest and len(self.region_of_interest) == 4: x1, x2, y1, y2 = self.region_of_interest - self.draw_roi_box([min(x1, x2), max(x1, x2), min(y1, y2), max(y1, y2)],width=2) + self.draw_roi_box([min(x1, x2), max(x1, x2), min(y1, y2), max(y1, y2)], width=dp(2)) else: # hover next move ghost stone if self.ghost_stone: @@ -641,8 +640,7 @@ class BadukPanWidget(Widget): self.draw_pv(pv, node, up_to_move) if self.katrain.game.region_of_interest: - self.draw_roi_box(self.katrain.game.region_of_interest, width=1) # dashed - + self.draw_roi_box(self.katrain.game.region_of_interest, width=dp(1.25)) def animate_pv(self, _dt): if self.animating_pv: diff --git a/katrain/gui/controlspanel.py b/katrain/gui/controlspanel.py index 8d70461..c848400 100644 --- a/katrain/gui/controlspanel.py +++ b/katrain/gui/controlspanel.py @@ -92,7 +92,12 @@ class ControlsPanel(BoxLayout): def set_status(self, msg, status_type, at_node=None, check_level=True): at_node = at_node or self.katrain and self.katrain.game and self.katrain.game.current_node - if at_node != self.status_state[2] or not check_level or int(status_type) >= int(self.status_state[1]) or msg == "": + if ( + at_node != self.status_state[2] + or not check_level + or int(status_type) >= int(self.status_state[1]) + or msg == "" + ): if self.status_state != (msg, status_type, at_node): # prevent loop if error in update eval Clock.schedule_once(self.update_evaluation, 0) self.status_state = (msg, status_type, at_node) diff --git a/katrain/gui/widgets/movetree.py b/katrain/gui/widgets/movetree.py index b907632..844dd41 100644 --- a/katrain/gui/widgets/movetree.py +++ b/katrain/gui/widgets/movetree.py @@ -187,7 +187,7 @@ class MoveTreeCanvas(Widget): class MoveTree(ScrollView, BackgroundMixin): current_node = ObjectProperty(None) - min_height = NumericProperty(dp(50)) # non-expanded height, to determine the node size + min_height = NumericProperty(dp(50)) # non-expanded height, to determine the node size def __init__(self, **kwargs): super().__init__(**kwargs) From b95897562870a7ec2113a5e2d4e5eefbb981ecef Mon Sep 17 00:00:00 2001 From: Sander Land Date: Sat, 5 Dec 2020 20:21:02 +0100 Subject: [PATCH 18/73] play to end/collapse --- LICENSE | 1 + katrain/__main__.py | 11 ++- katrain/core/game.py | 51 +++++++++- katrain/core/game_node.py | 31 +++++- katrain/gui.kv | 12 ++- katrain/gui/widgets/movetree.py | 91 ++++++++++++++---- .../i18n/locales/cn/LC_MESSAGES/katrain.mo | Bin 13977 -> 14213 bytes .../i18n/locales/cn/LC_MESSAGES/katrain.po | 14 +++ .../i18n/locales/de/LC_MESSAGES/katrain.mo | Bin 16137 -> 16373 bytes .../i18n/locales/de/LC_MESSAGES/katrain.po | 14 +++ .../i18n/locales/en/LC_MESSAGES/katrain.mo | Bin 15399 -> 15635 bytes .../i18n/locales/en/LC_MESSAGES/katrain.po | 14 +++ .../i18n/locales/es/LC_MESSAGES/katrain.mo | Bin 15533 -> 15769 bytes .../i18n/locales/es/LC_MESSAGES/katrain.po | 14 +++ .../i18n/locales/fr/LC_MESSAGES/katrain.mo | Bin 17240 -> 17476 bytes .../i18n/locales/fr/LC_MESSAGES/katrain.po | 14 +++ .../i18n/locales/jp/LC_MESSAGES/katrain.mo | Bin 17641 -> 17877 bytes .../i18n/locales/jp/LC_MESSAGES/katrain.po | 14 +++ .../i18n/locales/ko/LC_MESSAGES/katrain.mo | Bin 17173 -> 17409 bytes .../i18n/locales/ko/LC_MESSAGES/katrain.po | 14 +++ .../i18n/locales/ru/LC_MESSAGES/katrain.mo | Bin 21963 -> 22199 bytes .../i18n/locales/ru/LC_MESSAGES/katrain.po | 14 +++ katrain/img/Collapse.png | Bin 0 -> 6200 bytes 23 files changed, 281 insertions(+), 28 deletions(-) create mode 100644 katrain/img/Collapse.png diff --git a/LICENSE b/LICENSE index 9911f0c..5690eb2 100644 --- a/LICENSE +++ b/LICENSE @@ -7,6 +7,7 @@ For on related licenses for these binaries and libraries see https://github.com/ - Equalize icon and Thrash Icon: derived from work by bqlqn from www.flaticon.com - Local search icon, Insert icon: derived from work by Pixel Perfect from www.flaticon.com - Other Menu icons and Flag icons: derived from work by Freepik from www.flaticon.com +- Collapse branch icon: derived from work by Kirill Kazachek from www.flaticon.com 3. The True Type Font DIGITAL-7 version 1.02 by Sizenko Alexander, which is free for non-commercial use. diff --git a/katrain/__main__.py b/katrain/__main__.py index 8c5c24c..01b1493 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -324,6 +324,9 @@ class KaTrainGui(Screen, KaTrainBase): def _do_analyze_extra(self, mode, **kwargs): self.game.analyze_extra(mode, **kwargs) + def _do_play_to_end(self): + self.game.play_to_end() + def _do_select_box(self): self.controls.set_status(i18n._("analysis:region:start"), STATUS_INFO) self.board_gui.selecting_region_of_interest = True @@ -498,6 +501,7 @@ class KaTrainGui(Screen, KaTrainBase): "g": ("select-box",), "i": ("insert-mode",), "p": ("play", None), + "l": ("play-to-end",), "n": ("next-mistake",), "b": ("undo", "branch"), "down": ("switch-branch", 1), @@ -517,7 +521,6 @@ class KaTrainGui(Screen, KaTrainBase): def _on_keyboard_down(self, _keyboard, keycode, _text, modifiers): if self.controls.note.focus: return # when making notes, don't allow keyboard shortcuts - popup = self.popup_open if popup: if keycode[1] in ["f5", "f6", "f7", "f8"]: # switch between popups @@ -552,6 +555,12 @@ class KaTrainGui(Screen, KaTrainBase): self("undo", 999) elif keycode[1] == "end": self("redo", 999) + elif keycode[1] == "pageup": + self.controls.move_tree.make_selected_node_main_branch() + elif keycode[1] == "delete" and ctrl_pressed: + self.controls.move_tree.delete_selected_node() + elif keycode[1] == "c" and not ctrl_pressed: + self.controls.move_tree.toggle_selected_node_collapse() elif keycode[1] == "n" and ctrl_pressed: self("new-game-popup") elif keycode[1] == "l" and ctrl_pressed: diff --git a/katrain/core/game.py b/katrain/core/game.py index 00d8bac..00b1ad9 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -93,6 +93,14 @@ class Game: self.set_current_node(self.root) self.main_time_used = 0 + + # restore shortcuts + shortcut_id_to_node = {node.get_property("KTSID", None): node for node in self.root.nodes_in_tree} + for node in self.root.nodes_in_tree: + shortcut_id = node.get_property("KTSF", None) + if shortcut_id and shortcut_id in shortcut_id_to_node: + shortcut_id_to_node[shortcut_id].add_shortcut(node) + threading.Thread( target=lambda: self.analyze_all_nodes(-1_000_000, analyze_fast=analyze_fast, even_if_present=False), daemon=True, @@ -264,7 +272,9 @@ class Game: n_times = 9999 break_on_branch = True for _ in range(n_times): - if not cn.is_root: + if cn.shortcut_from: + cn = cn.shortcut_from + elif not cn.is_root: cn = cn.parent if break_on_branch and len(cn.children) > 1: break @@ -276,7 +286,11 @@ class Game: cn = self.current_node # avoid race conditions for move in range(n_times): if cn.children: - cn = cn.ordered_children[0] + child = cn.ordered_children[0] + shortcut_to = [m for m, v in cn.shortcuts_to if child == v] # are we about to go to a shortcut node? + if shortcut_to: + child = shortcut_to[0] + cn = child if ( move > 0 and stop_on_mistake is not None @@ -512,6 +526,39 @@ class Game: engine, priority=priority, visits=visits, refine_move=move, time_limit=False, report_every=None ) # explicitly requested so take as long as you need + def play_to_end(self): + cn = self.current_node + count = 0 + if not cn.analysis_exists: + return + + def analyze_and_play_policy(node): + nonlocal count, cn + cand = node.candidate_moves + if cand: + move = Move.from_gtp(cand[0]["move"], player=node.next_player) + else: + polmoves = node.policy_ranking + move = polmoves[0][1] if polmoves else Move(None) + if move.is_pass: + cn.add_shortcut(node) + self.set_current_node(node) + self.katrain.controls.set_status("", STATUS_INFO) + return + count += 1 + new_node = GameNode(parent=node, move=move) + self.katrain.controls.set_status(i18n._("playtoend:status").format(num_moves=count), STATUS_INFO) + + def set_analysis(result, _partial): + new_node.set_analysis(result) + analyze_and_play_policy(new_node) + + self.engines[node.next_player].request_analysis( + new_node, callback=set_analysis, visits=1, + ) + + threading.Thread(target=analyze_and_play_policy, args=(cn,), daemon=True).start() + def analyze_undo(self, node): train_config = self.katrain.config("trainer") move = node.move diff --git a/katrain/core/game_node.py b/katrain/core/game_node.py index 5fdfda2..c3995ba 100644 --- a/katrain/core/game_node.py +++ b/katrain/core/game_node.py @@ -57,9 +57,26 @@ class GameNode(SGFNode): self.time_used = 0 self.undo_threshold = random.random() # for fractional undos self.end_state = None + self.shortcuts_to = [] + self.shortcut_from = None self.analysis_loaded = False self.clear_analysis() + def add_shortcut(self, to_node): # collapses the branch between them + nodes = [to_node] + while nodes[-1].parent and nodes[-1] != self: # ensure on path + nodes.append(nodes[-1].parent) + if nodes[-1] == self and len(nodes) > 2: + via = nodes[-2] + self.shortcuts_to.append((to_node, via)) # and first child + to_node.shortcut_from = self + + def remove_shortcut(self): + from_node = self.shortcut_from + if from_node: + from_node.shortcuts_to = [(m, v) for m, v in from_node.shortcuts_to if m != self] + self.shortcut_from = None + def add_list_property(self, property: str, values: List): if property == "KT": try: @@ -121,6 +138,14 @@ class GameNode(SGFNode): *comments, f"\nSGF with generated by {PROGRAM_NAME} {VERSION}{SGF_INTERNAL_COMMENTS_MARKER}.\n", ] + if self.shortcut_from: + properties["KTSF"] = [id(self.shortcut_from)] + elif "KTSF" in properties: + del properties["KTSF"] + if self.shortcuts_to: + properties["KTSID"] = [id(self)] + elif "KTSID" in properties: + del properties["KTSID"] if note: comments.append(f"{self.note}") if comments: @@ -178,7 +203,11 @@ class GameNode(SGFNode): cur.update(move_analysis) def set_analysis( - self, analysis_json: Dict, refine_move: Optional[Move], additional_moves: bool, partial_result: bool = False + self, + analysis_json: Dict, + refine_move: Optional[Move] = None, + additional_moves: bool = False, + partial_result: bool = False, ): if refine_move: pvtail = analysis_json["moveInfos"][0]["pv"] if analysis_json["moveInfos"] else [] diff --git a/katrain/gui.kv b/katrain/gui.kv index eb5b3a3..1613850 100644 --- a/katrain/gui.kv +++ b/katrain/gui.kv @@ -650,9 +650,10 @@ font_size: self.height * 0.5 size_hint_y: None - height: 50 + height: dp(50) background_color: BOX_BACKGROUND_COLOR - content_width: icon.width + label.texture_size[0] * 1.33 + width_margin: 1.33 + content_width: icon.width + label.texture_size[0] * self.width_margin MDFloatLayout: id: icon size_hint: None, 1 @@ -716,7 +717,7 @@ : on_close: app.gui.analysis_controls.close_dropdown() background_color: LIGHTER_BACKGROUND_COLOR - height: 45 + height: dp(45) canvas.before: Color: rgba: WHITE @@ -777,6 +778,11 @@ icon: 'img/ai.png' shortcut: 'enter' on_action: root.katrain("ai-move") + AnalysisMenuItem: + text: i18n._("analysis:playtoend") + icon: 'img/ai.png' + shortcut: 'l' + on_action: root.katrain("play-to-end") : diff --git a/katrain/gui/widgets/movetree.py b/katrain/gui/widgets/movetree.py index 844dd41..ca36e0a 100644 --- a/katrain/gui/widgets/movetree.py +++ b/katrain/gui/widgets/movetree.py @@ -25,6 +25,7 @@ from katrain.gui.style import ( STONE_TEXT_COLORS, WHITE, YELLOW, + GREY, ) @@ -84,23 +85,43 @@ class MoveTreeCanvas(Widget): self.menu_selected_node = selected_node def delete_selected_node(self): - if self.menu_selected_node and self.menu_selected_node.parent: - parent = self.menu_selected_node.parent - parent.children.remove(self.menu_selected_node) + selected_node = self.menu_selected_node or self.scroll_view_widget.current_node + if selected_node and selected_node.parent: + if selected_node.shortcut_from: + parent = selected_node.shortcut_from + via = [v for m, v in parent.shortcuts_to if m == selected_node] + selected_node.remove_shortcut() + if via: # should always be + parent.children.remove(via[0]) + else: + parent = selected_node.parent + parent.children.remove(selected_node) self.set_game_node(parent) self.is_open = False def make_selected_node_main_branch(self): - - if self.menu_selected_node and self.menu_selected_node.parent: - node = self.menu_selected_node + selected_node = self.menu_selected_node or self.scroll_view_widget.current_node + if selected_node and selected_node.parent: + node = selected_node while node.parent is not None: node.parent.children.remove(node) node.parent.children.insert(0, node) node = node.parent - self.set_game_node(self.menu_selected_node) + self.set_game_node(selected_node) self.is_open = False + def toggle_selected_node_collapse(self): + selected_node = self.menu_selected_node or self.scroll_view_widget.current_node + if selected_node and selected_node.parent: + if selected_node.shortcut_from: + selected_node.remove_shortcut() + else: # find branching point + node = selected_node.parent + while len(node.children) == 1 and not node.is_root and not node.shortcut_from: + node = node.parent + node.add_shortcut(selected_node) + self.scroll_view_widget.redraw_tree_trigger() + def switch_branch(self, direction=1): pos = self.move_pos.get(self.scroll_view_widget.current_node) if not self.scroll_view_widget: @@ -120,24 +141,36 @@ class MoveTreeCanvas(Widget): root = current_node.root + def children_with_shortcuts(move): + shortcuts = move.shortcuts_to + via = [v for m, v in shortcuts] # children that are shortcut + return [m for m in move.ordered_children if m not in via] + [m for m, v in shortcuts] + self.move_pos = {root: (0, 0)} - stack = root.ordered_children[::-1] + stack = children_with_shortcuts(root)[::-1] next_y_pos = defaultdict(int) # x pos -> max y pos children = defaultdict(list) # since AI self-play etc may modify the tree between layout and draw! - children[root] = root.ordered_children + children[root] = [*stack] while stack: move = stack.pop() - x = move.depth - y = max(next_y_pos[x], self.move_pos[move.parent][1]) + if move.shortcut_from: + parent = move.shortcut_from + else: + parent = move.parent + + if parent: + x = self.move_pos[parent][0] + 1 + else: + x = 0 + y = max(next_y_pos[x], self.move_pos[parent][1]) next_y_pos[x] = y + 1 next_y_pos[x - 1] = max(next_y_pos[x], next_y_pos[x - 1]) self.move_pos[move] = (x, y) - children[move] = move.ordered_children - for c in children[move][::-1]: # stack, so push top child last to process first - stack.append(c) + children[move] = children_with_shortcuts(move) + stack += children[move][::-1] # stack, so push top child last to process first - def draw_stone(pos, player): - draw_circle(pos, self.move_size / 2 - 0.5, STONE_COLORS[player]) + def draw_stone(pos, player, special_color=None): + draw_circle(pos, self.move_size / 2 - 0.5, (special_color or STONE_COLORS[player])) Color(*STONE_TEXT_COLORS[player]) Line(circle=(*pos, self.move_size / 2), width=1) @@ -152,7 +185,7 @@ class MoveTreeCanvas(Widget): self.move_xy_pos = {n: xy_pos(x, y) for n, (x, y) in self.move_pos.items()} - special_nodes = {self.menu_selected_node: RED, current_node: YELLOW} + special_nodes = {current_node: YELLOW, self.menu_selected_node: RED} if insert_node: special_nodes[insert_node.parent] = GREEN @@ -176,9 +209,10 @@ class MoveTreeCanvas(Widget): pos=[c - self.move_size / 2 - spacing / 2 for c in self.move_xy_pos[node]], size=(self.move_size + spacing, self.move_size + spacing), ) - draw_stone(pos, node.player) + collapsed_color = LIGHTGREY if node.shortcut_from else None + draw_stone(pos, node.player, collapsed_color) text = str(node.depth) - Color(*STONE_COLORS["W" if node.player == "B" else "B"]) + Color(*STONE_COLORS["W" if node.player == "B" and not node.shortcut_from else "B"]) draw_text(pos=pos, text=text, font_size=self.move_size * 1.75 / (1 + 1 * len(text)), font_name="Roboto") if current_node in self.move_xy_pos: @@ -209,6 +243,9 @@ class MoveTree(ScrollView, BackgroundMixin): def make_selected_node_main_branch(self): self.move_tree_canvas.make_selected_node_main_branch() + def toggle_selected_node_collapse(self): + self.move_tree_canvas.toggle_selected_node_collapse() + def scroll_to_pixel(self, x, y): if not self._viewport: return @@ -249,14 +286,26 @@ Builder.load_string( MoveTreeDropdownItem: text: i18n._("Delete Node") icon: 'img/delete.png' - shortcut: '' + shortcut: 'Ctrl+Del' on_action: root.katrain.controls.move_tree.delete_selected_node() -background_color: LIGHTER_BACKGROUND_COLOR + -height: dp(45) + -width_margin: 1.6 MoveTreeDropdownItem: text: i18n._("Make Main Branch") icon: 'img/Branch.png' - shortcut: '' + shortcut: 'PgUp' on_action: root.katrain.controls.move_tree.make_selected_node_main_branch() -background_color: LIGHTER_BACKGROUND_COLOR + -height: dp(45) + -width_margin: 1.6 + MoveTreeDropdownItem: + text: i18n._("Toggle Collapse Branch") + icon: 'img/Collapse.png' + shortcut: 'c' + on_action: root.katrain.controls.move_tree.toggle_selected_node_collapse() + -background_color: LIGHTER_BACKGROUND_COLOR + -height: dp(45) + -width_margin: 1.6 """ ) diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo index 8459233755f387725f61236a11740f395f9ed4e3..b7e88de5f4b45e3021736e12ef3292637000999b 100644 GIT binary patch delta 3758 zcmYM%3vA727{~Ef(N;&>RcYOidns)(moT#p-GaGf-K??2jykDYdyciI=v+?3TxOd~ z#fG@ej0uL6ZNz29ESPK-D2 zt#JHzfqyOeR}-zsxdV;J7bMql;_cSHA9dnm7N0@&yNK+`Rinn=M`a+IQ>eWeYMwN+ z532tV45?!d1wJmHFLf+K=5PxvUWq!f}tqb4|x%3LKj#v0UktxnO!qc-3{)n}r{ z4MaZfg(UK?!t2&hV$MZPyc{*bR^;Qpy1&&zel}jE~ENiL!Iz%Bq{CzY6D56L*rVa7VeI! z?{D!C)W*hOqJICcQP9c!=3G=pR-*2DJ?f#{jhbj5Dl6a9!<=#sVHL~Yk7(%=xGVm!nR+5jAcbYC{K5&&+YuxHDFN2{rEx zRR24uOx5STTpwFB=l(UIEfsodGf)c+L+v;hxo+o2O)$^eKS166Csx1LJdQfqIcu** z&37NQP6HOvyiIW$rneyfZ7F4>MGlaO z%FuAs_#AA5ld%Ub!hU!Fb%47e3Y{s`XZ1AfjvDwf>aGe=&%$hc3g_Vq6wR$+B;w=_CjrFE9zO< zg}VDgsLY)(E6uCsU*;2qcX4-yW%d3 zFQVT4w@?#CWjOaVCZPI{HuJ20Dk>9SAh+axu=s8U_s{d-;xi)yvycbd4Mq)^VD&RF zi+C||D0djirmI11AeBZQ57!YB@Oe~VTCNU(O=`YWRZ+W#T?+1Bv`t z`RTh%OvK@+_E*hf)D| z=AssufLbtM@lO@N|UTtncEwl$U-!atq3s!#xwQlG(1)VgmS7bmZ#9(9-l(^86kQf-As=eK>E=Atg5~Bab3<6}e+vaYOrKf91@nq|12y5F z<^!v5&?ho+A}ZA>I2}8q`fo6IpfkIc?Jgx3%yfHe4b~Ez5cvO6~87t z6BS$NEei&G{)rW-Nj3Eo9!332g5F?hNkvrZ+Sr7l)2Dd-6EhzTuUO~V6PKFpEeU$2 z&_7Tb^aKN*d~cD@qj|=ppN|@ex#Px;G}S)XIepUl4nYwupqC@QxYup27UQu r-I&JbWn0s{1wl_nMuumGzqDw4QDCaCWR@pPcp=}!jEb~gZ`S<}cc+^_ delta 3533 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 F>Ob)%q0j&T delta 3533 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 delta 3533 zcmYM$dyvjm7{Kx48fn*hv6dyfxnxu0w-vKKo{>DAsQFgl zzvKLC&cE+#TMOa!wEt~FaS8RtxB(mB4$Q*uupa&r>sK*By$s+ z^DL&bet4OJ1Lxju2;p6Hha1rW+oSu?i4I~7Jd5u9*ZBMz8t|>yUWZlOX(J@I&>Vf< z0iCzIvVJI};6ww_j>FNNj!oPFmB?CQJvzP&-TAKg{0KTvW%M%I{}$RW zja??)X$~KD?1DTCg|R*ajreJF=i|`{9Aw6pVnf`3j^Bp-g#&yT;E%EWH+0-}bm7{3 zSZ|sj{}%FSaKc{bz`@90c#03kgvn@NbJ2iSqW#v!`lo1ywxOBWk9F_}+V3Q~&Utj5 zn`qz}4avV})S8+D^U=%I6YV%S*2ka$%#JRJ&)1+wv;`fvGx`IvM!0}3T!n6=K54XH zE}F5PNeXrx5F3hOeH=P)7CNvL-Qj99kWJ`B+c6stBWr|<=zP_P-kmp!w!(X;cR|NL zj&3+PmVzmL2~Al^?63e`;B92i@F}{$Ui7^`j!twXT8++*Peik^DfQOqM*5FwpT{~KzH;vnyG4hYZ+iVI=&^^o`h&gv3?#6>;}4_8l+FN zu(t1iM+%;CSM)LtKqnrAW@IEf!8mk*De?Inbm3Aoz*XqPo6z}oq8mGe_B)Ht^B3CR z^GP~kIt9%}7i@>_vx%{aze_ zW+<6W{>esIPJ=u61V>;wF2i(w5(nd2Y=@WeZp>;CGlc$X7NQeBiJfsi_Qo&Jz^=sh zD$J+enMv4lC{9xFwVH-rwo)93OYtH62@hb4mLc@RbLdgz<)kuIfG*G6HV_RFOXOrhk zcnB+SSGy1%s20K^4)`GTiuNJQ!M8i`Dp%*I$oK8b*(sHQ#pvzdgqf@#zNEnY2nW$r z{f@*GuAw{2
    EwrJ#q=uRGu^^xf19fObHY;?W~^pc)M=e>?O8174r&&4{dAMz=9 z_T6m2-k5>?V*4=kk`Vy( zDR@SYqi;ho*2k$>i1TB8Kk_9Oj^SXugzmI&m(=T3gf1`_Ij!)1tnWikGn|g~8U?BO zTNIH09z5ts1IHM~U@v?F6Ig+)5l&)5OzWCTaV~N?VIsQY)##aSL{nXk8MqsHlfz-; z8ib2zz|Gh-FIMQ*jr`j%j0Pj0gr;V3^iAacg;i)qzDAGgFq*Mr*Z@z(=ac1s7a|M!p=KcvWm)hhDnP@%dIXkUeO?N6<6AfNtal=3s)f zy2AoAGmjz19-cuLUXHv#A^8CXC#*nsb^=}S6!P|j^XPZ@MKrK$*aUB)0VH~++VjyP zEI|7gqdOgq2Jm8hJ{!Fo8;}hr!?*FlG4!>oLXIii!$t58j6f$Ck4`uP4R{`!xs}N4 zAKs6yMeodq=!TA>Z^sEVurp}Je!(=~|3Bk{Ds;kHy;ENl>3D{ECp07V`=kPCj*Y3e zj~1c<4MzhWi+;7vL>DYUGdCBVzZ4B@1t!{1c!z=$Y{o3yfiCzxK8%%p%C@H!RWECw iQCPjKBvDzbY*N;gx@A{$E7Qs@bY5Sl?AM<8HU9%P#$Fx( diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po index 9d3a04c..3663e67 100644 --- a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po @@ -118,6 +118,16 @@ msgid "analysis:region:start" msgstr "" "Drag to select the region of interest. Selecting a single point removes it." +#. Menu option +msgid "analysis:playtoend" +msgstr "Fast playout to game end" + +#. Status message +msgid "playtoend:status" +msgstr "" +"Playing game to the end with policy strategy, please wait ... {num_moves} " +"moves played." + #. Keep improving current position analysis when there is nothing else to do msgid "analysis:continuous" msgstr "Toggle continuous analysis" @@ -759,6 +769,10 @@ msgstr "Number of visits per move" msgid "Delete Node" msgstr "Delete Node" +#. on move tree editing +msgid "Toggle Collapse Branch" +msgstr "Expand/Collapse" + #. on move tree editing msgid "Make Main Branch" msgstr "Make Main Branch" diff --git a/katrain/i18n/locales/es/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/es/LC_MESSAGES/katrain.mo index 202c0f63145e5966c9b4f943cd8824bd290fadad..f36f7d93956541035c988d5810ef08587d062e1c 100644 GIT binary patch delta 3757 zcmYM$4NR3)9LMn^BH$Y+D1!L%V5#^9nxZ7yv;@nRW;0)ArgzAY!VAe&yE(jbq?olV zltyiqX(_&?cC+DoYJ(|i(-cdS%$XK4Rz@Xi*7tYsakA<$wO?JkNE9_x&Zl zy6Dg{!@rCCb>pugOf_Q;wEy2O6c1AGjOVc<-o!Zk2isz7WU$@~qp7E3Pn>A$ZtOsP z8HQsi^6{Au_>SVj7F2`1))Ux<`X$tW*O9qQGsa>#o!Vg!48;Mc00*PmXJS{Jft}EU zt?>=iJZmtL`OPO3)X^WfV9asU3co{jsJAwu2D*<5Acj#|Vt-Tyl2PqPq5>ahuTMg) zcqS6N$+GtsU~A?#MJiwkYM^&f4cDPoyxrd4hg$L1wtfcH?h+D{sYms{gUUb{tI+*; z)Hq4j;i&fG(5Hq|DDW{ke5s)q8N-y=dO2!En@}0pjT)c|mAP7s!3I=+%}&uoq5^PG z*HcjaMk62dOf>mdVUE2~Xe~w!yaqME7UW|p`O?5Or~ogc0&7IIYqs?WqEV(|P#JMB z0tcenrD7lhG2~wpP2mC`^Aca$tEH%pD^Pn~ifXsT)(@issI}g(_iv-NGLkf@Uz{}s ziOpo9CZ2&>NUqN|Sb|DXDXQUmTld@g5md)>sE*fAEBp%;NK2yAgq<(}2OzPS@u=}; zqE_y<7GW>yzPBi7fSsrne}zivNmR-%*!x#d6a0?MX(Fg-g6^pIz!20p6Ra~){qw8~ zF`oKT)I!RU$JS>mDCnKD1NoRQ_)>!!RK%C8^{9!PF_2>3N@^E}T456Edb%|OwV+9; zOwB|EIM3eq2ClRJ#T1nKcLEoT`4BbWHdKd0)^AWRnk%UGKciOo2a*(X4;4T(=}^CJ zsEG%mu8*|!aj3v1V+TF|vnXg~Zfh|rBju>Q{s?s_ccTW{i^|L~)IeuZ6V=)KH&Frn zi3&7~ylebUsPX!t7MPAcHJnI61IYWqy%o#HlwROHD6qK?WJc@Ow)PBs{LBDRhQHN#^ zmSHvOaL#%tn3=h#6&Ik|c~Pl;6P5aMR6v_iXR8u5Ulnqwedc?6;V0ApO{f9F*pGu4 zgUxsbpT?Tr#{7s~`mnF~H@0YD%&oq`_DxCr?oYuUvD(VUB*9N?b zsmjH2Hb{}}$DVi`74fgA6y8A|ZPPI&xT1c@TqX^5n&+SbUxW&LC2ECb$P;KPZ2bso zymP39+{C`xixGo^r*bx`qX)^dDM7trw_+q7LY;+EsJ%OD{Q>njT}K7dfa-T26=3ub zegQEFwRKOS0(};JYB-C6dTO(^&ncMco1?7j2E@?ji>;(qPBcbD*0E3V_e`-H)nAmHlof#!th|E>8KSME+;4UEO#Ft8wA0$OlapDm=Jp6jXD0as%@#3*FCZdDB5fpgmnCYkvi;;6 zL}lnM>I`(@t)oD?V+i&~1vm&b(J-8bqfq_UqE@^M)$TNsNuN1yFWg3L#lNT(M2_Ud zVmDL(8L0anWKpIVwH5o3Z8vqO)W&cy)UFRI^{J?U9z$g+6In!)PxG;t~GRYFo5=`0UYaK)R`HB<8kt6|El&gLSm=n=j7yNJ5S{2<+%z9vz^Bm zxZGLu{8yvKhD7AKyq^4Q_gsHmbVIAC2epxf9+zifp+6*USevMfR|{P3xhW62`%`<} zZWov7D)cx7w9jAYaXk4>j%$9lqj3hN6t$kp^;~yO@FF)o^8)vr#krn&PC)U delta 3533 zcmYM$3y_Xg7{Kwf>weo^pKV*$-9_%AC6`S*JB^Vj*K%16snE!1*czi&UyW%C88vRL zgp!F&CbLBp2~(p6MKWb7mqAoYDicHf|NEVp%Q7-o!QAB5;d0w z{vGAF1;1a{wiUvQjsEvWE*H|i0oP$;{19_-KQ_QKvHb@oXgA0RArD)j?PAQr;aCSB zM1GQCDxaC$n2mOr7hQq%X>UX)*n-R*_F)bl#fEqRYvNTjKqs?*4mQJ%n2r6h9*#xV zc?dIDKRnKb1Ls!X2%!?qa6LL;dvq^4(E+T1r_jvL#^;yNfUm{-by>wsvys?B3-ozs zblzUd`k{miCmMuy9ED~&$qrbCW;!Rf=cE0WAZvxS==dr$^N-{6L+CswqQ9a2uc7@K zk!8|M^ZBr2A@VGg#P)DB;t6QxQ_%?=WW^R?6I_Rm--i5z&-gIFZ{z)+&~bmG3)kku zcGCp)_o5>=oUkuCa47N<#`D3LFar&2E*j7hwBPF3-h@_Y8(N7^u`V7$`yE5qIghS$ z1r0o_3H5i6+R}1h7xZxTK|2nO?MY|=<Jk+6G(GE=0%Q zhbEky%!MVLiI!|m>`;L&upF5)Y(f{(qgBU<`i z)ou2_KNn6o93Aj*^a(WL3Ut5%G{Z_H>F@?R@dxO*-RJ^`W{YX!JBa=_QBV&H-3jElxP*g zZP*6;;skWv$|M(Nz6CvO`*8psLMLjP$Dd>zfevh+pW2Fv=){krsjwJ5)qAi99!Fk)kWIsi6r%H&Vgk#0 zQ2&8kRB)ph52CM0M$c5lgV2dfF$3qLC9Xu@=hJBBnPg#rIp|&&p#8fcZ*nL`jzuU% z&%pC&pl{tu{mo!6H{6>u=xMLlD^;Qdat=caY=C#5TQvmjHxhI3eyq+2&A1}^Ci)uh z#w@&wb+92{4hEc^keiE(Vx!7*V zx0PGa1P#13^5%x_=)z-D&y(Q=E(j_tM<+OlY-{)fEou9r)I>#S$?rk~8G%-)6w`2W z^bsV6FcsaZwdlC@Xo8z#dn@|?&#;RNCp?T!cnmG=S$qwzqZL`n$uyGUiZmDj6U+P7xS{{W-}QRe^v diff --git a/katrain/i18n/locales/es/LC_MESSAGES/katrain.po b/katrain/i18n/locales/es/LC_MESSAGES/katrain.po index 1164e3d..45344fd 100644 --- a/katrain/i18n/locales/es/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/es/LC_MESSAGES/katrain.po @@ -812,3 +812,17 @@ msgstr "" #. TODO - Restrict analysis to a specific region msgid "analysis:region" msgstr "Set region of interest" + +#. TODO - on move tree editing +msgid "Toggle Collapse Branch" +msgstr "Expand/Collapse" + +#. TODO - Menu option +msgid "analysis:playtoend" +msgstr "Fast playout to game end" + +#. TODO - Status message +msgid "playtoend:status" +msgstr "" +"Playing game to the end with policy strategy, please wait ... {num_moves} " +"moves played." diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.mo index 00a6d1e39de5bb5823997ed39b33ff103d8454de..12c5a257b358b23f2e52a2f7a86652a5e505b980 100644 GIT binary patch delta 3759 zcmYM$dvJ_b7{~FGAd;$th*%=>q7{Sth_E?YM6Vz)^6aI;;W$G~*n=8v1<;CF8ew--2HdFrS*XB=+4ga$ z9Zx}GH+lB?Y>Z=lQ?3FoK~1y*)$v2rj=!+azd`NzkgcCW^{YW*GIgl&4X6ynunRqJ zi<+mawI8bgFbt~WBno^?0YB8S6q&;;vGvuc9es+*zz);|hf$e3gRSryYP?pbXyQ=; zIH>ka)VM*&$BaoN|0+zg5B$~&)Wnsj3AP{~vzs59_&6%S3#h>ULiMY+^;n`&rdpvg z;$STHK=td3;S97Q|5|7g4SdX-{Lon~Kn+}sI_s6Fep_t)J5&H?te5Tcd#Iy~CrujX zvSuQ&nGvXkb5R>94B8H5s1&V4b^O@YL$-bZHSjcQ;P0p%-a!S@i0HIn5~g4V5{ns$ znr{kf=RRvWcA_3!PC*lFN9}k&Dy1h-DLZSQUqmhNH?pRQrJ@B=QQrf-QS*$lPC<I+aCS&h85L9>~HzH_!AAM+JI)ZsWP;u>omYTd+i*cH{DZ5@u< z&^T14rl10xZl9Ni+d2OV3QGOE;Ra(qLQS|8HDI6hBH1&~NO zG_E~r;hw1WEL$Ij3Ty(l(EI-y1?|jdtw3dDHR`O_p)TbP)I@twnK_7>=x5YIwf6Z{ zQ~>{?0*xW>nm-9OUpLeSvoWZSV<~8&si*-nP!pC~7o!%eMD2J3YTQ;-KzmVl<}hm9 zDcfF)n)eE-|7}#Jn()2c1XJ2^{uY9S38on{5nEsn%tz)nD^RKW5_RbgVL2Yf zVjSrhlM`jkE-aybzhmSm-r}X!_%hT2tC7u{&DakQ;@jAOI=WyvVJk&Ta06DM1`c>C z^4skNR7S?&LiC_6=WnQ#)}ijiUDPEtPe;x+)*6qx8%d~fX{bBV1?e9&eJE&xEY#)8 zvGob~3H4WT8asW21=OdelTzwOuq|HU{QMZ*-I&ohC&QR@{GN2CVqH%b#@I{(!GvDC zaoDamn~4q@Gp|o%C+DAu{Kaw^mHMWA`Qrjpk!+cPs7y>nj@kH8cVh)A9b4on4HSEQ`5{;0wI&IVYgzt)Cs5)KMY~QkOBgo0f0gxB%ryF(ez H_iX$h+GVAP delta 3535 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 delta 3535 zcmYM$3v7;89LMqVYD=+Jy=|=*qo~pr)1tIB+OBb%kY>ZG$xKnf7`oQTnuka%Zb4>Q zTtc!%rjgl}S8UWeQM0gO%q5%I)-@ZYF2P7F-S++U`6rWlKj)n1od5sap0~ZcG0?I; z;QbN|f8X)%D*t=(|58WQoZA%jzt2+KOg$d=VRx*<1U!pf@lUHiz##Rm(a!b8Ua0yQ zjKLD@gyqPO=N9tWjfRz|4(rXG*oFE5RDi=sYsecbl!gP$o zV(g5is62Bpn*8o93L3b!y}`L1s1@!<4LE9^Lqy;6clI@s^fIjO6REqR-#r~WAzQFe%p~;?jzLr5NhRL+w+U4I8Ej~ zRR1wAkRSIgADZBg)_xN; z?lCHHM?O?f46^?!q|=~)xu}6tkstROAB=I!P!n5=n$UJszr9vJh}xkesGT^4k$4f+ z?;0x4EmWSTsENnKvi~}xRB9SH2z9wep*l{r`aIMG-Z3}Z^F62|I)oZmZ(c@nxK>o+ ze^CqR#x|;7AJmSG@+hd|IBO`i`h3*DRj7d*P%GSxnn*1w&{0gr3rG%k2Nf^C?6vYZ zvmf@Qo{btm4Ygpef`YbmIcm#ltiw7~f)9|G?jR~b1M0oMiVAe!4A5EQgJv=&Qcp!K zWDM#xor3y`c^Ucf+)O^zVHs-1Ys{^v#Cx%Qi&6dRQ7b%W?M>!w)QbK>?NoqoEln^Q zHNH2hJsq|6Iqh}MznFpomY@dAHLFlFUWXd65w*e{$fDhcsK8&M#+^VV_`%wLv-&O6 z#GarQ6vp<+1nj8ye=r4|@o>~-9ES=#1+^ouq5{lEC8)ILt5JzJpeDEr6}T1^uO79q z?@|4lQE?uj`s;i=1&pR3lTir=qE?~2KFKUYt?UhZ?xFf`K_%LQihBST z<8d5|L&z?dp!yw5X8(s#sH1^haraOIBKcK#7OQbN7C+})K7N6{@FD7L2vX6`q+uEk z#Zfo|2jf=Mg6gpd&tnP(d;8;uc@(sg@u=5gCeFs$W&;ilIM+XgXS7f6<0t$aHQ_qc zR$oHJxrL*#4K?9BUV2Ti8g)dgQE@h*eu;TEDCn}>##7jan#jq1{#k!#UO@$FLM6J5 zO8gJ%h~iTHEloxB%R)WRw|WVxUzybxVT0cPDhjPU$nDR&k7?{Vsbp25Y!zJvUJU$M`psV6?~+)s>e9_m~p)@RYT1Fvnizw!km{L5E`yoqibCXnCN zwikGRQD=1xxdyHk<1sSFulGV-nmmlc@u;_98uq}~@g-b=tjRT?`rR}iBd6)YNBTRF zitX?Ja20rvZx*2vPqg|h)Yes))%JWHvN>)yYWz2-JJE>TGxrB7PB=GGS|B{K0$49qqQe+)wPld<}}o}a;q=LWa=Jr zE!-~D#2Qf(eKeZ$Poj|Wf}bECb$e%`W;hqgG5_cKH ztBYxTjWttqPML22jLmikv~E5dTvOe|CdRjITwf1;a$|kj-djbH-9!;P>CO-E^nI|C~|HD^$67S ze6t7@XQDYByXpO(V;w5ZRTxjlHJBaXFCf%J&b;XFz;#rhJE(q7tv#mL@0Ws|Xdj09 z?U#?5NFnO%C!lty1iR~Ulu^*uE=C2cG2cT@$JG{xjz*Ps2xY_+bO_Z1n<7GQCNy^m TmG@f`8*0gE?Hn3hxIg?qZfskl diff --git a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po index 4efa6ca..33ee94f 100644 --- a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po @@ -796,3 +796,17 @@ msgstr "" #. TODO - Restrict analysis to a specific region msgid "analysis:region" msgstr "Set region of interest" + +#. TODO - on move tree editing +msgid "Toggle Collapse Branch" +msgstr "Expand/Collapse" + +#. TODO - Menu option +msgid "analysis:playtoend" +msgstr "Fast playout to game end" + +#. TODO - Status message +msgid "playtoend:status" +msgstr "" +"Playing game to the end with policy strategy, please wait ... {num_moves} " +"moves played." diff --git a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.mo index 0a42567fb69f4b01e00e5fc8532ba14c7bf93464..aa42ac63ec686f6a32f0fe853c9a5b0f6ac82bb0 100644 GIT binary patch delta 3760 zcmYM$32anF9LMp03oWe*Ep2JbRUQh;xj;nFB2c-E5Jd%o1rb)*wAHe0x?8bISrG+P zRG@%pf>-dUT&e4Ya#@wA7y*NLpak$tLGb{!$l>?5Z-`{s&&<4;|IGa7y|-PtFlqkc zq}ai%mMe{aU-Q2c|Bt1rX11mE|K?HLO1&L^j&1QM=HnT>5Odr3^@}l!`Vj1bH@JEj zGpWzVR=6Db#Ox`)Giazsb=d6u7%!lH02S~@WG-vQTx`Xli?9G&VsF#}`=k1g!46oA zIT*!sd)#aENTJSL}`J&P#FlI`WK=WKFYO^ zN9}kjvUZ#4u2*3?^INS7xCj+!8LHzN)Q;D?>u;lW{JyL2MfE#?tjU^C<4>V7kjgG} zy*(;U59c6M|4|rI$B7j9SP5V1ScAl{MXtUYwWAkN8E8NS*on&Ae$2*WsPUSeqP0OS zz(ck7Lya4XeC+xx@~^@ScOl|jfC^lP3Q&)H>@B_&co%Ac-=Y@wE2>|!tEaIVWhxt$ z5f9U_531i4n8-jj`PW1fY2agb@TIewhZ?vLb=J#K{pwwPJ8A*@ojTy?p7d3DnYT);%9sY${NDEe{33IR`_D0rX z*P`N0MeRK7ti_9|$Cgk~fK8|!??9#W6I9B+aMur^Cioqh)6%GDg3hS-zyMU7vCgTe z@#W5HY)^e2Y9p(W$2Mj!Q_wqS1M;!g_)>>ms1+Y@HlZeN#zcyFE2&>TYKJ{g?L(ZS zQ5zbM%G6ZU0!!WXnnXM2zkq^LzckTc_B1NsI@Ew|&fTaN%^_6(A5c5|6G@7lMlB$V zbZA^B)Wm&J?S-yB3bnACFjLR}Gz!{T*tr0ek=3ZPeg<_@HlPA+MrGzbRG`mL6CHHd zkD?ZE61C7&@~-$fsCYe58ytc$b-aOs0!>E^xDyqy#<>tRVI6A6&!fhzLoH|v>Ymw& z8n@TAA4J9d8P)#;DpM)Ems7A~2hLvuy3(M#Hh`LFENaEY$Z=a372rX4eHH5LUvTZO zJ9naX_JzCNgo<|xHBUN|C~hv^iM>0L|FIOFpkWLiL1myPKZU(;Flyr4@ez#RD|ikg z_)2H9VOUULb}3FnE$jj8iYt&V_682YeRv&acJY6lro<>*PD3?biS?)*A3=`Kno%jv z^2}yoCk*0z3?!L-htsKN@i41j6>=ZiT+~^wK<)TNyb9mJC3q6mKX(5m{z{kNr!;It z?Vz@s|LgWBl0937jkq3lb5?ZsGjkW}o>+uR@lw~m2K9c}h{|ZAYu|(FcNmEqvtKD_ zCF$f(H&He!>_*lM6(?|~%6 zicmWXp~h9Aj_?7@#x5{D1W_dGc0XQ&TTu%*hu2|dk^dLW6dXvs7B$hUsEmBz+=JT40aV;yP)GA` z!WaQ5+)6_WX3-92I7^&iRKRLffcsqiF;{;QJJ9|Tp1?+T{ml`6|3*}%_MndRTh!6~ zj#-l^B#rb}l!GbM^HB>aK)qVKqf#0`O>`w{ArnydLJ*a?8mz*{M#dj*U7Vadv7)4; zJmih6C@&9IMnc|*s$h6#Y5YjWHOXn^!J24AC_F2kpLHxH<9w|!5)DSHBk|BIl>}#pJjF>H_;32;8@W&xF7aEr8ZAv+ z^yZXBOTEg9^0JvVUL;x-jD|{T`Vb}*WLa~9Wl=8>2zd8~t7lK2U2#_^QtKs1Oca_G Kh$j!rPWca9h^tBf delta 3535 zcmYM#3rv<(9LMqhE25&@e7S=LD47UaB6*|mjl7gLm6$HmbmlG5)fAmsvNvOMilWxQ z)J!)WGi6%#I!#?vnmDaon0Z+(b6#?mQbv+Gv+s}RY&Cj6=bY!9|2gM>&hxl*xvyrK zFZi>+ZH@8YS^n?B|EJrjX0|Hof0HOyQBS~H?2Lyn8NbC&c-7T!p`UuEXtQ*D2vsk{ zSS-f&_%iYrv{HU!XjqKuu)?_!J5sMh1=xqgw&R$HXE73QVq3h2TA+fde_xuzp&P8Vv zs{egdzbJMY)J`+_QO7*wnFU*o`LoIVFvjMg7FK~;P&KOG7FXYm%FqE+CK|8|2m^AY8se}x?BTM9mlx(4AcUaIIGViyBw&`~jK6en(CG z0JV`A(x`r!sEiE^Qc%a?u3>_!&q57+12wP`wZl!Qh3r5DI*4i5h|FO(Q1N`MUOSI> zcE@hi^HAf*p*9?xNkJ){k4jm&>#z(p!Fxzd+l`vw2 z$Eg1MP?z-xYMu)zoWE9llLn5>!uVh-Kq{(34(iMYyY`XJiKv~;bKGMAC8Mq8K_Sq|Gg-DLxU!6!Ijv7e+qYEHJ0I!uH0Y@VGq28T3E_Myvvx4 zG}$ODz}fgL)*^FT6ZXT7>Adq;h}!U?AO()YR-;n99jD_SoQjDVW_^5Suj3Tz+nG)M z+Ve7VpR6 zyAb)Xm)ZnWdpFegpdTugBV7A9Y`q((otL2&uo`uD)}zL6!##Tc_flw~VJ3Mk!O4%1 zUi<_z*?DbGv*+P}Ul z;%-9jwe7?NY(Vw@34=<-B?`I>k^Q|L#iDL!76z~Y6=(@&U?rAd9V+kxREE+9c=Z74 z5>7%bbR8O7vkk8`bY4 z)X{wA>L;A%Fq!tN$aS#?s0`!|=KGIDgUP>Ew3r6D9+jH?&U$1{JBpgarv};a#3|)a%j<^}GP} z;VHp%oQB$Y1*YO!{J+c+PnRwZL1b zh225zB#iUY*(Rc%=OEd&JXfFVo|mEGE=Q7Q>+mUTMCJ`z+z{_mnT33;>{aCA+dHU< z8c?s%dFN%+4w_JbeF5)CVw`a}iS{Ja!WKB+biR#>w*sT|{#Uz(t*s4ayHKe-gw1#c zHQ;NOtqISdGISYrmVcs-B)rI5a02R%^u%z?MJ*%`^(7sI%489y>a3olpun?GXS@)V u+A5rnTZ=*mqb9To^@Q4vTu7#vbEJu9Y`#+Fjf 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 Date: Sat, 5 Dec 2020 22:00:03 +0100 Subject: [PATCH 19/73] fixes --- LICENSE | 2 +- katrain/core/game.py | 2 +- katrain/gui.kv | 2 +- katrain/i18n/locales/en/LC_MESSAGES/katrain.po | 2 +- katrain/img/Finish.png | Bin 0 -> 2995 bytes katrain/img/swap.png | Bin 7482 -> 0 bytes 6 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 katrain/img/Finish.png delete mode 100644 katrain/img/swap.png diff --git a/LICENSE b/LICENSE index 5690eb2..a652d7a 100644 --- a/LICENSE +++ b/LICENSE @@ -6,7 +6,7 @@ For on related licenses for these binaries and libraries see https://github.com/ 2. Icons from www.flaticon.com, used with permission with the following attributions: - Equalize icon and Thrash Icon: derived from work by bqlqn from www.flaticon.com - Local search icon, Insert icon: derived from work by Pixel Perfect from www.flaticon.com -- Other Menu icons and Flag icons: derived from work by Freepik from www.flaticon.com +- Other Menu icons, Finish, and Flag icons: derived from work by Freepik from www.flaticon.com - Collapse branch icon: derived from work by Kirill Kazachek from www.flaticon.com 3. The True Type Font DIGITAL-7 version 1.02 by Sizenko Alexander, which is free for non-commercial use. diff --git a/katrain/core/game.py b/katrain/core/game.py index 00b1ad9..ea886bb 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -554,7 +554,7 @@ class Game: analyze_and_play_policy(new_node) self.engines[node.next_player].request_analysis( - new_node, callback=set_analysis, visits=1, + new_node, callback=set_analysis, priority=-1000, analyze_fast=True, ) threading.Thread(target=analyze_and_play_policy, args=(cn,), daemon=True).start() diff --git a/katrain/gui.kv b/katrain/gui.kv index 1613850..29adef8 100644 --- a/katrain/gui.kv +++ b/katrain/gui.kv @@ -780,7 +780,7 @@ on_action: root.katrain("ai-move") AnalysisMenuItem: text: i18n._("analysis:playtoend") - icon: 'img/ai.png' + icon: 'img/Finish.png' shortcut: 'l' on_action: root.katrain("play-to-end") diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po index 3663e67..eed3f21 100644 --- a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po @@ -125,7 +125,7 @@ msgstr "Fast playout to game end" #. Status message msgid "playtoend:status" msgstr "" -"Playing game to the end with policy strategy, please wait ... {num_moves} " +"Playing the game quickly to the end, please wait ... {num_moves} moved played." "moves played." #. Keep improving current position analysis when there is nothing else to do diff --git a/katrain/img/Finish.png b/katrain/img/Finish.png new file mode 100644 index 0000000000000000000000000000000000000000..e7397a429b768762c34d09ad6da2f24b2726af09 GIT binary patch literal 2995 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 B-|hea From a3815cb47a8e26688b395aa7260f9a24de7ef3f8 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Sun, 6 Dec 2020 14:20:23 +0100 Subject: [PATCH 20/73] new game fix --- README.md | 7 +++- katrain/__main__.py | 1 + katrain/core/game.py | 9 ++++- katrain/gui.kv | 10 +++--- katrain/gui/popups.py | 33 ++++++++++++++---- katrain/gui/widgets/movetree.py | 2 +- .../i18n/locales/de/LC_MESSAGES/katrain.mo | Bin 16373 -> 16377 bytes .../i18n/locales/de/LC_MESSAGES/katrain.po | 4 +-- .../i18n/locales/en/LC_MESSAGES/katrain.mo | Bin 15635 -> 15652 bytes .../i18n/locales/en/LC_MESSAGES/katrain.po | 6 ++-- .../i18n/locales/es/LC_MESSAGES/katrain.mo | Bin 15769 -> 15773 bytes .../i18n/locales/es/LC_MESSAGES/katrain.po | 4 +-- .../i18n/locales/fr/LC_MESSAGES/katrain.mo | Bin 17476 -> 17480 bytes .../i18n/locales/fr/LC_MESSAGES/katrain.po | 4 +-- .../i18n/locales/jp/LC_MESSAGES/katrain.mo | Bin 17877 -> 17881 bytes .../i18n/locales/jp/LC_MESSAGES/katrain.po | 4 +-- .../i18n/locales/ko/LC_MESSAGES/katrain.mo | Bin 17409 -> 17413 bytes .../i18n/locales/ko/LC_MESSAGES/katrain.po | 4 +-- .../i18n/locales/ru/LC_MESSAGES/katrain.mo | Bin 22199 -> 22203 bytes .../i18n/locales/ru/LC_MESSAGES/katrain.po | 4 +-- katrain/popups.kv | 1 + 21 files changed, 63 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 260810c..1ec51f6 100644 --- a/README.md +++ b/README.md @@ -166,7 +166,9 @@ Keyboard shortcuts are shown with **[key]**. * **[s]**: Equalize visits: Re-evaluate all currently shown next moves with the same visits as the current top move. Useful to increase confidence in the suggestions with high uncertainty. * **[d]**: Analyze all moves: Evaluate all possible next moves. This can take a bit of time even though 'fast_visits' is used, but can be useful to see how many reasonable next moves are available. * **[f]**: Find alternatives: Increases analysis of current candidate moves to at least the 'fast visits' level, and request a new query that excludes all current candidate moves. - * **[g]**: Find local responses: Searches within 5 spaces of the last move only. + * **[g]**: Select area of interest: set an area and search only for moves in this box, including variations. Good for solving tsumegos. + * **[i]**: Start insertion mode. Allows you to insert moves, to improve analysis when both players ignore an important exchange or life and death situation. Press again to stop inserting and copy the rest of the branch. + * **[l]**: Play out the game until the end and add as a collapsed branch, to visualize the potential effect of mistakes. This is done in the background, and can be started at several nodes at once when comparing the results at different starting positions. * **[spacebar]**: Turn continuous analysis on/off. This will continuously improve analysis of the current position, similar to Lizzie's 'pondering', but only when there are no other queries going on. * **[enter]** AI move. Makes the AI move for the current player regardless of current player selection. @@ -182,6 +184,9 @@ In addition to shortcuts mentioned above and those shown in the main menu: * **[arrow right]** or **[x]**: Redo move. Hold alt for 10 moves at a time, or ctrl to skip to the end. * **[arrow up/down]** Switch branch, as would be expected from the move tree. * **[home/end]** Go to the beginning/end of the game. +* **[pageup]** Make the currently selected node the main branch +* **[ctrl-delete]** Delete current node. +* **[c]** Collapse/Uncollapse the branch from the current node to the previous branching point. * **[b]** Go back to the previous branching point. * **[n]** As in clicking the red arrow, go to one move before the next mistake (orange or worse) by a human player. * **[scroll up]**: Undo move. Only works when hovering the cursor over the board. diff --git a/katrain/__main__.py b/katrain/__main__.py index 01b1493..a504100 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -339,6 +339,7 @@ class KaTrainGui(Screen, KaTrainBase): ).__self__ self.new_game_popup.content.popup = self.new_game_popup self.new_game_popup.open() + self.new_game_popup.content.update_from_current_game() def _do_timer_popup(self): self.controls.timer.paused = True diff --git a/katrain/core/game.py b/katrain/core/game.py index ea886bb..23e9695 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -535,18 +535,25 @@ class Game: def analyze_and_play_policy(node): nonlocal count, cn cand = node.candidate_moves + if self.katrain.game is not self: + return # a new game happened if cand: move = Move.from_gtp(cand[0]["move"], player=node.next_player) else: polmoves = node.policy_ranking move = polmoves[0][1] if polmoves else Move(None) + if move.is_pass: - cn.add_shortcut(node) self.set_current_node(node) self.katrain.controls.set_status("", STATUS_INFO) return count += 1 new_node = GameNode(parent=node, move=move) + if node != cn: + node.remove_shortcut() + cn.add_shortcut(new_node) + self.katrain.controls.move_tree.redraw_tree_trigger() + self.katrain.controls.set_status(i18n._("playtoend:status").format(num_moves=count), STATUS_INFO) def set_analysis(result, _partial): diff --git a/katrain/gui.kv b/katrain/gui.kv index 29adef8..8bf7ce7 100644 --- a/katrain/gui.kv +++ b/katrain/gui.kv @@ -763,6 +763,11 @@ icon: 'img/insert.png' shortcut: 'i' on_action: root.katrain("insert-mode") + AnalysisMenuItem: + text: i18n._("analysis:playtoend") + icon: 'img/Finish.png' + shortcut: 'l' + on_action: root.katrain("play-to-end") AnalysisMenuItem: text: i18n._("analysis:game") icon: 'img/analysis.png' @@ -778,11 +783,6 @@ icon: 'img/ai.png' shortcut: 'enter' on_action: root.katrain("ai-move") - AnalysisMenuItem: - text: i18n._("analysis:playtoend") - icon: 'img/Finish.png' - shortcut: 'l' - on_action: root.katrain("play-to-end") : diff --git a/katrain/gui/popups.py b/katrain/gui/popups.py index d9947fb..d6a1329 100644 --- a/katrain/gui/popups.py +++ b/katrain/gui/popups.py @@ -35,7 +35,6 @@ from katrain.core.lang import i18n, rank_label from katrain.core.utils import PATHS, find_package_resource from katrain.gui.kivyutils import BackgroundMixin, I18NSpinner from katrain.gui.style import DEFAULT_FONT, EVAL_COLORS -from katrain.gui.widgets import RankGraph from katrain.gui.widgets.progress_loader import ProgressLoader @@ -249,14 +248,35 @@ class NewGamePopup(QuickConfigGui): self.player_setup.update_player_info(bw, info) self.rules_spinner.value_refs = [name for abbr, name in katrain.engine.RULESETS_ABBR] + Clock.schedule_once(self.update_from_current_game, 0.1) - def update_playerinfo(self): + def normalized_rules(self): + rules = self.katrain.game.root.get_property("RU", "japanese").strip().lower() + for abbr, name in self.katrain.engine.RULESETS_ABBR: + if abbr==rules or abbr==rules: + return name + + + def update_playerinfo(self,*args): for bw, player_setup in self.player_setup.players.items(): name = self.player_name[bw].text if name: self.katrain.game.root.set_property("P" + bw, name) self.katrain.update_player(bw, **player_setup.player_type_dump) + def update_from_current_game(self): + for bw in "BW": + name = self.katrain.game.root.get_property("P" + bw, None) + if name: + self.player_name[bw].text = name + komi = self.katrain.game.root.komi + rules = self.normalized_rules() + if komi is not None: + self.km.text = str(komi) + if rules is not None: + self.rules_spinner.select_key(rules.strip()) + + def update_config(self, save_to_file=True): super().update_config(save_to_file=save_to_file) self.katrain.log(f"New game settings: {self.katrain.config('game')}", OUTPUT_DEBUG) @@ -270,14 +290,13 @@ class NewGamePopup(QuickConfigGui): props = self.collect_properties(self) root = self.katrain.game.root changed = False - for k, v in [("RU", props["game/rules"]), ("KM", props["game/komi"])]: - current = root.get_property(k) - if current != v: + for k, currentval, newval in [("RU",self.normalized_rules(), props["game/rules"]), ("KM", root.komi, props["game/komi"])]: + if currentval !=newval: changed = True self.katrain.log( - f"Property {k} changed from {current} to {v}, triggering re-analysis of entire game.", OUTPUT_INFO + f"Property {k} changed from {currentval} to {newval}, triggering re-analysis of entire game.", OUTPUT_INFO ) - self.katrain.game.root.set_property(k, v) + self.katrain.game.root.set_property(k, newval) self.update_playerinfo() if changed: self.katrain.engine.on_new_game() diff --git a/katrain/gui/widgets/movetree.py b/katrain/gui/widgets/movetree.py index ca36e0a..99d1728 100644 --- a/katrain/gui/widgets/movetree.py +++ b/katrain/gui/widgets/movetree.py @@ -227,7 +227,7 @@ class MoveTree(ScrollView, BackgroundMixin): super().__init__(**kwargs) self.insert_node = None self.redraw_tree_trigger = Clock.create_trigger( - lambda _dt: self.move_tree_canvas.draw_move_tree(self.current_node, self.insert_node) + lambda _dt: self.move_tree_canvas.draw_move_tree(self.current_node, self.insert_node), 0.1 ) self.bind(current_node=self.redraw_tree_trigger, size=self.redraw_tree_trigger) diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo index a848e1544b71ced713072c535315fbd14d31c9c0..6118c3947016741a938db41f598dd75bbaff33e7 100644 GIT binary patch delta 443 zcmXZY%_~Gv7{~EvGTz3_c#G0xI)?JnxTVz8b&W_$7WQVL$-N=hTa7fUW9JWGq3p?u zjIy?3X<;YhudukX@O_xo=bY!%@Aq`RY-H~ileQ!x_pZnQrf2>g!#3^M+RE>j0t?j7``|Bz$xyZ7{~5e zkyh+SEzDvPCoqi#)Vw9syj2{*H5@0{Hs&`)E7HruLs6s;UoeAp)D6E;H%`onG~pmN z;}GhPjG`7fsEZXaiymrD35W3*wdWF-@fKx13{CAR73DLPt-x%ScLQ^Hw7sztR!wE! Y=q%Xt&+2Zj-8Tnexf=LR?Z=Jczqg1#0{{R3 delta 442 zcmXZY(JMn?7{~EPj$wAt9x|iMru8>c){Zk$z0z z0M4NPND8%R0d=t~&SDNVr-UhNqV`Ln4%fmkz3t_!ZGsk%-t#7&HcH+LyLz{R)-54$2?~A*3XN z7{p*ONV?!Zun{B{BC%TxmJYrrebeXMbKgDZ-1`c-tK994Bj2c$8Vo4q#7VSc1l<@z z53XV@?qLg_poT?k!&h|SFZQA(s8k*HqYuYW>ZQt;pvo&N!7hnP+{Y?B!Z|#{ zCj3Jg#2qT{`>~UCFUq+HI&dCkkhHmPUsDb;{8C$vfVnWxZvKf7~I2xF>w5}y}EfHPNwUultmd+U3+L9(YeKB5m2zu>tZ8;M)^mupi IJs7tA14KPj+5i9m delta 593 zcmXZZ&nts*9KiAK7{+X(Fgw`O^0OQ$*@jZ26gfDIM`~%|R zpmyPcq+GbTE2mwSgL0ze{mFBBeLmms^Zk53-_LWFEo84Qou)%6H55>)9>=g2XRrao z*oG@uhdK0O9yL72c6>q?marec(2bozrMhttrQQ1O`#KKQ5spa_T$(^euDC_Yis=h{p974Np}S9VWpaI0;ND0 zrC=1L^EAq&a%jUt%RCN{AECVL4r}lcrLkv}$-Sb~eY4ifDD^%~0w2LQzN2^Ke>6WR z2OOhHHDilqA4)^xC=JhHCF&>_CQv4rLb+fIr7;ub`#qHNr|7}P3j+BU_c)0!#T(at xZ*e-XVC#rQR&~utX+~Vv^tGtAoiO5BI+aW;XS7XYBVy>WOyM@@FMb3A_CJ6SP@ez* diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po index eed3f21..286c85b 100644 --- a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po @@ -11,7 +11,7 @@ msgid "menu:playersetup" msgstr "Player Setup" msgid "menu:newgame" -msgstr "New Game" +msgstr "New Game/Change Rules" msgid "menu:save" msgstr "Save Game" @@ -125,8 +125,8 @@ msgstr "Fast playout to game end" #. Status message msgid "playtoend:status" msgstr "" -"Playing the game quickly to the end, please wait ... {num_moves} moved played." -"moves played." +"Playing the game quickly to the end, please wait ... {num_moves} moved " +"played.moves played." #. Keep improving current position analysis when there is nothing else to do msgid "analysis:continuous" diff --git a/katrain/i18n/locales/es/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/es/LC_MESSAGES/katrain.mo index f36f7d93956541035c988d5810ef08587d062e1c..139dbc976040fc6c55f513db82a9ddd78584af00 100644 GIT binary patch delta 443 zcmXZYy-Px26vy!sS{Z3CMm0$AAPrIAB-G8@PzX_b5j9EolF{uA3=)Ss1hure=-|-g zD%ctkjczRwZT$fbO$|YP5BHfq{Lb^7^Sm@`ty-s;3=c%abwo1Qz&U)xA$-Fue%Snr zW8~PXND9-qfCh88g}Q!?%Xo*{|BQM3!ZgknqJ4`62_-?np)iaaIEvdifV|{qga}kuPzL)FXI#cm~dAdLd delta 442 zcmXZYyGz4R6vy!+#s}E6qUfT+rHBZEI4Bw$MZw3ch>lV;w1sFz15!F<=;EY7+ zs0V(b{?Iq-MSc^lm3Y66+HVr)aFD!)+qi?W?)#?oV%KIS3;7ez1Z5KxJ>#7oo6AyA aG-qYMbW|}H!FfLL3YFVKC)>JqGS)u{W*(PHj^i~>;1~AbAC6+i7s=r?&fzNdVjUBB>Psx`6z2@6m+0aZI(Tn=zc$r8x?h`}C6OdKY4uRg>&G-^u^Y#5z~O<|M_w+*BApZ)MJBL7rY#K(Ezu}-QQ?+R7epNH;3BR;L$x#o zK~NdBML|$o^bfQ&yR-!beIL5Z`JCT*ea?ApS$2o>QtHer8jhcrFwA1BF^Zo&W#< diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po index 3d1aae3..10f99d3 100644 --- a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po @@ -851,5 +851,5 @@ msgstr "Fast playout to game end" #. TODO - Status message msgid "playtoend:status" msgstr "" -"Playing game to the end with policy strategy, please wait ... {num_moves} " -"moves played." +"Playing the game quickly to the end, please wait ... {num_moves} moved " +"played.moves played." diff --git a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.mo index 936768313de0cf9c69d6578c3a9fb2edfb07fe53..6d6ff7c02fbfeba5da20f20eb4eb84964cda2f3d 100644 GIT binary patch delta 445 zcmXZYyGsK>5XbR3dwdJh)Aj{EG$xrg_Zw6 z3L#*TM(njrk-}C%u&}WAJKk2Got@d=?QN&wbQ{j2pN{uMq_ZwEhOQ?vj@#Iehd762 zOyM1-@c}c~#93_PGJfJHP8CG5=vw!1k@^a?-$c!ME=c^pc(of{)DM4P4}M#JaEbcY z_H!G_Tpl%O)w+d4)VsD{vYw#+U={O@$PMa6+J2lIc=MB>chtcz)F9bR28VHgat8Y_ zhk8*L2XO`Ug*+U=9n|v&sCgCZHLg+Lqj*tdS}&Q&g^AixXv)P(XsVaTrPHWxYUf7x X!n5Gk@v^DFTtvls7|ge(y{Fzki8en^ delta 444 zcmXZYKTE?v7{~D^_#awCK@brCJY-}X#99 z)Qh?}jRn*f+QvEDL*0LbnipDQ+@ZchDL0#D@SI)VT&-7Ifr;8CY6K=YKQ&ij)G!zA XW?1W*PIOs~f_nG%r<5Dy%a7xKJPttj diff --git a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po index 33ee94f..fd8ddae 100644 --- a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po @@ -808,5 +808,5 @@ msgstr "Fast playout to game end" #. TODO - Status message msgid "playtoend:status" msgstr "" -"Playing game to the end with policy strategy, please wait ... {num_moves} " -"moves played." +"Playing the game quickly to the end, please wait ... {num_moves} moved " +"played.moves played." diff --git a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.mo index aa42ac63ec686f6a32f0fe853c9a5b0f6ac82bb0..f9931259fe4d92de54c1fe7fff748770d181b1ac 100644 GIT binary patch delta 445 zcmXZYy-EX75QgCi%c_wC{{o7!IBaJlA~uSwNwo0_EDS=(E-G37LIk&vC7_Zz7FJ$? zjS#T03PQj>wUSE^wbpmcDVAry8P1&HG+U{gR_bXxlkADey)QD2Uzo#@O+L)y8hSRD zQTtWQ;w7%*Ef%qhljsygb})w??&B&pQSW)iaeOOC^8eGPFh$`5b?_%T_-l2TUM7#C zE*4m8);j9I81?+M&25_>aGv@jeq+z}UrNdFK(8c{q0z?~9N+~0pl3HqW^oB~ zHgBQn?_vryF5?9j@d?w|!*xs-MDnxn=VWPEo(bAMDuvLn-QC=#)f~G`cu}Z#atIXf}?m_7}=v zf;@?4ksJ=;EDqxwnn8qT% ZtD{;_*$>sRuDjav!>dOp-~Mo>6Mq!NLOcKf diff --git a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po index 5d2bd99..c04f90b 100644 --- a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po @@ -778,5 +778,5 @@ msgstr "Fast playout to game end" #. TODO - Status message msgid "playtoend:status" msgstr "" -"Playing game to the end with policy strategy, please wait ... {num_moves} " -"moves played." +"Playing the game quickly to the end, please wait ... {num_moves} moved " +"played.moves played." diff --git a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.mo index 852ca806a96b61e200bedbb7c7f2dc93d1da37f3..951f6ccb1f2b7020e038a7e00f8afff3b61b4371 100644 GIT binary patch delta 445 zcmXZX&npCB7{Kvow*0DHv}BXywdKIU!IF#1)E+49T84|$GP7uhUA5Gl)=7zyq?|-< zYNYnypp>LsxbH#9$seFZiSKLY^m(7B=Xu`ex%Q14-?&PK%kv`gloE+!e_AAglh}+~ zIDz{?T*Xe}cZ^_YN@NsUaTdq12TyPTZ&A(R5~Jv0H|}Mm{QtNh5hL-4ZTN~I z{0RKSJn=U+Vs2Wb0}H4Z-A3Ji6zHR_dq6$!8OQJq&kdHGsU31}m1`TnSRx}7{NNBK zIHv`37{yJbPj;{lcd;H1P=9ocVLZbDyu?1NqKUt#=a_TML<_}qT~)b@w3}U}Wk)S# lR~@y!v9g$VJyj|wopaXg!>?4l$yP-->pAvdC6+#I_yY&`N>=~? delta 444 zcmXZX&nrYx6u|NGlpl*X)DTJ2+$OWJQGR4Yc{K|*^Mk>9hG%A)$7nohO1)B|WFb~! zr4%)#W}#SU%1T+zLdnV>Fr}1~e6N|+=bqC!=brOWHtx#CZN&7JMC2tZ62fpyWE5wx z6L)YH51Vlf`-wl$hrc+1W?WOidfqcm;yYd%A_Mb{Lmrb}W8>GP$T$Vx zID*5R(}ijDV-e|-J#58&Y{MheADyC!7dV7B7{(e}_=9@R)S}2L#!)QCQI)E%#~RF} p)@ diff --git a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po index 773c3ba..9955655 100644 --- a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po @@ -814,5 +814,5 @@ msgstr "Fast playout to game end" #. TODO - Status message msgid "playtoend:status" msgstr "" -"Playing game to the end with policy strategy, please wait ... {num_moves} " -"moves played." +"Playing the game quickly to the end, please wait ... {num_moves} moved " +"played.moves played." diff --git a/katrain/popups.kv b/katrain/popups.kv index f02c488..b432345 100644 --- a/katrain/popups.kv +++ b/katrain/popups.kv @@ -375,6 +375,7 @@ : restart: restart rules_spinner: rules_spinner + km: km player_setup: player_setup player_name: {"W": white_player_name, "B": black_player_name} PlayerSetupBlock: From 9b09e9b65d1cba0ea4be5bb7ae4af7f3ac7bbbfd Mon Sep 17 00:00:00 2001 From: Carton He Date: Sun, 6 Dec 2020 23:25:05 +0800 Subject: [PATCH 21/73] fix ValueError when converting empty string KM to float in sgf parser Some sgfs has "KM" property with empty value, this could cause ValueError exception. --- katrain/core/sgf_parser.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/katrain/core/sgf_parser.py b/katrain/core/sgf_parser.py index 7f284a4..5b03656 100644 --- a/katrain/core/sgf_parser.py +++ b/katrain/core/sgf_parser.py @@ -192,7 +192,12 @@ class SGFNode: @property def komi(self) -> float: """Retrieves the root's KM property, or 6.5 if missing""" - return float(self.root.get_property("KM", 6.5)) + try: + km = float(self.root.get_property("KM", 6.5)) + except ValueError: + km = 6.5 + + return km @property def ruleset(self) -> str: From b3ee899ec482f169335c9db407d02c08c78458aa Mon Sep 17 00:00:00 2001 From: Sander Land Date: Sun, 6 Dec 2020 23:06:55 +0100 Subject: [PATCH 22/73] player name save/load,komi --- katrain/__main__.py | 5 +++-- katrain/core/game.py | 6 +++--- katrain/core/game_node.py | 2 +- katrain/gui/popups.py | 4 +--- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/katrain/__main__.py b/katrain/__main__.py index a504100..80608a3 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -64,7 +64,7 @@ from katrain.core.constants import ( STATUS_ERROR, STATUS_INFO, PLAYING_NORMAL, - PLAYER_HUMAN, + PLAYER_HUMAN, SGF_INTERNAL_COMMENTS_MARKER, ) from katrain.gui.popups import ConfigTeacherPopup, ConfigTimerPopup, I18NPopup, SaveSGFPopup from katrain.core.base_katrain import KaTrainBase @@ -217,7 +217,8 @@ class KaTrainGui(Screen, KaTrainBase): def update_player(self, bw, **kwargs): super().update_player(bw, **kwargs) if self.game: - self.players_info[bw].name = self.game.root.get_property("P" + bw) + sgf_name = self.game.root.get_property("P" + bw) + self.players_info[bw].name = None if SGF_INTERNAL_COMMENTS_MARKER in sgf_name else sgf_name if self.controls: self.controls.update_players() self.update_state() diff --git a/katrain/core/game.py b/katrain/core/game.py index 23e9695..f995d12 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -20,7 +20,7 @@ from katrain.core.constants import ( STATUS_ERROR, STATUS_INFO, STATUS_TEACHING, - VERSION, + VERSION, SGF_INTERNAL_COMMENTS_MARKER, ) from katrain.core.engine import KataGoEngine from katrain.core.game_node import GameNode @@ -399,7 +399,7 @@ class Game: x_properties = {} if PROGRAM_NAME in self.root.get_property("AP", ""): for bw in "BW": - x_properties["P" + bw] = player_name(self.katrain.players_info[bw]) + x_properties["P" + bw] = player_name(self.katrain.players_info[bw]) + SGF_INTERNAL_COMMENTS_MARKER player_info = self.katrain.players_info[bw] if player_info.player_type == PLAYER_AI: x_properties[bw + "R"] = rank_label(player_info.calculated_rank) @@ -407,7 +407,7 @@ class Game: x_properties["RE"] = self.end_result x_properties["KTV"] = ANALYSIS_FORMAT_VERSION self.root.properties = {**root_properties, **{k: [v] for k, v in x_properties.items()}} - player_names = {bw: re.sub(r"['<>:\"/\\|?*]", "", self.root.get_property("P" + bw, bw)) for bw in "BW"} + player_names = {bw: re.sub(r"[\u200b\u3164'<>:\"/\\|?*]", "", self.root.get_property("P" + bw, bw)) for bw in "BW"} base_game_name = f"{PROGRAM_NAME}_{player_names['B']} vs {player_names['W']}" return f"{base_game_name} {self.game_id}.sgf" diff --git a/katrain/core/game_node.py b/katrain/core/game_node.py index c3995ba..c5b057c 100644 --- a/katrain/core/game_node.py +++ b/katrain/core/game_node.py @@ -136,7 +136,7 @@ class GameNode(SGFNode): comments = [ i18n._("SGF start message") + SGF_INTERNAL_COMMENTS_MARKER + "\n", *comments, - f"\nSGF with generated by {PROGRAM_NAME} {VERSION}{SGF_INTERNAL_COMMENTS_MARKER}.\n", + f"\nSGF generated by {PROGRAM_NAME} {VERSION}{SGF_INTERNAL_COMMENTS_MARKER}\n", ] if self.shortcut_from: properties["KTSF"] = [id(self.shortcut_from)] diff --git a/katrain/gui/popups.py b/katrain/gui/popups.py index d6a1329..27d8a8e 100644 --- a/katrain/gui/popups.py +++ b/katrain/gui/popups.py @@ -269,10 +269,8 @@ class NewGamePopup(QuickConfigGui): name = self.katrain.game.root.get_property("P" + bw, None) if name: self.player_name[bw].text = name - komi = self.katrain.game.root.komi rules = self.normalized_rules() - if komi is not None: - self.km.text = str(komi) + self.km.text = str(self.katrain.game.root.komi) if rules is not None: self.rules_spinner.select_key(rules.strip()) From 251344c5a054da572e02e883eb664a7cc5529d32 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Mon, 7 Dec 2020 13:33:08 +0100 Subject: [PATCH 23/73] fixes --- i18n.py | 24 ++++++++++-------- katrain/__main__.py | 3 ++- katrain/core/game.py | 9 ++++--- katrain/gui/popups.py | 18 +++++++------ .../i18n/locales/de/LC_MESSAGES/katrain.mo | Bin 16377 -> 16364 bytes .../i18n/locales/de/LC_MESSAGES/katrain.po | 4 +-- .../i18n/locales/en/LC_MESSAGES/katrain.mo | Bin 15652 -> 15639 bytes .../i18n/locales/en/LC_MESSAGES/katrain.po | 4 +-- .../i18n/locales/es/LC_MESSAGES/katrain.mo | Bin 15773 -> 15760 bytes .../i18n/locales/es/LC_MESSAGES/katrain.po | 4 +-- .../i18n/locales/fr/LC_MESSAGES/katrain.mo | Bin 17480 -> 17467 bytes .../i18n/locales/fr/LC_MESSAGES/katrain.po | 4 +-- .../i18n/locales/ko/LC_MESSAGES/katrain.mo | Bin 17413 -> 17400 bytes .../i18n/locales/ko/LC_MESSAGES/katrain.po | 4 +-- .../i18n/locales/ru/LC_MESSAGES/katrain.mo | Bin 22203 -> 22190 bytes .../i18n/locales/ru/LC_MESSAGES/katrain.po | 4 +-- 16 files changed, 44 insertions(+), 34 deletions(-) diff --git a/i18n.py b/i18n.py index e9be731..51288e0 100644 --- a/i18n.py +++ b/i18n.py @@ -101,14 +101,18 @@ for lang in locales: print("Fixed", pofile[lang], "and converted ->", mofile) -for file in glob.glob("**/*.py") + glob.glob("**/*.kv"): - with open(file, "r") as f: - for i, line in enumerate(f.readlines()): - matches = [m.strip() for m in re.findall(r"i18n._\((.*?)\)", line)] - for msgid in matches: - stripped_msgid = msgid.strip("\"'") - if stripped_msgid and msgid[0] in ['"', "'"] and stripped_msgid not in strings_to_langs: # not code - print(f"Missing {msgid} used in code at \t{file}:{i} \t'{line.strip()}'") - errors += 1 - +for ext in ["py", "kv"]: + lc = 0 + for file in glob.glob(f"katrain/*.{ext}") + glob.glob(f"katrain/**/*.{ext}"): + with open(file, "r") as f: + for i, line in enumerate(f.readlines()): + if line.strip(): + lc += 1 + matches = [m.strip() for m in re.findall(r"i18n._\((.*?)\)", line)] + for msgid in matches: + stripped_msgid = msgid.strip("\"'") + if stripped_msgid and msgid[0] in ['"', "'"] and stripped_msgid not in strings_to_langs: # not code + print(f"Missing {msgid} used in code at \t{file}:{i} \t'{line.strip()}'") + errors += 1 + print(f"Checked {lc} lines of {ext} code for missing i18n entries.") sys.exit(int(errors)) diff --git a/katrain/__main__.py b/katrain/__main__.py index 80608a3..21161ff 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -64,7 +64,8 @@ from katrain.core.constants import ( STATUS_ERROR, STATUS_INFO, PLAYING_NORMAL, - PLAYER_HUMAN, SGF_INTERNAL_COMMENTS_MARKER, + PLAYER_HUMAN, + SGF_INTERNAL_COMMENTS_MARKER, ) from katrain.gui.popups import ConfigTeacherPopup, ConfigTimerPopup, I18NPopup, SaveSGFPopup from katrain.core.base_katrain import KaTrainBase diff --git a/katrain/core/game.py b/katrain/core/game.py index f995d12..0021351 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -20,7 +20,8 @@ from katrain.core.constants import ( STATUS_ERROR, STATUS_INFO, STATUS_TEACHING, - VERSION, SGF_INTERNAL_COMMENTS_MARKER, + VERSION, + SGF_INTERNAL_COMMENTS_MARKER, ) from katrain.core.engine import KataGoEngine from katrain.core.game_node import GameNode @@ -407,7 +408,9 @@ class Game: x_properties["RE"] = self.end_result x_properties["KTV"] = ANALYSIS_FORMAT_VERSION self.root.properties = {**root_properties, **{k: [v] for k, v in x_properties.items()}} - player_names = {bw: re.sub(r"[\u200b\u3164'<>:\"/\\|?*]", "", self.root.get_property("P" + bw, bw)) for bw in "BW"} + player_names = { + bw: re.sub(r"[\u200b\u3164'<>:\"/\\|?*]", "", self.root.get_property("P" + bw, bw)) for bw in "BW" + } base_game_name = f"{PROGRAM_NAME}_{player_names['B']} vs {player_names['W']}" return f"{base_game_name} {self.game_id}.sgf" @@ -536,7 +539,7 @@ class Game: nonlocal count, cn cand = node.candidate_moves if self.katrain.game is not self: - return # a new game happened + return # a new game happened if cand: move = Move.from_gtp(cand[0]["move"], player=node.next_player) else: diff --git a/katrain/gui/popups.py b/katrain/gui/popups.py index 27d8a8e..ccbf738 100644 --- a/katrain/gui/popups.py +++ b/katrain/gui/popups.py @@ -253,18 +253,17 @@ class NewGamePopup(QuickConfigGui): def normalized_rules(self): rules = self.katrain.game.root.get_property("RU", "japanese").strip().lower() for abbr, name in self.katrain.engine.RULESETS_ABBR: - if abbr==rules or abbr==rules: + if abbr == rules or abbr == rules: return name - - def update_playerinfo(self,*args): + def update_playerinfo(self, *args): for bw, player_setup in self.player_setup.players.items(): name = self.player_name[bw].text if name: self.katrain.game.root.set_property("P" + bw, name) self.katrain.update_player(bw, **player_setup.player_type_dump) - def update_from_current_game(self): + def update_from_current_game(self, *args): for bw in "BW": name = self.katrain.game.root.get_property("P" + bw, None) if name: @@ -274,7 +273,6 @@ class NewGamePopup(QuickConfigGui): if rules is not None: self.rules_spinner.select_key(rules.strip()) - def update_config(self, save_to_file=True): super().update_config(save_to_file=save_to_file) self.katrain.log(f"New game settings: {self.katrain.config('game')}", OUTPUT_DEBUG) @@ -288,11 +286,15 @@ class NewGamePopup(QuickConfigGui): props = self.collect_properties(self) root = self.katrain.game.root changed = False - for k, currentval, newval in [("RU",self.normalized_rules(), props["game/rules"]), ("KM", root.komi, props["game/komi"])]: - if currentval !=newval: + for k, currentval, newval in [ + ("RU", self.normalized_rules(), props["game/rules"]), + ("KM", root.komi, props["game/komi"]), + ]: + if currentval != newval: changed = True self.katrain.log( - f"Property {k} changed from {currentval} to {newval}, triggering re-analysis of entire game.", OUTPUT_INFO + f"Property {k} changed from {currentval} to {newval}, triggering re-analysis of entire game.", + OUTPUT_INFO, ) self.katrain.game.root.set_property(k, newval) self.update_playerinfo() diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo index 6118c3947016741a938db41f598dd75bbaff33e7..4e7a84e65615a1a03c28235aee60f903921fde59 100644 GIT binary patch delta 401 zcmXZYJxhX77{>8Se9B%lO>HPq(p-{E0uxGmqHt-@!H*G6y0x6KA#gXET7ss?EvIN` zi}Z8YR)d4k|1PKBIro97!H!y^MLe8Clb!vKEF{lo+AWAxBFkwUnPR=AE~ zOye3B(DIJZ^3E}j4csNTGoRo2PD=3b;7c1g#1xLuHvB@{c!oiYok|OsMEj8~w4yB9 iVg<}#2`#6IJ9vrK)58nAN1e6X+k@9gr8w}aKi)4}buHci delta 411 zcmXZYze_?<7{>8OvNH3U76}oF{eV*RLJ$dhGmHqLp*@EPY`a5SG@Um8frg;HXi73@ zcB-+#EvkQ@t;r_8Z#jL=c@I3#%lUSF*WOLIhNQ=eG>6IRziSxdzJnWhfMa-xDQuyK z*I2?^EMgBQF%n2VdborETFx;};}uTfT_E>&cxGUQFBr!+jNtpw4_xQ|g;7jzN#mG7 zE6id73z)<*THYR7-XX5w5#|YY!})#9Ni#e=)udT`#d-Wh+wd1{o*Uf92UI-_bDgfYS(<3(&cc(6)283~sq~`*i|aCP diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po index b956b6f..9a5ce8f 100644 --- a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po @@ -817,5 +817,5 @@ msgstr "Fast playout to game end" #. TODO - Status message msgid "playtoend:status" msgstr "" -"Playing the game quickly to the end, please wait ... {num_moves} moved " -"played.moves played." +"Playing the game quickly to the end, please wait ... {num_moves} moves " +"played." diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo index 2c3ffbf7f7e46ee4f489c02d98732212031b1289..f5d33c2bf7c098a3ec62ec43c3ba84dd3e36ac8a 100644 GIT binary patch delta 401 zcmXZYKS%;`7{>9}yvp<>2tt#{D3HJPOtb7n8r?0rebDaLeVv8fyQQE5YBu7QrULEynN;BY1Cozyfs-Ega!G zPEZef$2fkV4*oLv9Ch9Tv$(`h+$)RN_)`x48|;e6HbKUCjC#;H>ctI=;x+2R8`MA4 nMqS{e9@atqzKhx)Vj7=O7mo1^rzlm=+aJCrv-#n-Q?z~oY-=%S delta 411 zcmXZYy-Px26vy#XYH3~(0!b&u!3rS?9DE&u{0nrEhLDVg?$DCpU2aXSIfRhmAPtUz zi)&+BB5o#vduxkB-;>Yu;ryO^Ubr3S&3Qkw+;b7>W<~b!7h@RCiEQB^9^f(hu!cdr zz!2V;_ZFt8`xwAalTR>7y}}H}^CG)gMeV=Ni~B$Djv!3%fPQS_2EG_y@r1gEUi`vs zoT47~jXStR9sFbR73#dr0?RRo3rwShR?%HI#EK#jf_-BN^`Hvs#h2*8Ch9^5^$*>n vE_g&e>+1csvZ8&?5dR-B59g!@KFo&Obg&Qp3&csKI6aQlj zLp6~irm%u8>Uj@s9H7>J;RF6)5^w6ky^Ye9VRhmzngmnh7S}|Av delta 411 zcmXZYze@sf7{~D^v{bq)Q>-C^BO0W@NwCvvFodYRh?;_HyP;7Lxv`}oXwkvJ$yLxb zOd4-%iD>H&aA;}}^8Ik%>BZ;yexK+2d zC#oVg=CFtkmhc>Py@?fkMD3qq8GkT`JGFS+8ru`p>;1p*cZF$Ba) z5Yvb+;2YT32}xri_#NEpv%lS$-C@@~Yu>Yd>Q`PvM3!Zd1UeOwH0CgjF5cs_$sJ6Q zyJ+JZ=I|5qxW;ST;~n~3kt}BM0iQ6AT?}B~6;FaJUfEFJ@e)7K!Y|_(i{uGv;}*4U zXYxOW$OofT&-aBf!oH0$OyaG@(0D^G)jW|Xi)M`jY@rr*(7_kfi3jM%A?lzb)Ca%u j0%xc{wm|J)88^l)>L7pkh({E+-OfyZ?RsGvuM`6($sRGf delta 413 zcmXZYElYz@7{>AI;GEm^aX4R)Avi?TG(p8M5cjyJSPTY>7=#&wCs>zG+>#%_;4CIV zl%a?#Y7&g%7w{Xb*arS@IO%s^=iKMD-*KNE_mE8ZV@Yqj(i|?-r7~{f7#`pn9);|2 zp4`R=Z*T?gaTR}X3WvCe#aLRxb=<;3EMXfncooZQl%mUkd5ZA679yB}Ob!|Yw z3}Xjx@D)q=fic|U9r}tQS!`e)pHcUWF@W=;*#CzGjZ+#+)Q8vT#&6>u+tk0PL7Hq+ zAB|6_4_c`AUrgJ8zfgFJ%NW)~;_f)+t& zX>t+V9o)n}K~iX|@5wtnKJRx9_uRw%>4&=Sq48}rco30cN#q#6F@@o4K1^c)U6X65 z{W`|5g;&_a3QjSBR$1f@Q|RI&=J6Hvo=-f&d0B%0p9O^^g%#@H4O;kXw3uEaAD}Mg z8J~?!)PZf(^KT{(OdjDm^$*l!$Bb)1mTjtGQrg$h~Cx|h!3J6XbKz+3TML* zB5-n72%@P!KoEiu-1}aA%l+JQIOp7R`yK1GV|9-r-if3UM+!HKQW_6&1+TGyw|+dt z4dNe+;taF6RFcjyhe>?I8or^KyY5IC%wh~(+(OThH@`fQNRa5`8h&8_$G#K1BL2lN zR!^lk*3c|^gQox9_Zdyy2by^U%;Pt*noV0H5`e@D{ux-^UPB`J$VOyCKw zVKa>TI7R${ag3Cu9FF4_7BG#MxQBOW=FT|MGUhRfHJrwVBme)=CXpiXgcJCN5&R7O z!UN)O9L4H}G>M037ClANe;yj3se42-?*&)!9d9g_+#DS8;QE7&UtMX1f*)MMEa!}2 z6_a?3^yv(Tu#UsnLi5oD#_$>!u!D2hM;m|9%(1tbi7v|ayiD&t?%2^v=E&Qv?N=6i IiPF``A7Fq!lK=n! diff --git a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po index 9955655..c081e63 100644 --- a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po @@ -814,5 +814,5 @@ msgstr "Fast playout to game end" #. TODO - Status message msgid "playtoend:status" msgstr "" -"Playing the game quickly to the end, please wait ... {num_moves} moved " -"played.moves played." +"Playing the game quickly to the end, please wait ... {num_moves} moves " +"played." From 7d8cec3aedd8567b17cdfaaa1fc91ac58aab7850 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Mon, 7 Dec 2020 13:50:50 +0100 Subject: [PATCH 24/73] fix --- CONTRIBUTIONS.md | 22 +++++++----------- README.md | 6 ++--- katrain/__main__.py | 7 +++--- katrain/core/game.py | 19 +++++++++------ katrain/gui/badukpan.py | 7 +++++- katrain/gui/popups.py | 16 +++++++------ katrain/gui/widgets/movetree.py | 4 ++-- .../i18n/locales/cn/LC_MESSAGES/katrain.mo | Bin 14213 -> 14219 bytes .../i18n/locales/cn/LC_MESSAGES/katrain.po | 2 +- .../i18n/locales/de/LC_MESSAGES/katrain.mo | Bin 16377 -> 16383 bytes .../i18n/locales/de/LC_MESSAGES/katrain.po | 2 +- .../i18n/locales/en/LC_MESSAGES/katrain.mo | Bin 15652 -> 15658 bytes .../i18n/locales/en/LC_MESSAGES/katrain.po | 2 +- .../i18n/locales/es/LC_MESSAGES/katrain.mo | Bin 15773 -> 15779 bytes .../i18n/locales/es/LC_MESSAGES/katrain.po | 2 +- .../i18n/locales/fr/LC_MESSAGES/katrain.mo | Bin 17480 -> 17486 bytes .../i18n/locales/fr/LC_MESSAGES/katrain.po | 2 +- .../i18n/locales/jp/LC_MESSAGES/katrain.mo | Bin 17881 -> 17887 bytes .../i18n/locales/jp/LC_MESSAGES/katrain.po | 2 +- .../i18n/locales/ko/LC_MESSAGES/katrain.mo | Bin 17413 -> 17419 bytes .../i18n/locales/ko/LC_MESSAGES/katrain.po | 2 +- .../i18n/locales/ru/LC_MESSAGES/katrain.mo | Bin 22203 -> 22209 bytes .../i18n/locales/ru/LC_MESSAGES/katrain.po | 2 +- 23 files changed, 53 insertions(+), 44 deletions(-) diff --git a/CONTRIBUTIONS.md b/CONTRIBUTIONS.md index 0e06ce0..85b2c31 100644 --- a/CONTRIBUTIONS.md +++ b/CONTRIBUTIONS.md @@ -11,6 +11,14 @@ This is not enforced, and contributions with incorrect formatting will be accept ## Translations +### Contributing to an existing translation + +* Go [here](https://github.com/sanderland/katrain/blob/master/katrain/i18n/locales/) and locate the `.po` file for your language. + Alternatively, find the same file in the branch for the next version. +* Correct the relevant `msgstr` entries. + +### Adding a translation + Adding a translation requires making a new `.po` file with entries for that languages. * Copy the [English .po file](https://github.com/sanderland/katrain/blob/master/katrain/i18n/locales/en/LC_MESSAGES/katrain.po) @@ -19,19 +27,6 @@ Adding a translation requires making a new `.po` file with entries for that lang * The information at the top of the file should also not be translated. You can send me the resulting `.po` file and I will integrate it into the program. - -For those who have some python experience as well, you can: - -* Replicate the directory structure `katrain/i18n//LC_MESSAGES/katrain.po`. -* Run `python i18.py` which will generate the `.mo` files and check for any errors. -* Find `gui.kv` and add a button near the others: - ``` - LangButton: - icon: 'img/flags/flag-.png' - on_press: app.language = '' - ``` -* The language should now show up in the app. -* Pull request your changes to the latest minor version branch. # Contributors @@ -53,6 +48,7 @@ Many thanks to these additional authors: * "kaorahi" for bug fixes and SGF parser improvements. * "ajkenny84" for the red-green colourblind theme. * Lukasz Wierzbowski for the ability to paste urls for sgfs and helping fix alt-gr issues. +* Carton He for a fix to handling empty komi values in sgfs. ## Translators diff --git a/README.md b/README.md index 1ec51f6..7fa6f9a 100644 --- a/README.md +++ b/README.md @@ -177,15 +177,15 @@ Keyboard shortcuts are shown with **[key]**. In addition to shortcuts mentioned above and those shown in the main menu: * **[Shift]**: Open the main menu. -* **[~]** or **[ ` ]** or **[m]**: Cycles through more minimalistic UI modes. +* **[~]** or **[ ` ]** or **[f12]**: Cycles through more minimalistic UI modes. * **[p]**: Pass -* **[b]**: Pause/Resume timer +* **[pause]**: Pause/Resume timer * **[arrow left]** or **[z]**: Undo move. Hold alt for 10 moves at a time, or ctrl to skip to the start. * **[arrow right]** or **[x]**: Redo move. Hold alt for 10 moves at a time, or ctrl to skip to the end. * **[arrow up/down]** Switch branch, as would be expected from the move tree. * **[home/end]** Go to the beginning/end of the game. * **[pageup]** Make the currently selected node the main branch -* **[ctrl-delete]** Delete current node. +* **[Ctrl-delete]** Delete current node. * **[c]** Collapse/Uncollapse the branch from the current node to the previous branching point. * **[b]** Go back to the previous branching point. * **[n]** As in clicking the red arrow, go to one move before the next mistake (orange or worse) by a human player. diff --git a/katrain/__main__.py b/katrain/__main__.py index 80608a3..6989370 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -64,7 +64,8 @@ from katrain.core.constants import ( STATUS_ERROR, STATUS_INFO, PLAYING_NORMAL, - PLAYER_HUMAN, SGF_INTERNAL_COMMENTS_MARKER, + PLAYER_HUMAN, + SGF_INTERNAL_COMMENTS_MARKER, ) from katrain.gui.popups import ConfigTeacherPopup, ConfigTimerPopup, I18NPopup, SaveSGFPopup from katrain.core.base_katrain import KaTrainBase @@ -545,9 +546,9 @@ class KaTrainGui(Screen, KaTrainBase): self.nav_drawer.set_state("toggle") elif keycode[1] == "spacebar": self.toggle_continuous_analysis() - elif keycode[1] == "b" and ctrl_pressed: + elif keycode[1] in ["pause", "break", "f15"] and not ctrl_pressed: self.controls.timer.paused = not self.controls.timer.paused - elif keycode[1] in ["`", "~", "m"] and ctrl_pressed: + elif keycode[1] in ["`", "~", "f12"]: self.zen = (self.zen + 1) % 3 elif keycode[1] in ["left", "z"]: self("undo", 1 + (alt_pressed or shift_pressed) * 9 + (ctrl_pressed and not alt_pressed) * 999) diff --git a/katrain/core/game.py b/katrain/core/game.py index f995d12..ceab62f 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -20,7 +20,8 @@ from katrain.core.constants import ( STATUS_ERROR, STATUS_INFO, STATUS_TEACHING, - VERSION, SGF_INTERNAL_COMMENTS_MARKER, + VERSION, + SGF_INTERNAL_COMMENTS_MARKER, ) from katrain.core.engine import KataGoEngine from katrain.core.game_node import GameNode @@ -407,7 +408,9 @@ class Game: x_properties["RE"] = self.end_result x_properties["KTV"] = ANALYSIS_FORMAT_VERSION self.root.properties = {**root_properties, **{k: [v] for k, v in x_properties.items()}} - player_names = {bw: re.sub(r"[\u200b\u3164'<>:\"/\\|?*]", "", self.root.get_property("P" + bw, bw)) for bw in "BW"} + player_names = { + bw: re.sub(r"[\u200b\u3164'<>:\"/\\|?*]", "", self.root.get_property("P" + bw, bw)) for bw in "BW" + } base_game_name = f"{PROGRAM_NAME}_{player_names['B']} vs {player_names['W']}" return f"{base_game_name} {self.game_id}.sgf" @@ -507,7 +510,7 @@ class Game: priority = -1_000_000_000 elif mode in ["equalize", "alternative", "local"]: if not cn.analysis_complete and mode != "local": - self.katrain.controls.set_status(i18n._("wait-before-equalize"), STATUS_INFO, self.current_node) + self.katrain.controls.set_status(i18n._("wait-before-extra-analysis"), STATUS_INFO, self.current_node) return if mode == "alternative": # also do a quick update on current candidates so it doesn't look too weird self.katrain.controls.set_status(i18n._("alternative analysis"), STATUS_ANALYSIS) @@ -530,13 +533,14 @@ class Game: cn = self.current_node count = 0 if not cn.analysis_exists: + self.katrain.controls.set_status(i18n._("wait-before-extra-analysis"), STATUS_INFO, cn) return def analyze_and_play_policy(node): nonlocal count, cn cand = node.candidate_moves if self.katrain.game is not self: - return # a new game happened + return # a new game happened if cand: move = Move.from_gtp(cand[0]["move"], player=node.next_player) else: @@ -544,8 +548,9 @@ class Game: move = polmoves[0][1] if polmoves else Move(None) if move.is_pass: - self.set_current_node(node) - self.katrain.controls.set_status("", STATUS_INFO) + if self.current_node == cn: + self.set_current_node(node) + self.katrain.controls.set_status("", STATUS_INFO, cn) return count += 1 new_node = GameNode(parent=node, move=move) @@ -554,7 +559,7 @@ class Game: cn.add_shortcut(new_node) self.katrain.controls.move_tree.redraw_tree_trigger() - self.katrain.controls.set_status(i18n._("playtoend:status").format(num_moves=count), STATUS_INFO) + self.katrain.controls.set_status(i18n._("playtoend:status").format(num_moves=count), STATUS_INFO, cn) def set_analysis(result, _partial): new_node.set_analysis(result) diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index f1cd02a..4a610d0 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -502,6 +502,7 @@ class BadukPanWidget(Widget): ] top_move_coords = None + child_moves = {c.move.gtp() for c in current_node.children if c.move} if hint_moves: low_visits_threshold = katrain.config("trainer/low_visits", 25) top_moves_show = [ @@ -519,7 +520,11 @@ class BadukPanWidget(Widget): scale = HINT_SCALE text_on = True alpha = HINTS_ALPHA - if move_dict["visits"] < low_visits_threshold and not engine_best_move: + if ( + move_dict["visits"] < low_visits_threshold + and not engine_best_move + and not move_dict["move"] in child_moves + ): scale = UNCERTAIN_HINT_SCALE text_on = False alpha = HINTS_LO_ALPHA diff --git a/katrain/gui/popups.py b/katrain/gui/popups.py index 27d8a8e..4fcee19 100644 --- a/katrain/gui/popups.py +++ b/katrain/gui/popups.py @@ -253,11 +253,10 @@ class NewGamePopup(QuickConfigGui): def normalized_rules(self): rules = self.katrain.game.root.get_property("RU", "japanese").strip().lower() for abbr, name in self.katrain.engine.RULESETS_ABBR: - if abbr==rules or abbr==rules: + if abbr == rules or abbr == rules: return name - - def update_playerinfo(self,*args): + def update_playerinfo(self, *args): for bw, player_setup in self.player_setup.players.items(): name = self.player_name[bw].text if name: @@ -274,7 +273,6 @@ class NewGamePopup(QuickConfigGui): if rules is not None: self.rules_spinner.select_key(rules.strip()) - def update_config(self, save_to_file=True): super().update_config(save_to_file=save_to_file) self.katrain.log(f"New game settings: {self.katrain.config('game')}", OUTPUT_DEBUG) @@ -288,11 +286,15 @@ class NewGamePopup(QuickConfigGui): props = self.collect_properties(self) root = self.katrain.game.root changed = False - for k, currentval, newval in [("RU",self.normalized_rules(), props["game/rules"]), ("KM", root.komi, props["game/komi"])]: - if currentval !=newval: + for k, currentval, newval in [ + ("RU", self.normalized_rules(), props["game/rules"]), + ("KM", root.komi, props["game/komi"]), + ]: + if currentval != newval: changed = True self.katrain.log( - f"Property {k} changed from {currentval} to {newval}, triggering re-analysis of entire game.", OUTPUT_INFO + f"Property {k} changed from {currentval} to {newval}, triggering re-analysis of entire game.", + OUTPUT_INFO, ) self.katrain.game.root.set_property(k, newval) self.update_playerinfo() diff --git a/katrain/gui/widgets/movetree.py b/katrain/gui/widgets/movetree.py index 99d1728..ecd53f1 100644 --- a/katrain/gui/widgets/movetree.py +++ b/katrain/gui/widgets/movetree.py @@ -143,8 +143,8 @@ class MoveTreeCanvas(Widget): def children_with_shortcuts(move): shortcuts = move.shortcuts_to - via = [v for m, v in shortcuts] # children that are shortcut - return [m for m in move.ordered_children if m not in via] + [m for m, v in shortcuts] + via = {v: m for m, v in shortcuts} # children that are shortcut + return [m if m not in via else via[m] for m in move.ordered_children] self.move_pos = {root: (0, 0)} stack = children_with_shortcuts(root)[::-1] diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo index b7e88de5f4b45e3021736e12ef3292637000999b..e2d7c20787c0e04140d6a1b8ead5fccb85a3c940 100644 GIT binary patch delta 1794 zcmXZcduYvZ7{~F4WoFLVhHYUE!(6u6m@$-0xs*ue4{~q&YsYOG%V;@h64N4vqKM3; zL>nu&ESKC8rABg@l4XQk%M|aA^ZfPtKHuB({XW0%Iorx=%Fe%yjr29M)HJj8n1=)L zH1@{_7{GQ+!CxK+`DjKd<-`h_?E*I*v*4q3#;)3`xL zB6i>~>`wOKn2%bx7<*tj#$q*2!Wt~Z`*;}R*?k^n8mn+GYGD#((T3@$@hq&s38({|!yqZz+&tM)7PA2FP#I z{x`TeYQi#)D^LlxA}6(7r~@9yENt@l4fZ1bjsc9zHJgknsQL5Uu=iJ?Dsc@n$Zsv) z(Sf`ROCA|rSb#iin}J$T>it`A6!AXfQg$1urhP>npg)7UVKye>Y*dApBG1CkpyoZo zh;I18JKnk9P?gY+R0l}K|G#HUA}&IWm$;RvPf&~6xDIvTV;ICMK7P-~AG|#wGTIh8DE?z!!`mj^U5I z3wA}FIEZ=!$sUI=fj9$|ARkk3GAhA5R7Jy$mx9ZK!OC^z#W}^Ri&t(~8(!O(mA0tg EKS4pjeE3vC%)*U0758UY*otY~ zrXvY|;W&&T`*;;8vW5I?zQ7VgwWLE~;{EZoB)={o(e8y^%0B zx*!d;VUEZ7ZZRIBzZ8$*ODw^vY_lWSj1iohWA+rk;Q?&PHG72%`7WB5MR_k^1dn2P zC3P;R@d?}enJt+RyL)cukFLNurzZzAEo0vm> zd+r^-kmq2DQ=$tCk%w&yPz%bvewZO5;xFm|$^2ORe$SXpycjjU*4>Qy1a+v552Frz5`%c%#~=Fm6Sre3 z_16iz>5xBB3kMc)ddxs2T7Y_lt5FHcQ3*pHSG#*q7dqnc3AYKg|25Qpt*G^#Mbuvd zU34gM59+1~)1v)($e)_c^mrMngcYcR)S(hKczhcB6E~w0TybyUO5!`1f~nJ^2N@rx zp^5WQ-@X*J@p^X)s)V~ykM1z)KrKGrf&6l<8}-eDGt6jOAu3TNYQODnEh=BV8$Rxh zMz;y|m@a$V>2|pvQ5$}D|9StQnbD1tQ58+Y?KloKztO#fI#^3IF1Keiw4l=mKH~u5 zUW~zh{Gsc_ai}+t=y4h*5@(_k6ksaOMkOdiRkY&jt>DIB+@`JTsy6JXyjnPFP5OTo C+`R$- diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po index 55d9acf..842ae99 100644 --- a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po @@ -415,7 +415,7 @@ msgstr "保存AI设置" msgid "sgf written" msgstr "带分析的SGF文件保存到 {file_name}" -msgid "wait-before-equalize" +msgid "wait-before-extra-analysis" msgstr "优化前等待初始分析完成" msgid "Copied SGF to clipboard." diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo index 6118c3947016741a938db41f598dd75bbaff33e7..62e3473352bf22465e9af6c28732e9707ffee59c 100644 GIT binary patch delta 1794 zcmXZcYfR2z7{~FeqH~E#N2x@@(}4;d9NLV+j2uR3YHV_9l;MT_8TA5r!Dh>8%x0Km znd6woi!`Tc(_(pnSZucDl^mAuZ_oeD^SST)dH&aZU)O#8pCM=1x!LdU#GBdJ1hcJ} zg9UgFbFdf3VsN5a9Hw9x7UE_s#WrlmWmq%LEKhUP?*}jteUo?=LvR{;Q1RC#nPW2; z9AjZLcA)0nn1%l1&4^+77>z4&1a84{tiv*Via#+t*=#ZTuv-u=MLo9$mB@CC!NWKO z&!#wLM;LUnpa)i@nq^=mc3=~Z!i5ve{BR9Y6sy2y+=Ko&GR-U$Ls1#Wx${)lEL7!+ zP>Ggd2v$1oU^7Or(0~fqhzfWN!?6XQ;}!gX4HL~a;)+RT&+snx;em8Me9YEQrYa1p z$R>(;D(QAHpE;GQV(!B|{9x`Z_m~}JFgKGAzIcw>_yzUn7VI7BV82kM3(7X5+LnUB zI3L-|mY^!N8`V>ds5lo;3AAD?K6KaLB3I(rCkBi8VhHIYTR>;1L^T+K4X6zcpaNcX z*YBVz^#lX33w3}u?))RF3BS4Pe$&lLm`5VX+iDDEe>=oLfsdn_InKjcjKXWE#2({X>~rV&1j%B5D`%hw4N_FbebXy%jD)&TOYpSJH)!GVNuc?*EDkFo-%x z5K*`l^Puju%AM~+WpoXbu@iL#1E@HIn1a7i2S}XdeQk44J(G`$H-8rOAH$%M1!Y)= z3Val4T)ToX*p15kJ1W2*j70z0-m8m8T}?WwXR=X=6``IhL-j@l#^P2~1rE=q{yND? z7LxG>>aJg-dg3QiMH@zKm{;H}Z7C}7K~xi-K>fZ2eetrpeic=jn^=MOFb<;%y=FQL zbn->W_1bb&z$VlN&8SSyqX(~}y7xUQ(|{rx5F=3sFG0oGgsSXmROYR&k5K!)L{-x1 zVZdu|A6-AAn(7OVz?foh28pN*(@>daqe@te3b+Ina24_&Wg9Sqz>V&D+Z=BNA7C`! zzrqCGa_eWH6WUzwi6hXD=>*j4m5!>22enZy>R`o~ge6EIt41~Le$-W6#8SL{>wegl Zu&})iyQ)3aJF2(stFNuUH6`J7+JD6*#eDz( delta 1788 zcmXZcYfR2z7{~F8lEi}!B2Uue)JgR?bx?#FqZ}F~hs~TuSk}yJ8GmoY95!1{V>ZKt z+2k-SV`Gi9Y+B44#PF)|Mh?qi`TqR>Z=TP6-_P^E?)$p#>;LpRJx;@?Fek>$V*O@Y zF%75VDV&5I7>l9tW^w38A5O!~Sco_9Ixfc5qxep9)bBrFIR3!^_De9Eh)JmU%M#47 zDGX{^h{SuS`7_K!8*Rq37Q|t=2t#oLF2zb*fDiC1h9{a8<8K^*^Vn6-m7)^agu`(! zrsBzfV|IwaBNp^P$r!T~EXRkq4~O9Fv1TDyiWJ4l@F-Se81~{I3>)WW9F3aCd#0c& zmxW5S2nS-h;|denS1Z1$%)y*jH5PLW2Kq#rzn- zJP+B+=AtUK9Y>;rigN~)Ks}DYyWaY9@e%3@KA_@sVF16O4iKB;zP4$oo(ZDj<>gTSCsC}xd`7BhJ*W*cr@N&sLA8LaGs7y{{I$p+!_!5Tf zcp85cG!}$Iw z`pwo^Cj*`E7wW_j1@2$%DAel}Kvg6OwNVD@VA+^}`A8sJg=*SesH-}Q^YO;*Cf^oc S|LUDzn;6b?pj^vhtbX?GmB3$ ztHd0fi7l9cy%@kRn22GM&BkI9Zomv|LI+DQI@xRnZpA6sh<w#!&|5m-$PaI5vpSSs02Qt z;(bT0_d8SFg>k4C8K{8y7=eYTg~ix~>+vo6r!mF>e1L`1&F)}0$9jSH@g`oR-h;T7 zzVzZU`nz-lhs~r7%$?#avw8-J)O%Z)*?CmPf9JTBh@c;l%rh|_3s85a1Xbc4$YHDo zqwpN6Wo@X$@1hR!1a*gAdC$Kh@f`cdU^Oq|=emK*FoyYI)CNr$#AZ~W9#n}RpzcDS zH-CoF%=^9PgQ!b4gla`}j@$b*3^Ff3AN$)z20C#F1Gp2lk>fo-jylm<)W)5di`}SJ zeMX&Z7^5(19%aT9)O;%@U=^0&F;oR#;!O6pAqLtYdA@rq^HK9HNPDf;n_of&yp8$z z5NWIZ!-Y6wfm^vUBp2IKz|7IGgg7nSg4RI4gb6|2Gk?$4wCTF}S?mGC_BZLsU808dc~ z4WlylaqRIJi)uw0D)B5-;9QKuC8*1{&U;^q+NT_q@BvhdPv=vAoveiiLF`7I@HMJ3 zKal%lz5;jS0@N35B`V-<)X5ywh7HJ{$WCE6oo>ZCH=0&=FL|Cs2ubBJU*AW7!XT!@X$S#5?|D~&mXy6|(_7-O|U!`he& zi#aSd#ta+EMRUlyV#q~Itud#x@&4@hyLvs(@Av$l=X-emzt*}-bvHf@cSf06e6m?J zW?}|5<0O2H(f9=uaR|dPF2!sOreQtS;xY_NHJgm|y&*8?~ShKVlGmLsjf2p2zTUX2bC^j>PMzjPIi=_XJh3Zd3q0 zsQtd7)(1M{-Gx5Xi!{`RIT(idsD(v%6PM#V44h!L8b9Du%%4bB_z%1B0qNbs)6}~k zm(Z7XETF&h0!U_xStoO+DAQ~|gBa>v7HHOpium_5w-UkhBZBz^jK^FYjf+tgD?^g8 zt?0uBRLd@)0>6h!q#bpKUVG2KBKtY^hrtqFL}j}hmtqX_J*WeYp&y%28{I~g_#x^p zba?YljAGvHJ?}+bx;|7Z!gAc+r=XvCE{1Tvtze*xOE4NMPzTj|&kv(Asz)8%iZihd z)vC{^%m&bhp}A)BF$pzaj|o_X%kUtog0C=x^R1784oH~p-pU-*d@a&m+u_a6pf
    bky5I1}b$is)Q?%zq*wp*TD{; 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 UYz_(BQMGn!W%Y)pthj{qe-uQ;{Qv*} diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po index 10f99d3..9eaa760 100644 --- a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po @@ -476,7 +476,7 @@ msgstr "Mettre à jour" msgid "sgf written" msgstr "Analyse SGF rédigée dans {file_name}" -msgid "wait-before-equalize" +msgid "wait-before-extra-analysis" msgstr "Attendez la fin de l'analyse en cours avant de l'approfondir." msgid "Copied SGF to clipboard." diff --git a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.mo index 6d6ff7c02fbfeba5da20f20eb4eb84964cda2f3d..e9dafa41db37141bf63b16255ad1100e00f6308b 100644 GIT binary patch delta 1796 zcmXZcZETKL9LMqBy{2X8P+6&Zs4~+kRrCSVyHw)^mWYY1Wz?ERtrbxT5?n#N@E9+! zq)jw3vKQhZMS?9-nQf%(MLi@N(gY!qiiyQyWAXjvI!V*dIp_Lc=lswAoa_E$PojHI z;>_c;XsD#jY^e#0Fo|u!ZtO>YVot zaDH$JdcKwD1sl-`MCkbrp(}gb0}gBt0Y8O)7dr5M==b2y^j~8SUiw7ZhCfix8g`!d zsq_Wz97omg&pc@kem!1l!S4&=xblh8b^0xZ#PEJpS0vq_k(?|&_<*c9XjkA_vBdG~ zH4es%lDL%l!AkUzEk(yQp?A0|^xM!o{1Maf8v5?sMOW$tX0pEir7@3zfu$0g(=zl6 z+k*#?W7ZLLMJ}UD{(JCF@IE?$N1^`)9q*fF2cVzlAVpFMrm?=3(-^`)J#sM>p#zVg zUp$AS@G5#oPtZGlg(=v7TKs$vdIQB+fz{}*P_?mn~dTG z+8FRc=aDtki63E~ig+hk=;w=(FG$~_Cul+M>?AsobI3=eE9mj7=)^j)2JfNgDV-JH zxdjmo2iBv137gQRY(-Ca9Q`%4V*z%c&;B_&fibhCTr3S%<5c=v(9he^^ZXL*3U;H{ zje2PK7QYJqgT?g!3jsxyabOvGqGWJBdS_pS=MBNN=pAmr$q8v6I+2b!ar`axJdcpL zmHI0@NUMqiGqD!|d6@~ delta 1790 zcmXZcZD^KN9LMqB-D;+8>AK6**_xY8ZRYMx%}txP^Qk~$q*H6wm=hlw`NG6Ul#7^H z=nD%r*pw7shzi4rTId4B$wXmOU#PHXq#%ZxVdO&;q2C|Zfw9jy=lWm&^FI&Q{oAfY z->$^5+nLd8l7{6iCz$ zZ8#9W$0FQ|<=B;{Nbl14kAa~${w--1PQ!fMhEA{#U&Z5?iQTvidx8`5rBp)t4r>`d zH#(khR6$&D5x&lN8l7hmzK^R5qPXIN47kEuI2iAv6FtQtxS&wVzy{30m3RR+p$kfn zkp|(s;K%5EpP?sQi7sF>I^S;e&hC$BIIukg{1o~<=)fDHe+SRge~5qJ$+xAi@c{d| zl$95bm1-~=CpF=<@zNapq*&U6KTL?@$|p*f=r@;0zwmxkSIRchs3?>AUtl#Hw0Ge4 z6p7>4Lwp0X-ix<#Ot2DtWQ);ptI#WK3jH?p3V+0G>_Xq2tLUA&i^G^-k7&$iVDMCl z#c2upg{{Gz$T6!Gy(6d4TYfQkC3pi}K!51}jgJ2}IEWkP=Od9#QVKJfU!T$#&OkkK z549N`*osbY6i4G3^onkxSNs4oa9~CJJR7}$5}b)O=(BGL%(|EdLh4J zrk3zo|oxc%1 z?~Zg7PteAIC+a|Qs~caz7iY#RNur-uBVUkKpc6Es3ps=?>?raP>1Xu#8FXRYxD>CW z^ORP_ckY9Th6C%-zl5vMTiJq6xF7vBwBrQqM4$cd=mPR)@pFr%!5W-QeT&O@(kVR*hg*oa=?S}aRQ-=GWWoD;|Q zqVx14aSgf`9%ybHI1~pEP>3&KF}l)H^c^Ti?@$%`r+7ZPkk8Q*uL(9Gr>M3Qr?VTg T2drJc?8`5U%?Re)o5ev;N diff --git a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po index fd8ddae..b0e571a 100644 --- a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po @@ -452,7 +452,7 @@ msgstr "AI設定を更新" msgid "sgf written" msgstr "分析結果入りSGFを{file_name}に保存" -msgid "wait-before-equalize" +msgid "wait-before-extra-analysis" msgstr "初期分析が完了しないと均等分析はできません" msgid "Copied SGF to clipboard." diff --git a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.mo index f9931259fe4d92de54c1fe7fff748770d181b1ac..366a5eff12b5aec2d8664b7190920c26f41b5db2 100644 GIT binary patch delta 1796 zcmXZcZD`G57{~Ez*fMrv#@URG9S1Xe@ccaH;dp$5B?{SC!jZC}&C_3#wq_*4hP_%* zOEH_YT8ccq5U)^&DA6XAWTYj&KmYsH=f3X$eeV0Zuj~ImCu-wP*2dlZkl>}8S#X3| z6er_KY{I43jR7neX_kY9I2d=}Nvy&ajL$Huz?(Q9!*~M3AYfZh5U7um`YrY$#@Be z;&q&j_d=doJ%e5*v~leiKhv}LjJO?jgX3YdzIYCm=taDbw=e!h^`(b_G?! zho~ODLY1}$M`K``ALk=Qv8AYsMNz-2M76LEQ?MCnt!H-_a2b1sIwU7ZzF~|-)_5!80xM3iOO^mpMXjo zLB1Hd|^PQRXbiH0F;X z?~OI0D)0!ol)XVEl)^_Wr=Tjc#<>B>#kQalYQX=Ma?e{(m1>V9e4&)@gnN0xq*5|I#9iT;GVxgea2sL6#hY7Jfo2Mr!&YY zG~>&&2$F+EQKi0ythF}OTl@`IV;}0S1By`zm7z8)cY3G<>rsiF!;RR4y3lV_i<7(s z{=zJzJ(lg_t*8Y%Q3o7Fs&4hT5FeuwNG!7d|Dfr}f0&iwG^{}#)QPIdb7u^7k&mc- zyYm?Qy` SbWiE-s*0TzZ8;-eXa588P|qs> delta 1790 zcmXZcSxA&o7{>8eq_Hx|)YQ@@Gb=4E+gFzoi;|#>h-_a5T7*j5F$Tj*%BXDdN=T5P z%@RQhLCcG%n-&=d}q$`obQ`c)nUh~!*0Lx1>?*tKFMq+ zPQWEthYPVAqc9`cY&_1yXxxmaupF;pFP7uA5oWpQ_nVEybvPKSa1>rZhFB}k#gN~E zwwOlrNVDNsf>UuH&cdr0kKLGvzi|M@q?m2RWZZ<6I5EuZEpDKWN%h8+VFGmp4#5kk z17E?}*p?bJtD(_DhbBHc+S_RjKBjI$o#05CSva0XZS)*=;tllSt}$LR`>{Xu2^@rH zU4K2sQa7Oz?R5Q5gETa-3pMd))J6u7-$0B-MefIDoP@uy3s>OFac18!E1iv#KuU&L zF)rY~e$#((g4s&yGnwAF_gQ9z)GsEQed2l0pUof|k(15ZdC-8`>BgyE5_^%k?Gh@& z4%8h!Lq+=qQ!rwhSEnPPSU&1t0o3oxP*+%mu~?5>ZP1!&a2R`tqwovrO0gHCi?1Vk<7f9@K(4Op=d9sH>>KB5cM&{EHe_Fo*ngN6TrbW4*H!6R8g) z?~R>DC2$Wpls!jnD2k6*W}=cQauy?dvDK(~Yq2jW_q-96)b+XKKa55v9lHD1sJr=x zyttMzk8c@Qq9Wdgny>=3;7LrtbEvQ8D(W3+LEU}3d;SFV8Gpc$_zQLLgdFl8P9rVH zj4#jfkhLvP#i>11HEo#6P)B*>Q)a^LV$NQ)agy&n|KWH5CA7<-u8djnfYDFdT$QeQ%`2Q13zjmD~|5!`ha+Q9Gg{_UzkK Ny8UpVB|GU=`hU1y&8`3d diff --git a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po index c04f90b..c8d1081 100644 --- a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po @@ -424,7 +424,7 @@ msgstr "인공지능 설정 갱신" msgid "sgf written" msgstr "SGF와 분석 결과를 {file_name}에 기록했습니다." -msgid "wait-before-equalize" +msgid "wait-before-extra-analysis" msgstr "추가적인 분석을 요청하기 전에, 먼저 일차적인 분석이 끝날 때까지 기다려 주십시오." msgid "Copied SGF to clipboard." diff --git a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.mo index 951f6ccb1f2b7020e038a7e00f8afff3b61b4371..0bc8dd4f69496d78e2e3cbc6cf870b1e76e1109e 100644 GIT binary patch delta 1796 zcmXZbYfO%D7{~G76OvX+&eGvYP7x*NV@U_0C}&>uurWM((P55r^McJBE7lrg&1p7m zSs3$z$i|o%wq_1F4Vf|T9LM+CeZTtr|Nr}cysqoM-so#-^fkQ?bp}Z46DzI7bS%Pp z%)}1thbaT4v6zj$aWihjgZKykU?u*HlV)RCyu?yn#V~w|v+yNO!=wZ$fTam?w35ax z26|vZqO=UtaSrao(b$HpRad_hjzh2p)A0bdV$dfQCrP{M-xwry!<=L;k3~2Hw<1&3 zfHU!SvLk(_5jxmi@EzGhzp)hKSrvs2cEUqA3TrWh18-p{{X0XY2z-F{;%C?$-y%WL zch9I{l0`ff`(nOBqZf@*w24*NA8Wk{jb8r_HZ$Ii*&JLuTslI(jpvoo4~~#F;q#Hw zF)ZPhdH9X+y~7FVQaQ$E5P=XucbdlYG8zLX^3u*y;w1NGX(Vb42jpWaZbPQ( zJQ7{KMzW^P)7_jWBX?67PR2U4h&)ECg?6-B`i=I$UNfjW&etd!mg^j}TvsE}QVUwK zb$H+Zp@nQtrqmNxqlJDG+Ce)o8uxkq<7o5GBiU37+I}A~8~SQrqO?fVHi&3Y{#Bx{ljQQR*&}5R?NiLNO{Q5X#`jKcoKJ^MbbY@TEh8SO2Y=4 zuoyq0g?@4li*O^_0aq{{-(UqQ*ZmDE(fV)EUbr~V{oR6S#dZ-b!VfTj{n*rsb1OPA zH1^W4DnE{c@B(JyBb67=I*wC{V- z9(cwZzl`?Rwaq2|_CJ4Npb%r{xv5x>wx9tm0v9n6zv42CV)8IthoM-55m=A*!n4>N zuVFae#TEDjlW=sAl!3(#4V$ delta 1790 zcmXZbXKc+;7{~G7EvhXoO07!=7uDLeS8oT}YK>Y^Bx+onptj^ngjkJKX(UaIG$CnI zL|;)V2oXWjh*2X!MT~c5Y~RQK|LSwjx#xeLbDrn9SF1g>)t+;&Lxb%kwf9O(Fc~Lf zDf+PyJEE_PG#JNV46egfxCejXS1iI$U8QVX8Y}Us&SMzf!%TdHW3Wq{REPy}3TiHc zODwd(PVv%gOvZ`03;Sa|@~u1xQUu21Axy?%tizQaDYqNnFu%}U3ddBRl!V#X6N`|o zD#vuZ>1)J+11THEq>zCSN=H3cFb`G^!mMf4~$ABCh?WXz-pa}R_pypwp5GO zY>n>k-_cSw&M&pad1$F$ixy}zw#HrVybNuB1yW7bqMi2=Gw>Tm6JMj!oQ;!^tSEqS zSnjUZ;sECNF$|m1IomN3ZN3k!$x6{)T8Dmog0zRcL?gLM$K$vSEtB3%X%_L7&%hQc zF&|%|rGD@@DGQgN1vrPX_!QUU546AG>haF}8QKe{OmO~g0kmeTLd)b{Fl>!8Fbgdc$8Z7Gp>s z)oJ2Pw2N%Pu6V$;5-pRr&@vT#!61aeXV-7Ig82`$6bJJE|4+3B?V`KU4mjdkjkfOw z+JX1bGWH59JX~^`^N{P)oeMulEA?+2WOq;DIjvX-U^H$-zSCZ8hWpV{T!I$pC|asd pViKM~>yZXb!@p?fq|M|^oL+Mwa(QI)wHpdoF59}eW`MV3)IZys Date: Mon, 7 Dec 2020 14:30:51 +0100 Subject: [PATCH 25/73] no status/lock engine/no thread --- katrain/core/engine.py | 14 +++++++------- katrain/core/game.py | 5 +---- .../i18n/locales/cn/LC_MESSAGES/katrain.po | 5 ----- .../i18n/locales/de/LC_MESSAGES/katrain.po | 5 ----- .../i18n/locales/en/LC_MESSAGES/katrain.mo | Bin 15645 -> 15533 bytes .../i18n/locales/en/LC_MESSAGES/katrain.po | 6 ------ .../i18n/locales/es/LC_MESSAGES/katrain.po | 5 ----- .../i18n/locales/fr/LC_MESSAGES/katrain.po | 6 ------ .../i18n/locales/jp/LC_MESSAGES/katrain.po | 6 ------ .../i18n/locales/ko/LC_MESSAGES/katrain.po | 5 ----- .../i18n/locales/ru/LC_MESSAGES/katrain.po | 5 ----- 11 files changed, 8 insertions(+), 54 deletions(-) diff --git a/katrain/core/engine.py b/katrain/core/engine.py index d3c1a9e..3934539 100644 --- a/katrain/core/engine.py +++ b/katrain/core/engine.py @@ -228,13 +228,13 @@ class KataGoEngine: if "id" not in query: query["id"] = f"QUERY:{str(self.query_counter)}" self.queries[query["id"]] = (callback, error_callback, time.time(), next_move) - if self.katago_process: - self.katrain.log(f"Sending query {query['id']}: {json.dumps(query)}", OUTPUT_DEBUG) - try: - self.katago_process.stdin.write((json.dumps(query) + "\n").encode()) - self.katago_process.stdin.flush() - except OSError as e: - self.check_alive(os_error=str(e), exception_if_dead=True) + if self.katago_process: + self.katrain.log(f"Sending query {query['id']}: {json.dumps(query)}", OUTPUT_DEBUG) + try: + self.katago_process.stdin.write((json.dumps(query) + "\n").encode()) + self.katago_process.stdin.flush() + except OSError as e: + self.check_alive(os_error=str(e), exception_if_dead=True) def terminate_query(self, query_id): if query_id is not None: diff --git a/katrain/core/game.py b/katrain/core/game.py index ceab62f..078c7a3 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -550,7 +550,6 @@ class Game: if move.is_pass: if self.current_node == cn: self.set_current_node(node) - self.katrain.controls.set_status("", STATUS_INFO, cn) return count += 1 new_node = GameNode(parent=node, move=move) @@ -559,8 +558,6 @@ class Game: cn.add_shortcut(new_node) self.katrain.controls.move_tree.redraw_tree_trigger() - self.katrain.controls.set_status(i18n._("playtoend:status").format(num_moves=count), STATUS_INFO, cn) - def set_analysis(result, _partial): new_node.set_analysis(result) analyze_and_play_policy(new_node) @@ -569,7 +566,7 @@ class Game: new_node, callback=set_analysis, priority=-1000, analyze_fast=True, ) - threading.Thread(target=analyze_and_play_policy, args=(cn,), daemon=True).start() + analyze_and_play_policy(cn) def analyze_undo(self, node): train_config = self.katrain.config("trainer") diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po index 842ae99..03e3ce5 100644 --- a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po @@ -762,8 +762,3 @@ msgstr "Expand/Collapse" msgid "analysis:playtoend" msgstr "Fast playout to game end" -#. TODO - Status message -msgid "playtoend:status" -msgstr "" -"Playing game to the end with policy strategy, please wait ... {num_moves} " -"moves played." diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po index 1f56f40..1b83019 100644 --- a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po @@ -814,8 +814,3 @@ msgstr "Expand/Collapse" msgid "analysis:playtoend" msgstr "Fast playout to game end" -#. TODO - Status message -msgid "playtoend:status" -msgstr "" -"Playing the game quickly to the end, please wait ... {num_moves} moves " -"played." diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo index b13f739d4ba8cc5895a3b3901e3c2ca8cfa1eab0..b21422bafb28e696957b881452457134de5ee46c 100644 GIT binary patch delta 3544 zcmYM#X>3(R7=Yn{E>PA|3N6&yB7#VjMOrqMf?^`ATBC-=kp2*4iGT`WsoO;mBp4K9 zF-0W`wQgY*f>u#uq6HFz(VSW4m&7rt~dKdf{JK#b2;3rguozvoMQ#5fi1(S zT!efQVL9I&X;_VRcs=?KwxPZoo$za9t#A^%;yG-G9T=R7d1!!zX#c_39milcPR0zZ zLf2W09auk9Q*dByb3+LA=ni+G0}e%-(1}i?0i-ZX3U)^`a537yFB*7pY%fK3T#m#X zZjaaR!VK0AGcDkJbfQPmjw{d|zYwp#f$n%)tbd61+l|B&4x!_JMl{soF_Nh z8|`0=2|JFaz$c93%Z}5Lv0;9!FGF|qESiC}=mgu*%r#(VJc5otgM7jTz6>yvMQkrX z$6bl8du=i!D{3aUgOJ&-$eu5g9g@!_B$Etf1{a7Au2PHiLLP> zv|lf5&Om4K??R(#;1llT%d?t=4xERc^&+(2>R8`|2G9^a5U-y=kMaUKt~Ke>0wks| z7+rV_x{(Qq*x?>DMT^jmD`UMj*0-PoKSBrYLw9%_4df4Wp;V&G!#pI0Fa({i9Nl?k zbS7RxJ@F6)CwLLv@n$roJJ6KvjMu+F7x)fYEBuWv(4I!$13l1rhDXcM@e`wWV>jxv z(2XoZ9@|8yq2N1b4e|*u^JRy3(TI0P51|X6#O4&E{aW*Oa)-HSdr`Cm-B2l-sd6;H z@$vff=62414h2)cu(=_GC(#L?M+a<-et^DczCio$M|b!Gl8kT)4WK3Ia9lfd;e52c zZ>$%ifsMj!pZ}XJ;9Y1Y=A&o)2zoQFL?@_0GqMhyU<{~!uaVB1mC56eO zs6sQf7+s(mO?fT$#(G?U$Izpj&?EWtoR~zxi58=&-HHCH9YBxbFus6i(3^7wZw*sg zjqZ3Ynz=X7jO{=J*oDq_0PX)1+V9WUp5C*0zC`Fs!J8-_?brvmUH;hB;51|V@i$m}g)6(vUa!wJL6I`#m^z98IGen z?!qoS+8$`8`(q{!D4R|xA^9_vG zN1%b+hz2|!J>uEu#vaB(tU))JsHb3RzCrGra2#DYXK3;b)*GGh7IbHo=z^1wrzqTq zX*dTBtO|2*AsRqUY=09y!g{p-_sB*Q;RFQ(_%n8B$pL$F6rnr54IMZUef*Xn#~NP4 zEIf*iKZ9oO0vd3e;mOQ(M_vP=XS5f3&s>J7KK~Oa_;^&JkxfBUHUph_er#WY9>o(_ zfYo>mx1kwXb#=1;I`n8ZM;p+9j-Uab!W8@$(?(NBxh9#q40M4^G}YbE0T-ha48&X< cg)Vp}-hflL*0--~v-RHGL4{j?8+t|Rf5TB${Qv*} delta 3654 zcmYM$c~F&A7{~FWf`BEfB8tl^nj3W03?wjX%w=3j$FYb?P#8tl1k$U6uZ^bRG>%Gc zq^6Cgj9C#nMcSe{xTe{dm?q;N6^0I3DkEyz_s2amHP`z&=e*~A&U2pgzL)lSw=Qz) z!~ND9{=3A#?)B|h4Yr=WJ6 zhU9K$+w1c&i1kgW8n_Y_Xf0~uR@9C^w%5Nx?f9tepF_>NjO1h*QTN|NRiHh)(DkmU zI0LK+sQIJO)x_yE_?S6-X`&a2VOHAyCe)5TLRFv&6`&SXxeFM9H&FL$b($s^m4Jg9 zAB?*1S>$6Thf{ww((Q#J>oQc}a#Vmyc-ztJ8VWJ(vIx3U?+^mSR@xS4izsA zwex&yDaO!u-=(1dpQ3jB9jc_KQ6;Oh*RP@$_#0W%1k%w0Jy5>`Ls4-iSkqAV=UPj! zEBz&?jch_*Ti5KNq2HW+$j9vGOA}6^GQMnWL@nHcttIAHN%NvmI~;%-PqvOhZ72m* zsWeoAbM19+>p17XjD||TrggxWZK!~IQ8#>JJ&XFGxr&9o!DMtbaS9Cunu)q02Nlq3U4dG#9JS*QQTOddC3Fb&%+#XpJ7>r1 zQE{)K=HEtD%Aen5e~j+N`Rj(>4Ctx#pca~d$~YA{Zj+A+@V33a0d@Af?Dzp|Eox_V z_Ie{K-aXVhK`cVkL}D%uji&wsX>4PlKORSw=q6G<)0RJp+CenFg#B?1x|o8YJ$Udi z9eZLKszQ5^DW(b)_Y4lkW=z6L@jUtRq~_Q4=>?DY}4B}-(5t57-l&t&`wlouc7|B-9;V61KfgP z{A%do`~+3f1E?JzK~?S)s$y4A3H*tQcNaB3u#azEXJp(p{b?xRaMVLI5;bu=R^be+ z$H2a{u>oswhVfW~I;y`=J8Q-e40(z&V=q)c9r-adg_wfx zpelF~^|swY#qTkU^XJ&i@L|4z*OB8j3vGWZD&QA59FHN#Y98S;IN)htlbeno$`Cuo*xsC=vz1u^$Ru*6|exc zGZ(esa%_uh(I4MKC02n`a0hn5o2WzrIX7L8L5|Wj18L~SX{a5)j7lWaH^I!ue)Qi* z?fi%xKaF|~?;yu)qLO^i!erF_>8N=5sKghcD!2;yIWXm|a{lXS=;7Ij+Sv)zYjOsa z*acMSenkatu;X`70q2~EQA=`>!Y(GCkx3l^bD z z?EE=S@!TwDPDWmq^F~Sb?3`S$Q(VwG#`HL+FgGisD9c%pkzMR~JRWCpeo5ZUyn;8g Uib|bUn33Vl%Jfvbi5|cI0B;R^mH+?% diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po index 935d239..40971e8 100644 --- a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po @@ -122,12 +122,6 @@ msgstr "" msgid "analysis:playtoend" msgstr "Fast playout to game end" -#. Status message -msgid "playtoend:status" -msgstr "" -"Playing the game quickly to the end, please wait ... {num_moves} moves " -"played." - #. Keep improving current position analysis when there is nothing else to do msgid "analysis:continuous" msgstr "Toggle continuous analysis" diff --git a/katrain/i18n/locales/es/LC_MESSAGES/katrain.po b/katrain/i18n/locales/es/LC_MESSAGES/katrain.po index c3bc833..c7fdd84 100644 --- a/katrain/i18n/locales/es/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/es/LC_MESSAGES/katrain.po @@ -821,8 +821,3 @@ msgstr "Expand/Collapse" msgid "analysis:playtoend" msgstr "Fast playout to game end" -#. TODO - Status message -msgid "playtoend:status" -msgstr "" -"Playing the game quickly to the end, please wait ... {num_moves} moves " -"played." diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po index e65855d..d0f5097 100644 --- a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po @@ -847,9 +847,3 @@ msgstr "Expand/Collapse" #. TODO - Menu option msgid "analysis:playtoend" msgstr "Fast playout to game end" - -#. TODO - Status message -msgid "playtoend:status" -msgstr "" -"Playing the game quickly to the end, please wait ... {num_moves} moves " -"played." diff --git a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po index b0e571a..bc164b3 100644 --- a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.po @@ -804,9 +804,3 @@ msgstr "Expand/Collapse" #. TODO - Menu option msgid "analysis:playtoend" msgstr "Fast playout to game end" - -#. TODO - Status message -msgid "playtoend:status" -msgstr "" -"Playing the game quickly to the end, please wait ... {num_moves} moved " -"played.moves played." diff --git a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po index e309685..b96207c 100644 --- a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.po @@ -775,8 +775,3 @@ msgstr "Expand/Collapse" msgid "analysis:playtoend" msgstr "Fast playout to game end" -#. TODO - Status message -msgid "playtoend:status" -msgstr "" -"Playing the game quickly to the end, please wait ... {num_moves} moves " -"played." diff --git a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po index 4d6d839..41d000d 100644 --- a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po @@ -811,8 +811,3 @@ msgstr "Expand/Collapse" msgid "analysis:playtoend" msgstr "Fast playout to game end" -#. TODO - Status message -msgid "playtoend:status" -msgstr "" -"Playing the game quickly to the end, please wait ... {num_moves} moves " -"played." From d2c8ea91ad24cfe8b193e3239fa172a95468b82b Mon Sep 17 00:00:00 2001 From: Sander Land Date: Mon, 7 Dec 2020 22:32:57 +0100 Subject: [PATCH 26/73] shortcuts remap again --- README.md | 8 ++++---- katrain/__main__.py | 20 ++++++++++++++++---- katrain/gui/badukpan.py | 34 ++++++++++++++++++---------------- katrain/gui/kivyutils.py | 12 ++++++++++++ 4 files changed, 50 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 7fa6f9a..32289e1 100644 --- a/README.md +++ b/README.md @@ -176,12 +176,12 @@ Keyboard shortcuts are shown with **[key]**. In addition to shortcuts mentioned above and those shown in the main menu: -* **[Shift]**: Open the main menu. -* **[~]** or **[ ` ]** or **[f12]**: Cycles through more minimalistic UI modes. +* **[Alt]**: Open the main menu. +* **[~]** or **[ ` ]** or **[F12]**: Cycles through more minimalistic UI modes. * **[p]**: Pass * **[pause]**: Pause/Resume timer -* **[arrow left]** or **[z]**: Undo move. Hold alt for 10 moves at a time, or ctrl to skip to the start. -* **[arrow right]** or **[x]**: Redo move. Hold alt for 10 moves at a time, or ctrl to skip to the end. +* **[arrow left]** or **[z]**: Undo move. Hold shift for 10 moves at a time, or ctrl to skip to the start. +* **[arrow right]** or **[x]**: Redo move. Hold shift for 10 moves at a time, or ctrl to skip to the end. * **[arrow up/down]** Switch branch, as would be expected from the move tree. * **[home/end]** Go to the beginning/end of the game. * **[pageup]** Make the currently selected node the main branch diff --git a/katrain/__main__.py b/katrain/__main__.py index 6989370..adda0dd 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -537,12 +537,11 @@ class KaTrainGui(Screen, KaTrainBase): else: return ctrl_pressed = "ctrl" in modifiers - alt_pressed = "alt" in modifiers shift_pressed = "shift" in modifiers shortcuts = self.shortcuts if keycode[1] == "tab": self.play_mode.switch_ui_mode() - elif keycode[1] == "shift": + elif keycode[1] == "alt": self.nav_drawer.set_state("toggle") elif keycode[1] == "spacebar": self.toggle_continuous_analysis() @@ -551,9 +550,9 @@ class KaTrainGui(Screen, KaTrainBase): elif keycode[1] in ["`", "~", "f12"]: self.zen = (self.zen + 1) % 3 elif keycode[1] in ["left", "z"]: - self("undo", 1 + (alt_pressed or shift_pressed) * 9 + (ctrl_pressed and not alt_pressed) * 999) + self("undo", 1 + shift_pressed * 9 + ctrl_pressed * 999) elif keycode[1] in ["right", "x"]: - self("redo", 1 + (alt_pressed or shift_pressed) * 9 + (ctrl_pressed and not alt_pressed) * 999) + self("redo", 1 + shift_pressed * 9 + ctrl_pressed * 999) elif keycode[1] == "home": self("undo", 999) elif keycode[1] == "end": @@ -583,6 +582,17 @@ class KaTrainGui(Screen, KaTrainBase): shortcut.trigger_action(duration=0) else: self(*shortcut) + elif keycode[1] == "f9" and self.debug_level >= OUTPUT_EXTRA_DEBUG: + import yappi + yappi.set_clock_type("cpu") + yappi.start() + self.log("starting profiler",OUTPUT_ERROR) + elif keycode[1] == "f10" and self.debug_level >= OUTPUT_EXTRA_DEBUG: + import yappi, time + stats = yappi.get_func_stats() + filename =f"callgrind.{int(time.time())}.prof" + stats.save(filename, type='callgrind') + self.log(f"wrote profiling results to {filename}", OUTPUT_ERROR) return True @@ -594,6 +604,7 @@ class KaTrainApp(MDApp): super().__init__() def build(self): + global DEFAULT_FONT self.icon = ICON # how you're supposed to set an icon self.title = f"KaTrain v{VERSION}" @@ -604,6 +615,7 @@ class KaTrainApp(MDApp): kv_file = find_package_resource("katrain/gui.kv") popup_kv_file = find_package_resource("katrain/popups.kv") resource_add_path(PATHS["PACKAGE"]) + DEFAULT_FONT = cached_resource_find(DEFAULT_FONT) Builder.load_file(kv_file) Window.bind(on_request_close=self.on_request_close) diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index 4a610d0..32cf86c 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -33,11 +33,12 @@ from katrain.core.constants import ( from katrain.core.game import Move from katrain.core.lang import i18n from katrain.core.utils import evaluation_class, format_visits, var_to_grid -from katrain.gui.kivyutils import BackgroundMixin, draw_circle, draw_text +from katrain.gui.kivyutils import BackgroundMixin, draw_circle, draw_text, cached_resource_find from katrain.gui.popups import I18NPopup, ReAnalyzeGamePopup from katrain.gui.style import * + class BadukPanWidget(Widget): def __init__(self, **kwargs): super(BadukPanWidget, self).__init__(**kwargs) @@ -55,8 +56,9 @@ class BadukPanWidget(Widget): self.animating_pv = None self.last_mouse_pos = (0, 0) Window.bind(mouse_pos=self.on_mouse_pos) - self.redraw_board_contents_trigger = Clock.create_trigger(self.draw_board_contents) - self.redraw_trigger = Clock.create_trigger(self.redraw) + self.redraw_board_contents_trigger = Clock.create_trigger(self.draw_board_contents,0.05) + self.redraw_trigger = Clock.create_trigger(self.redraw,0.05) + self.redraw_hover_contents_trigger = Clock.create_trigger(self.draw_hover_contents,0.01) self.bind(size=self.redraw_trigger, pos=self.redraw_trigger) Clock.schedule_interval(self.animate_pv, 0.1) @@ -81,7 +83,7 @@ class BadukPanWidget(Widget): else: self.ghost_stone = None if prev_ghost != self.ghost_stone: - self.draw_hover_contents() + self.redraw_hover_contents_trigger() def update_box_selection(self, touch, second_point=True): if not self.gridpos_x: @@ -93,7 +95,7 @@ class BadukPanWidget(Widget): self.region_of_interest[3] = yp else: self.region_of_interest = [xp, xp, yp, yp] - self.draw_hover_contents() + self.redraw_hover_contents_trigger() def on_touch_down(self, touch): self.set_animating_pv(None, None) # any click kills PV from label/move @@ -186,7 +188,7 @@ class BadukPanWidget(Widget): self.set_animating_pv(nodes_here[-1].parent.candidate_moves[0]["pv"], nodes_here[-1].parent) self.ghost_stone = None - self.draw_hover_contents() # remove ghost + self.redraw_hover_contents_trigger() # remove ghost # drawing functions def redraw(self, *_args): @@ -199,7 +201,7 @@ class BadukPanWidget(Widget): Rectangle( pos=(self.gridpos_x[x] - stone_size, self.gridpos_y[y] - stone_size), size=(2 * stone_size, 2 * stone_size), - source=f"img/{player}_stone.png", + source=cached_resource_find(f"img/{player}_stone.png"), ) if evalcol: eval_radius = math.sqrt(evalscale) # scale area by evalscale @@ -208,7 +210,7 @@ class BadukPanWidget(Widget): Rectangle( pos=(self.gridpos_x[x] - evalsize, self.gridpos_y[y] - evalsize), size=(2 * evalsize, 2 * evalsize), - source=f"img/dot.png", + source=cached_resource_find(f"img/dot.png"), ) if innercol: Color(*innercol) @@ -216,7 +218,7 @@ class BadukPanWidget(Widget): Rectangle( pos=(self.gridpos_x[x] - inner_size, self.gridpos_y[y] - inner_size), size=(2 * inner_size, 2 * inner_size), - source=f"img/inner.png", + source=cached_resource_find(f"img/inner.png"), ) def eval_color(self, points_lost, show_dots_for_class: List[bool] = None) -> Optional[List[float]]: @@ -261,7 +263,7 @@ class BadukPanWidget(Widget): Rectangle( pos=(self.gridpos_x[0] - self.grid_size * 1.5, self.gridpos_y[0] - self.grid_size * 1.5), size=(self.grid_size * x_grid_spaces, self.grid_size * y_grid_spaces), - source="img/board.png", + source=cached_resource_find("img/board.png"), ) Color(*LINE_COLOR) @@ -455,7 +457,7 @@ class BadukPanWidget(Widget): pos=center, text=text, font_size=size * 0.25, halign="center", outline_color=[0.95, 0.95, 0.95] ) - self.draw_hover_contents() + self.redraw_hover_contents_trigger() def draw_roi_box(self, region_of_interest, width=2): xmin, xmax, ymin, ymax = region_of_interest @@ -547,9 +549,9 @@ class BadukPanWidget(Widget): Rectangle( pos=(self.gridpos_x[move.coords[0]] - evalsize, self.gridpos_y[move.coords[1]] - evalsize), size=(2 * evalsize, 2 * evalsize), - source="img/topmove.png", + source=cached_resource_find("img/topmove.png"), ) - if text_on and top_moves_show: + if text_on and top_moves_show: # TODO: faster if not sized? keys = {"size": self.grid_size / 3, "smallsize": self.grid_size / 3.33} player_sign = current_node.player_sign(current_node.next_player) if len(top_moves_show) == 1: @@ -649,7 +651,7 @@ class BadukPanWidget(Widget): def animate_pv(self, _dt): if self.animating_pv: - self.draw_hover_contents() + self.redraw_hover_contents_trigger() def draw_pv(self, pv, node, up_to_move): katrain = self.katrain @@ -684,7 +686,7 @@ class BadukPanWidget(Widget): Rectangle( # not sure why the -1 here, but seems to center better pos=(board_coords[0] - stone_size - 1, board_coords[1] - stone_size), size=(2 * stone_size + 1, 2 * stone_size + 1), - source=f"img/{move_player}_stone.png", + source=cached_resource_find(f"img/{move_player}_stone.png"), ) Color(*STONE_TEXT_COLORS[move_player]) draw_text(pos=board_coords, text=str(i + 1), font_size=self.grid_size * sizefac / 1.45, font_name="Roboto") @@ -696,7 +698,7 @@ class BadukPanWidget(Widget): not self.animating_pv or not (self.animating_pv[0] == pv and self.animating_pv[1] == node) ): self.animating_pv = (pv, node, time.time(), self.last_mouse_pos) - self.draw_hover_contents() + self.redraw_hover_contents_trigger() def show_pv_from_comments(self, pv_str): self.set_animating_pv(pv_str[1:].split(" "), self.katrain.controls.active_comment_node.parent) diff --git a/katrain/gui/kivyutils.py b/katrain/gui/kivyutils.py index 7a31005..ad2cda4 100644 --- a/katrain/gui/kivyutils.py +++ b/katrain/gui/kivyutils.py @@ -1,3 +1,5 @@ +import functools + from kivy.clock import Clock from kivy.core.text import Label as CoreLabel from kivy.core.text.markup import MarkupLabel as CoreMarkupLabel @@ -11,6 +13,7 @@ from kivy.properties import ( OptionProperty, StringProperty, ) +from kivy.resources import resource_find from kivy.uix.behaviors import ButtonBehavior, FocusBehavior, ToggleButtonBehavior from kivy.uix.boxlayout import BoxLayout from kivy.uix.button import Button @@ -623,3 +626,12 @@ def draw_text(pos, text, font_name=None, markup=False, **kw): def draw_circle(pos, r, col): Color(*col) Ellipse(pos=(pos[0] - r, pos[1] - r), size=(2 * r, 2 * r)) + + +def cached_resource_find(path,force_reload=False,_cache={}): + return path + result = _cache.get(path) + if force_reload or not result: + result = _cache[path] = resource_find(path) + return result + From a51e9c3accd304ce8667601df0cc0a8caad73236 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Mon, 7 Dec 2020 22:51:57 +0100 Subject: [PATCH 27/73] black/cache --- katrain/__main__.py | 8 +++++--- katrain/gui/badukpan.py | 9 ++++----- katrain/gui/kivyutils.py | 4 +--- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/katrain/__main__.py b/katrain/__main__.py index adda0dd..3735a88 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -584,14 +584,16 @@ class KaTrainGui(Screen, KaTrainBase): self(*shortcut) elif keycode[1] == "f9" and self.debug_level >= OUTPUT_EXTRA_DEBUG: import yappi + yappi.set_clock_type("cpu") yappi.start() - self.log("starting profiler",OUTPUT_ERROR) + self.log("starting profiler", OUTPUT_ERROR) elif keycode[1] == "f10" and self.debug_level >= OUTPUT_EXTRA_DEBUG: import yappi, time + stats = yappi.get_func_stats() - filename =f"callgrind.{int(time.time())}.prof" - stats.save(filename, type='callgrind') + filename = f"callgrind.{int(time.time())}.prof" + stats.save(filename, type="callgrind") self.log(f"wrote profiling results to {filename}", OUTPUT_ERROR) return True diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index 32cf86c..85bd932 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -38,7 +38,6 @@ from katrain.gui.popups import I18NPopup, ReAnalyzeGamePopup from katrain.gui.style import * - class BadukPanWidget(Widget): def __init__(self, **kwargs): super(BadukPanWidget, self).__init__(**kwargs) @@ -56,9 +55,9 @@ class BadukPanWidget(Widget): self.animating_pv = None self.last_mouse_pos = (0, 0) Window.bind(mouse_pos=self.on_mouse_pos) - self.redraw_board_contents_trigger = Clock.create_trigger(self.draw_board_contents,0.05) - self.redraw_trigger = Clock.create_trigger(self.redraw,0.05) - self.redraw_hover_contents_trigger = Clock.create_trigger(self.draw_hover_contents,0.01) + self.redraw_board_contents_trigger = Clock.create_trigger(self.draw_board_contents, 0.05) + self.redraw_trigger = Clock.create_trigger(self.redraw, 0.05) + self.redraw_hover_contents_trigger = Clock.create_trigger(self.draw_hover_contents, 0.01) self.bind(size=self.redraw_trigger, pos=self.redraw_trigger) Clock.schedule_interval(self.animate_pv, 0.1) @@ -551,7 +550,7 @@ class BadukPanWidget(Widget): size=(2 * evalsize, 2 * evalsize), source=cached_resource_find("img/topmove.png"), ) - if text_on and top_moves_show: # TODO: faster if not sized? + if text_on and top_moves_show: # TODO: faster if not sized? keys = {"size": self.grid_size / 3, "smallsize": self.grid_size / 3.33} player_sign = current_node.player_sign(current_node.next_player) if len(top_moves_show) == 1: diff --git a/katrain/gui/kivyutils.py b/katrain/gui/kivyutils.py index ad2cda4..37bb0a8 100644 --- a/katrain/gui/kivyutils.py +++ b/katrain/gui/kivyutils.py @@ -628,10 +628,8 @@ def draw_circle(pos, r, col): Ellipse(pos=(pos[0] - r, pos[1] - r), size=(2 * r, 2 * r)) -def cached_resource_find(path,force_reload=False,_cache={}): - return path +def cached_resource_find(path, force_reload=False, _cache={}): result = _cache.get(path) if force_reload or not result: result = _cache[path] = resource_find(path) return result - From feee858967978b1acad886ed907479e1e2e79535 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Mon, 7 Dec 2020 23:24:57 +0100 Subject: [PATCH 28/73] better cache --- katrain/__main__.py | 2 +- katrain/gui/badukpan.py | 14 +++++++------- katrain/gui/kivyutils.py | 13 ++++++++----- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/katrain/__main__.py b/katrain/__main__.py index 3735a88..71d6783 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -617,7 +617,7 @@ class KaTrainApp(MDApp): kv_file = find_package_resource("katrain/gui.kv") popup_kv_file = find_package_resource("katrain/popups.kv") resource_add_path(PATHS["PACKAGE"]) - DEFAULT_FONT = cached_resource_find(DEFAULT_FONT) + DEFAULT_FONT = resource_find(DEFAULT_FONT) Builder.load_file(kv_file) Window.bind(on_request_close=self.on_request_close) diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index 85bd932..7c404c5 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -33,7 +33,7 @@ from katrain.core.constants import ( from katrain.core.game import Move from katrain.core.lang import i18n from katrain.core.utils import evaluation_class, format_visits, var_to_grid -from katrain.gui.kivyutils import BackgroundMixin, draw_circle, draw_text, cached_resource_find +from katrain.gui.kivyutils import BackgroundMixin, draw_circle, draw_text, cached_texture from katrain.gui.popups import I18NPopup, ReAnalyzeGamePopup from katrain.gui.style import * @@ -200,7 +200,7 @@ class BadukPanWidget(Widget): Rectangle( pos=(self.gridpos_x[x] - stone_size, self.gridpos_y[y] - stone_size), size=(2 * stone_size, 2 * stone_size), - source=cached_resource_find(f"img/{player}_stone.png"), + texture=cached_texture(f"img/{player}_stone.png"), ) if evalcol: eval_radius = math.sqrt(evalscale) # scale area by evalscale @@ -209,7 +209,7 @@ class BadukPanWidget(Widget): Rectangle( pos=(self.gridpos_x[x] - evalsize, self.gridpos_y[y] - evalsize), size=(2 * evalsize, 2 * evalsize), - source=cached_resource_find(f"img/dot.png"), + texture=cached_texture(f"img/dot.png"), ) if innercol: Color(*innercol) @@ -217,7 +217,7 @@ class BadukPanWidget(Widget): Rectangle( pos=(self.gridpos_x[x] - inner_size, self.gridpos_y[y] - inner_size), size=(2 * inner_size, 2 * inner_size), - source=cached_resource_find(f"img/inner.png"), + texture=cached_texture(f"img/inner.png"), ) def eval_color(self, points_lost, show_dots_for_class: List[bool] = None) -> Optional[List[float]]: @@ -262,7 +262,7 @@ class BadukPanWidget(Widget): Rectangle( pos=(self.gridpos_x[0] - self.grid_size * 1.5, self.gridpos_y[0] - self.grid_size * 1.5), size=(self.grid_size * x_grid_spaces, self.grid_size * y_grid_spaces), - source=cached_resource_find("img/board.png"), + texture=cached_texture("img/board.png"), ) Color(*LINE_COLOR) @@ -548,7 +548,7 @@ class BadukPanWidget(Widget): Rectangle( pos=(self.gridpos_x[move.coords[0]] - evalsize, self.gridpos_y[move.coords[1]] - evalsize), size=(2 * evalsize, 2 * evalsize), - source=cached_resource_find("img/topmove.png"), + texture=cached_texture("img/topmove.png"), ) if text_on and top_moves_show: # TODO: faster if not sized? keys = {"size": self.grid_size / 3, "smallsize": self.grid_size / 3.33} @@ -685,7 +685,7 @@ class BadukPanWidget(Widget): Rectangle( # not sure why the -1 here, but seems to center better pos=(board_coords[0] - stone_size - 1, board_coords[1] - stone_size), size=(2 * stone_size + 1, 2 * stone_size + 1), - source=cached_resource_find(f"img/{move_player}_stone.png"), + texture=cached_texture(f"img/{move_player}_stone.png"), ) Color(*STONE_TEXT_COLORS[move_player]) draw_text(pos=board_coords, text=str(i + 1), font_size=self.grid_size * sizefac / 1.45, font_name="Roboto") diff --git a/katrain/gui/kivyutils.py b/katrain/gui/kivyutils.py index 37bb0a8..eb621ba 100644 --- a/katrain/gui/kivyutils.py +++ b/katrain/gui/kivyutils.py @@ -1,6 +1,8 @@ import functools +from kivy.cache import Cache from kivy.clock import Clock +from kivy.core.image import Image from kivy.core.text import Label as CoreLabel from kivy.core.text.markup import MarkupLabel as CoreMarkupLabel from kivy.core.window import Window @@ -628,8 +630,9 @@ def draw_circle(pos, r, col): Ellipse(pos=(pos[0] - r, pos[1] - r), size=(2 * r, 2 * r)) -def cached_resource_find(path, force_reload=False, _cache={}): - result = _cache.get(path) - if force_reload or not result: - result = _cache[path] = resource_find(path) - return result +# direct cache to texture, bypassing resource_find +def cached_texture(path,_cache={}): + tex = _cache.get(path) + if not tex: + tex = _cache[path] = Image(resource_find(path)).texture + return tex From b98a1d4a1da7bab1d7a690a37d565c57cf90c18a Mon Sep 17 00:00:00 2001 From: Sander Land Date: Tue, 8 Dec 2020 14:14:40 +0100 Subject: [PATCH 29/73] player fix --- katrain/__main__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/katrain/__main__.py b/katrain/__main__.py index 6989370..6e4f3ba 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -219,7 +219,7 @@ class KaTrainGui(Screen, KaTrainBase): super().update_player(bw, **kwargs) if self.game: sgf_name = self.game.root.get_property("P" + bw) - self.players_info[bw].name = None if SGF_INTERNAL_COMMENTS_MARKER in sgf_name else sgf_name + self.players_info[bw].name = None if not sgf_name or SGF_INTERNAL_COMMENTS_MARKER in sgf_name else sgf_name if self.controls: self.controls.update_players() self.update_state() From 416a85b4624aa3bdb098cf90b96db56fd10a50bf Mon Sep 17 00:00:00 2001 From: blamarche Date: Tue, 8 Dec 2020 18:00:50 -0500 Subject: [PATCH 30/73] added k shortcut to toggle board coordinate display --- katrain/__main__.py | 5 ++++ katrain/gui/badukpan.py | 52 ++++++++++++++++++++++++++--------------- 2 files changed, 38 insertions(+), 19 deletions(-) diff --git a/katrain/__main__.py b/katrain/__main__.py index e4671a4..41613f0 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -138,6 +138,9 @@ class KaTrainGui(Screen, KaTrainBase): self.idle_analysis = not self.idle_analysis self.update_state() + def toggle_board_coordinates(self): + self.board_gui.enable_coordinates(not self.board_gui.get_enable_coordinates()) + def start(self): if self.engine: return @@ -545,6 +548,8 @@ class KaTrainGui(Screen, KaTrainBase): self.nav_drawer.set_state("toggle") elif keycode[1] == "spacebar": self.toggle_continuous_analysis() + elif keycode[1] == "k": + self.toggle_board_coordinates() elif keycode[1] in ["pause", "break", "f15"] and not ctrl_pressed: self.controls.timer.paused = not self.controls.timer.paused elif keycode[1] in ["`", "~", "f12"]: diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index 7c404c5..19bf84d 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -50,6 +50,7 @@ class BadukPanWidget(Widget): self.stone_size = 0 self.selecting_region_of_interest = False self.region_of_interest = [] + self.draw_coords_enabled = True self.active_pv_moves = [] self.animating_pv = None @@ -61,6 +62,14 @@ class BadukPanWidget(Widget): self.bind(size=self.redraw_trigger, pos=self.redraw_trigger) Clock.schedule_interval(self.animate_pv, 0.1) + def enable_coordinates(self, enabled): + self.draw_coords_enabled = enabled + self.draw_board() + self.draw_board_contents() + + def get_enable_coordinates(self): + return self.draw_coords_enabled + def play_stone_sound(self, *_args): if self.katrain.config("timer/sound"): sound = random.choice(self.stones_sounds) @@ -235,8 +244,12 @@ class BadukPanWidget(Widget): with self.canvas.before: self.canvas.before.clear() # set up margins and grid lines - grid_spaces_margin_x = [1.5, 0.75] # left, right - grid_spaces_margin_y = [1.5, 0.75] # bottom, top + if self.draw_coords_enabled: + grid_spaces_margin_x = [1.5, 0.75] # left, right + grid_spaces_margin_y = [1.5, 0.75] # bottom, top + else: #no coordinates means remove the offset + grid_spaces_margin_x = [0.75, 0.75] # left, right + grid_spaces_margin_y = [0.75, 0.75] # bottom, top x_grid_spaces = board_size_x - 1 + sum(grid_spaces_margin_x) y_grid_spaces = board_size_y - 1 + sum(grid_spaces_margin_y) self.grid_size = min(self.width / x_grid_spaces, self.height / y_grid_spaces) @@ -260,7 +273,7 @@ class BadukPanWidget(Widget): else: Color(1, 0.95, 0.8, 1) # image is a bit too light Rectangle( - pos=(self.gridpos_x[0] - self.grid_size * 1.5, self.gridpos_y[0] - self.grid_size * 1.5), + pos=(self.gridpos_x[0] - self.grid_size * grid_spaces_margin_x[0], self.gridpos_y[0] - self.grid_size * grid_spaces_margin_y[0]), size=(self.grid_size * x_grid_spaces, self.grid_size * y_grid_spaces), texture=cached_texture("img/board.png"), ) @@ -286,22 +299,23 @@ class BadukPanWidget(Widget): draw_circle((self.gridpos_x[x], self.gridpos_y[y]), starpt_size, LINE_COLOR) # coordinates - Color(0.25, 0.25, 0.25) - coord_offset = self.grid_size * 1.5 / 2 - for i in range(board_size_x): - draw_text( - pos=(self.gridpos_x[i], self.gridpos_y[0] - coord_offset), - text=Move.GTP_COORD[i], - font_size=self.grid_size / 1.5, - font_name="Roboto", - ) - for i in range(board_size_y): - draw_text( - pos=(self.gridpos_x[0] - coord_offset, self.gridpos_y[i]), - text=str(i + 1), - font_size=self.grid_size / 1.5, - font_name="Roboto", - ) + if self.draw_coords_enabled: + Color(0.25, 0.25, 0.25) + coord_offset = self.grid_size * 1.5 / 2 + for i in range(board_size_x): + draw_text( + pos=(self.gridpos_x[i], self.gridpos_y[0] - coord_offset), + text=Move.GTP_COORD[i], + font_size=self.grid_size / 1.5, + font_name="Roboto", + ) + for i in range(board_size_y): + draw_text( + pos=(self.gridpos_x[0] - coord_offset, self.gridpos_y[i]), + text=str(i + 1), + font_size=self.grid_size / 1.5, + font_name="Roboto", + ) def draw_board_contents(self, *_args): if not (self.katrain and self.katrain.game): From 875b752190de1124cc991ab014fea5c7508044d6 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Wed, 9 Dec 2020 17:46:19 +0100 Subject: [PATCH 31/73] icons --- katrain/gui.kv | 2 +- katrain/img/Insert-Move.png | Bin 0 -> 9289 bytes katrain/img/Save-Game-As.png | Bin 5293 -> 6518 bytes katrain/img/insert.png | Bin 4156 -> 0 bytes katrain/img/local.png | Bin 8770 -> 9141 bytes 5 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 katrain/img/Insert-Move.png delete mode 100644 katrain/img/insert.png diff --git a/katrain/gui.kv b/katrain/gui.kv index 8bf7ce7..5e9b347 100644 --- a/katrain/gui.kv +++ b/katrain/gui.kv @@ -760,7 +760,7 @@ on_action: root.katrain("select-box",) AnalysisMenuItem: text: i18n._("analysis:insert") - icon: 'img/insert.png' + icon: 'img/Insert-Move.png' shortcut: 'i' on_action: root.katrain("insert-mode") AnalysisMenuItem: diff --git a/katrain/img/Insert-Move.png b/katrain/img/Insert-Move.png new file mode 100644 index 0000000000000000000000000000000000000000..9593b025f8510c8f603b8a558f65a646fedcd7cc GIT binary patch literal 9289 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 SbrF7sg#CN$tx9&$F8>?Z4Uhi- diff --git a/katrain/img/insert.png b/katrain/img/insert.png deleted file mode 100644 index f1a7a01fa164c784afcdb5414420c58d693bcdc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4156 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 literal 8770 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 From 0276e4b2a4624dc336798a10a40f527dd714ec2d Mon Sep 17 00:00:00 2001 From: Sander Land Date: Wed, 9 Dec 2020 21:44:09 +0100 Subject: [PATCH 32/73] policy moves display --- katrain/gui/badukpan.py | 56 ++++++++++++++++++++++++++++++---------- katrain/gui/kivyutils.py | 20 +++++++++----- katrain/gui/style.py | 6 ++--- 3 files changed, 59 insertions(+), 23 deletions(-) diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index 7c404c5..2b31443 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -420,24 +420,52 @@ class BadukPanWidget(Widget): if katrain.analysis_controls.policy.active and policy: policy_grid = var_to_grid(policy, (board_size_x, board_size_y)) best_move_policy = max(*policy) + colors = EVAL_COLORS[self.trainer_config["theme"]] + text_lb = 0.01 * 0.01 for y in range(board_size_y - 1, -1, -1): for x in range(board_size_x): - if policy_grid[y][x] > 0: - polsize = 1.1 * math.sqrt(policy_grid[y][x]) - policy_circle_color = ( - *POLICY_COLOR, - POLICY_ALPHA + TOP_POLICY_ALPHA * (policy_grid[y][x] == best_move_policy), - ) + move_policy = policy_grid[y][x] + pol_order = 5 - int(-math.log10(max(1e-9, move_policy - 1e-9))) + if pol_order >= 0: + if move_policy > text_lb: + Color(0.95, 0.75, 0.47, 1) + draw_circle( + (self.gridpos_x[x], self.gridpos_y[y]), + self.stone_size * HINT_SCALE * 0.98, + [0.95, 0.75, 0.47, 1], + ) + scale = 0.95 + else: + scale = 0.5 draw_circle( - (self.gridpos_x[x], self.gridpos_y[y]), polsize * self.stone_size, policy_circle_color + (self.gridpos_x[x], self.gridpos_y[y]), + HINT_SCALE * self.stone_size * scale, + (*colors[pol_order][:3], POLICY_ALPHA), ) - polsize = math.sqrt(policy[-1]) + if move_policy > text_lb: + Color(*BLACK) + draw_text( + pos=(self.gridpos_x[x], self.gridpos_y[y]), + text=f"{100 * move_policy :.2f}"[:4] + "%", + font_name="Roboto", + halign="center", + ) + if move_policy == best_move_policy: + Color(*TOP_MOVE_BORDER_COLOR[:3], POLICY_ALPHA) + Line( + circle=(self.gridpos_x[x], self.gridpos_y[y], self.stone_size - dp(1.2),), + width=dp(2), + ) + with pass_btn.canvas.after: - draw_circle( - (pass_btn.pos[0] + pass_btn.width / 2, pass_btn.pos[1] + pass_btn.height / 2), - polsize * pass_btn.height / 2, - POLICY_COLOR, - ) + move_policy = policy[-1] + pol_order = 5 - int(-math.log10(max(1e-9, move_policy - 1e-9))) + if pol_order >= 0: + draw_circle( + (pass_btn.pos[0] + pass_btn.width / 2, pass_btn.pos[1] + pass_btn.height / 2), + pass_btn.height / 2, + (*colors[pol_order][:3], GHOST_ALPHA), + ) # pass circle passed = len(nodes) > 1 and current_node.is_pass @@ -472,7 +500,7 @@ class BadukPanWidget(Widget): ) def draw_hover_contents(self, *_args): - ghost_alpha = POLICY_ALPHA + ghost_alpha = GHOST_ALPHA katrain = self.katrain game_ended = katrain.game.end_result current_node = katrain.game.current_node diff --git a/katrain/gui/kivyutils.py b/katrain/gui/kivyutils.py index eb621ba..dd86253 100644 --- a/katrain/gui/kivyutils.py +++ b/katrain/gui/kivyutils.py @@ -614,14 +614,22 @@ class ScrollableLabel(ScrollView, BackgroundMixin): pass -def draw_text(pos, text, font_name=None, markup=False, **kw): +def cached_text_texture(text, font_name, markup, _cache={}, **kwargs): + args = (text, font_name, markup, *[(k, v) for k, v in kwargs.items()]) + texture = _cache.get(args) + if texture: + return texture label_cls = CoreMarkupLabel if markup else CoreLabel - label = label_cls(text=text, bold=True, font_name=font_name or i18n.font_name, **kw) + label = label_cls(text=text, bold=True, font_name=font_name or i18n.font_name, **kwargs) label.refresh() + texture = _cache[args] = label.texture + return texture + + +def draw_text(pos, text, font_name=None, markup=False, **kwargs): + texture = cached_text_texture(text, font_name, markup, **kwargs) Rectangle( - texture=label.texture, - pos=(pos[0] - label.texture.size[0] / 2, pos[1] - label.texture.size[1] / 2), - size=label.texture.size, + texture=texture, pos=(pos[0] - texture.size[0] / 2, pos[1] - texture.size[1] / 2), size=texture.size, ) @@ -631,7 +639,7 @@ def draw_circle(pos, r, col): # direct cache to texture, bypassing resource_find -def cached_texture(path,_cache={}): +def cached_texture(path, _cache={}): tex = _cache.get(path) if not tex: tex = _cache[path] = Image(resource_find(path)).texture diff --git a/katrain/gui/style.py b/katrain/gui/style.py index 092d054..da21704 100644 --- a/katrain/gui/style.py +++ b/katrain/gui/style.py @@ -58,15 +58,15 @@ STONE_TEXT_COLORS = {"W": BLACK, "B": WHITE} # board LINE_COLOR = [0, 0, 0] -POLICY_COLOR = [0.9, 0.2, 0.8] STARPOINT_SIZE = 0.1 BOARD_COLOR = [0.85, 0.68, 0.40, 1] STONE_SIZE = 0.505 # texture edge is transparent +GHOST_ALPHA = 0.6 +POLICY_ALPHA = 0.5 + HINTS_LO_ALPHA = 0.6 HINTS_ALPHA = 0.8 -POLICY_ALPHA = 0.6 -TOP_POLICY_ALPHA = 0.3 TOP_MOVE_BORDER_COLOR = [10 / 255, 200 / 255, 250 / 255, 1.0] CHILD_SCALE = 0.95 HINT_SCALE = 0.98 From 2499488a203aac0cd4c37ef2412188b531527a43 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Wed, 9 Dec 2020 22:15:14 +0100 Subject: [PATCH 33/73] hints for player names, flake8, rankgraph ded --- i18n.py | 4 +- katrain/__main__.py | 10 +- katrain/core/ai.py | 6 +- katrain/core/game.py | 1 - katrain/core/sgf_parser.py | 4 +- katrain/core/utils.py | 2 +- katrain/gui/badukpan.py | 11 +- katrain/gui/controlspanel.py | 2 +- katrain/gui/kivyutils.py | 8 +- katrain/gui/popups.py | 2 +- katrain/gui/widgets/__init__.py | 4 +- katrain/gui/widgets/filebrowser.py | 15 +- katrain/gui/widgets/graph.py | 180 +----------------- katrain/gui/widgets/movetree.py | 8 +- katrain/gui/widgets/selection_slider.py | 4 +- .../i18n/locales/cn/LC_MESSAGES/katrain.mo | Bin 14219 -> 14216 bytes .../i18n/locales/cn/LC_MESSAGES/katrain.po | 7 + .../i18n/locales/de/LC_MESSAGES/katrain.mo | Bin 16370 -> 16376 bytes .../i18n/locales/de/LC_MESSAGES/katrain.po | 7 + .../i18n/locales/en/LC_MESSAGES/katrain.mo | Bin 15533 -> 15651 bytes .../i18n/locales/en/LC_MESSAGES/katrain.po | 8 + .../i18n/locales/es/LC_MESSAGES/katrain.mo | Bin 15766 -> 15772 bytes .../i18n/locales/es/LC_MESSAGES/katrain.po | 7 + .../i18n/locales/fr/LC_MESSAGES/katrain.mo | Bin 17473 -> 17479 bytes .../i18n/locales/fr/LC_MESSAGES/katrain.po | 8 + .../i18n/locales/jp/LC_MESSAGES/katrain.mo | Bin 17887 -> 17880 bytes .../i18n/locales/jp/LC_MESSAGES/katrain.po | 8 + .../i18n/locales/ko/LC_MESSAGES/katrain.mo | Bin 17406 -> 17412 bytes .../i18n/locales/ko/LC_MESSAGES/katrain.po | 7 + .../i18n/locales/ru/LC_MESSAGES/katrain.mo | Bin 22196 -> 22202 bytes .../i18n/locales/ru/LC_MESSAGES/katrain.po | 7 + katrain/popups.kv | 2 + setup.py | 2 +- tests/test_board.py | 2 +- tests/test_parser.py | 5 +- 35 files changed, 100 insertions(+), 231 deletions(-) diff --git a/i18n.py b/i18n.py index 51288e0..9adf47b 100644 --- a/i18n.py +++ b/i18n.py @@ -27,7 +27,7 @@ for lang in locales: pofile[lang] = os.path.join(localedir, lang, "LC_MESSAGES", "katrain.po") po[lang] = polib.pofile(pofile[lang]) for entry in po[lang].translated_entries(): - if "TODO" in entry.comment and not "DEPRECATED" in entry.comment: + if "TODO" in entry.comment and "DEPRECATED" not in entry.comment: todos[lang].append(entry) strings_to_langs[entry.msgid][lang] = entry strings_to_keys[entry.msgid][lang] = set(re.findall("{.*?}", entry.msgstr)) @@ -75,7 +75,7 @@ for lang in locales: for msgid, lang_entries in strings_to_langs.items(): if lang in lang_entries and "TODO" in lang_entries[lang].comment: - if any(e.msgstr == lang_entries[lang].msgstr for l, e in lang_entries.items() if l != lang): + if any(e.msgstr == lang_entries[lang].msgstr for ll, e in lang_entries.items() if ll != lang): todo_comment = ( f"TODO - {lang_entries[DEFAULT_LANG].comment}" if lang_entries[DEFAULT_LANG].comment else "TODO" ) # update todo diff --git a/katrain/__main__.py b/katrain/__main__.py index e4671a4..e4c1345 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -74,7 +74,7 @@ from katrain.core.game import Game, IllegalMoveException, KaTrainSGF from katrain.core.sgf_parser import Move, ParseError from katrain.gui.kivyutils import * from katrain.gui.popups import ConfigPopup, LoadSGFPopup, NewGamePopup, ConfigAIPopup -from katrain.gui.style import ENGINE_BUSY_COL, ENGINE_DOWN_COL, ENGINE_READY_COL, LIGHTGREY +from katrain.gui.style import ENGINE_BUSY_COL, ENGINE_DOWN_COL, ENGINE_READY_COL from katrain.gui.widgets import * from katrain.gui.badukpan import AnalysisControls, BadukPanControls, BadukPanWidget from katrain.gui.controlspanel import ControlsPanel @@ -108,14 +108,14 @@ class KaTrainGui(Screen, KaTrainBase): super().log(message, level) if level == OUTPUT_KATAGO_STDERR and "ERROR" not in self.controls.status.text: if "starting" in message.lower(): - self.controls.set_status(f"KataGo engine starting...", STATUS_INFO) + self.controls.set_status("KataGo engine starting...", STATUS_INFO) if message.startswith("Tuning"): self.controls.set_status( - f"KataGo is tuning settings for first startup, please wait." + message, STATUS_INFO + "KataGo is tuning settings for first startup, please wait." + message, STATUS_INFO ) return if "ready" in message.lower(): - self.controls.set_status(f"KataGo engine ready.", STATUS_INFO) + self.controls.set_status("KataGo engine ready.", STATUS_INFO) if ( level == OUTPUT_ERROR or (level == OUTPUT_KATAGO_STDERR and "error" in message.lower() and "tuning" not in message.lower()) @@ -450,7 +450,7 @@ class KaTrainGui(Screen, KaTrainBase): def load_sgf_from_clipboard(self): clipboard = Clipboard.paste() if not clipboard: - self.controls.set_status(f"Ctrl-V pressed but clipboard is empty.", STATUS_INFO) + self.controls.set_status("Ctrl-V pressed but clipboard is empty.", STATUS_INFO) return url_match = re.match(r"(?Phttps?://[^\s]+)", clipboard) diff --git a/katrain/core/ai.py b/katrain/core/ai.py index 8c7da85..457d4a1 100644 --- a/katrain/core/ai.py +++ b/katrain/core/ai.py @@ -203,7 +203,7 @@ def generate_ai_move(game: Game, ai_mode: str, ai_settings: Dict) -> Tuple[Move, game, cn, {"playoutDoublingAdvantage": pda, "playoutDoublingAdvantagePla": "BLACK"} ) if not handicap_analysis: - game.katrain.log(f"Error getting handicap-based move", OUTPUT_ERROR) + game.katrain.log("Error getting handicap-based move", OUTPUT_ERROR) ai_mode = AI_DEFAULT while not cn.analysis_complete: @@ -225,7 +225,7 @@ def generate_ai_move(game: Game, ai_mode: str, ai_settings: Dict) -> Tuple[Move, ai_mode in [AI_LOCAL, AI_TENUKI] and not (cn.move and cn.move.coords) ): ai_mode = AI_WEIGHTED - ai_thoughts += f"Strategy override, using policy-weighted strategy instead. " + ai_thoughts += "Strategy override, using policy-weighted strategy instead. " ai_settings = {"pick_override": 0.9, "weaken_fac": 1, "lower_bound": 0.02} if top_5_pass: @@ -336,7 +336,7 @@ def generate_ai_move(game: Game, ai_mode: str, ai_settings: Dict) -> Tuple[Move, AI_HANDICAP, ]: # don't play suicidal to balance score aimove = top_cand - ai_thoughts += f"Top move is pass, so passing regardless of strategy. " + ai_thoughts += "Top move is pass, so passing regardless of strategy. " else: if ai_mode == AI_JIGO: sign = cn.player_sign(cn.next_player) diff --git a/katrain/core/game.py b/katrain/core/game.py index 078c7a3..efc19cb 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -10,7 +10,6 @@ from kivy.clock import Clock from katrain.core.constants import ( ANALYSIS_FORMAT_VERSION, - HOMEPAGE, OUTPUT_DEBUG, OUTPUT_INFO, PLAYER_AI, diff --git a/katrain/core/sgf_parser.py b/katrain/core/sgf_parser.py index 5b03656..bf540ce 100644 --- a/katrain/core/sgf_parser.py +++ b/katrain/core/sgf_parser.py @@ -280,7 +280,7 @@ class SGFNode: @property def next_player(self): """Returns player to move""" - if "B" in self.properties or ("AB" in self.properties and not "W" in self.properties): # root or black moved + if "B" in self.properties or ("AB" in self.properties and "W" not in self.properties): # root or black moved return "W" else: return "B" @@ -288,7 +288,7 @@ class SGFNode: @property def player(self): """Returns player that moved last. nb root is considered white played if no handicap stones are placed""" - if "B" in self.properties or ("AB" in self.properties and not "W" in self.properties): + if "B" in self.properties or ("AB" in self.properties and "W" not in self.properties): return "B" else: return "W" diff --git a/katrain/core/utils.py b/katrain/core/utils.py index 044aa92..048ebd2 100644 --- a/katrain/core/utils.py +++ b/katrain/core/utils.py @@ -5,7 +5,7 @@ from typing import List, Tuple, TypeVar try: import importlib.resources as pkg_resources -except: +except ImportError: import importlib_resources as pkg_resources T = TypeVar("T") diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index 2b31443..e41f318 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -1,4 +1,3 @@ -import copy import math import random import time @@ -33,7 +32,7 @@ from katrain.core.constants import ( from katrain.core.game import Move from katrain.core.lang import i18n from katrain.core.utils import evaluation_class, format_visits, var_to_grid -from katrain.gui.kivyutils import BackgroundMixin, draw_circle, draw_text, cached_texture +from katrain.gui.kivyutils import draw_circle, draw_text, cached_texture from katrain.gui.popups import I18NPopup, ReAnalyzeGamePopup from katrain.gui.style import * @@ -209,7 +208,7 @@ class BadukPanWidget(Widget): Rectangle( pos=(self.gridpos_x[x] - evalsize, self.gridpos_y[y] - evalsize), size=(2 * evalsize, 2 * evalsize), - texture=cached_texture(f"img/dot.png"), + texture=cached_texture("img/dot.png"), ) if innercol: Color(*innercol) @@ -217,7 +216,7 @@ class BadukPanWidget(Widget): Rectangle( pos=(self.gridpos_x[x] - inner_size, self.gridpos_y[y] - inner_size), size=(2 * inner_size, 2 * inner_size), - texture=cached_texture(f"img/inner.png"), + texture=cached_texture("img/inner.png"), ) def eval_color(self, points_lost, show_dots_for_class: List[bool] = None) -> Optional[List[float]]: @@ -504,7 +503,7 @@ class BadukPanWidget(Widget): katrain = self.katrain game_ended = katrain.game.end_result current_node = katrain.game.current_node - player, next_player = current_node.player, current_node.next_player + next_player = current_node.next_player board_size_x, board_size_y = katrain.game.board_size if len(self.gridpos_x) < board_size_x or len(self.gridpos_y) < board_size_y: @@ -580,7 +579,7 @@ class BadukPanWidget(Widget): ) if text_on and top_moves_show: # TODO: faster if not sized? keys = {"size": self.grid_size / 3, "smallsize": self.grid_size / 3.33} - player_sign = current_node.player_sign(current_node.next_player) + player_sign = current_node.player_sign(next_player) if len(top_moves_show) == 1: fmt = "[size={size:.0f}]{" + top_moves_show[0] + "}[/size]" else: diff --git a/katrain/gui/controlspanel.py b/katrain/gui/controlspanel.py index c848400..1fe8d9c 100644 --- a/katrain/gui/controlspanel.py +++ b/katrain/gui/controlspanel.py @@ -135,7 +135,7 @@ class ControlsPanel(BoxLayout): lock_ai = katrain.config("trainer/lock_ai") and katrain.play_analyze_mode == MODE_PLAY details = self.info.detailed and not lock_ai info = "" - if current_node.move or current_node.is_root: + if move or current_node.is_root: info = self.active_comment_node.comment( teach=katrain.players_info[self.active_comment_node.player].being_taught, details=details ) diff --git a/katrain/gui/kivyutils.py b/katrain/gui/kivyutils.py index dd86253..b37e3cf 100644 --- a/katrain/gui/kivyutils.py +++ b/katrain/gui/kivyutils.py @@ -1,6 +1,3 @@ -import functools - -from kivy.cache import Cache from kivy.clock import Clock from kivy.core.image import Image from kivy.core.text import Label as CoreLabel @@ -16,13 +13,12 @@ from kivy.properties import ( StringProperty, ) from kivy.resources import resource_find -from kivy.uix.behaviors import ButtonBehavior, FocusBehavior, ToggleButtonBehavior +from kivy.uix.behaviors import ButtonBehavior, ToggleButtonBehavior from kivy.uix.boxlayout import BoxLayout from kivy.uix.button import Button from kivy.uix.label import Label from kivy.uix.scrollview import ScrollView from kivy.uix.spinner import Spinner -from kivy.uix.textinput import TextInput from kivy.uix.widget import Widget from kivymd.app import MDApp from kivymd.uix.behaviors import CircularRippleBehavior, RectangularRippleBehavior @@ -229,7 +225,7 @@ class KeyValueSpinner(Spinner): def input_value(self): try: return self.value_refs[self.selected_index] - except: + except KeyError: return "" @property diff --git a/katrain/gui/popups.py b/katrain/gui/popups.py index ccbf738..4c24bbb 100644 --- a/katrain/gui/popups.py +++ b/katrain/gui/popups.py @@ -207,7 +207,7 @@ class QuickConfigGui(MDBoxLayout): selected = 0 try: selected = widget.value_refs.index(value) - except: + except: # noqa: E722 pass widget.text = widget.values[selected] else: diff --git a/katrain/gui/widgets/__init__.py b/katrain/gui/widgets/__init__.py index e5bec48..9bd55b8 100644 --- a/katrain/gui/widgets/__init__.py +++ b/katrain/gui/widgets/__init__.py @@ -1,6 +1,6 @@ from katrain.gui.widgets.filebrowser import I18NFileBrowser -from katrain.gui.widgets.graph import RankGraph, ScoreGraph +from katrain.gui.widgets.graph import ScoreGraph from katrain.gui.widgets.movetree import MoveTree from katrain.gui.widgets.selection_slider import SelectionSlider -__all__ = ["ScoreGraph", "RankGraph", "MoveTree", "I18NFileBrowser", "SelectionSlider"] +__all__ = ["ScoreGraph", "MoveTree", "I18NFileBrowser", "SelectionSlider"] diff --git a/katrain/gui/widgets/filebrowser.py b/katrain/gui/widgets/filebrowser.py index 64891dd..fb65e80 100644 --- a/katrain/gui/widgets/filebrowser.py +++ b/katrain/gui/widgets/filebrowser.py @@ -38,7 +38,6 @@ a shortcut to the Documents directory added to the favorites bar:: :align: right """ import string -import warnings from functools import partial from os import walk from os.path import dirname, expanduser, getmtime, isdir, join, sep @@ -81,27 +80,25 @@ def get_drives(): drives = [] if platform == "win": bitmask = windll.kernel32.GetLogicalDrives() - GetVolumeInformationW = windll.kernel32.GetVolumeInformationW for letter in string.ascii_uppercase: if bitmask & 1: name = create_unicode_buffer(64) # get name of the drive - drive = letter + u":" - res = GetVolumeInformationW(drive + sep, name, 64, None, None, None, None, 0) + drive = letter + ":" if isdir(drive): drives.append((drive, name.value)) bitmask >>= 1 elif platform == "linux": drives.append((sep, sep)) - drives.append((expanduser(u"~"), "~/")) - places = (sep + u"mnt", sep + u"media") + drives.append((expanduser("~"), "~/")) + places = (sep + "mnt", sep + "media") for place in places: if isdir(place): for directory in next(walk(place))[1]: drives.append((place + sep + directory, directory)) elif platform == "macosx" or platform == "ios": - drives.append((expanduser(u"~"), "~/")) - vol = sep + u"Volume" + drives.append((expanduser("~"), "~/")) + vol = sep + "Volume" if isdir(vol): for drive in next(walk(vol))[1]: drives.append((vol + sep + drive, drive)) @@ -154,7 +151,7 @@ Builder.load_string( layout: layout I18NFileChooserListLayout: id: layout - controller: root + controller: root """ ) Config.set("kivy", "log_level", log_level) diff --git a/katrain/gui/widgets/graph.py b/katrain/gui/widgets/graph.py index c7c1507..6351abc 100644 --- a/katrain/gui/widgets/graph.py +++ b/katrain/gui/widgets/graph.py @@ -7,9 +7,6 @@ from kivy.properties import BooleanProperty, Clock, ListProperty, NumericPropert from kivy.uix.widget import Widget from kivymd.app import MDApp -from katrain.core.constants import OUTPUT_ERROR -from katrain.core.lang import rank_label - class Graph(Widget): marker_font_size = NumericProperty(0) @@ -128,11 +125,11 @@ class ScoreGraph(Graph): xscale = self.width / max(len(score_values) - 1, 15) available_height = self.height score_line_points = [ - [self.x + i * xscale, self.y + self.height / 2 + available_height / 2 * (val / self.score_scale),] + [self.x + i * xscale, self.y + self.height / 2 + available_height / 2 * (val / self.score_scale)] for i, val in enumerate(score_values) ] winrate_line_points = [ - [self.x + i * xscale, self.y + self.height / 2 + available_height / 2 * (val / self.winrate_scale),] + [self.x + i * xscale, self.y + self.height / 2 + available_height / 2 * (val / self.winrate_scale)] for i, val in enumerate(winrate_values) ] self.score_points = sum(score_line_points, []) @@ -158,144 +155,6 @@ class ScoreGraph(Graph): self.winrate_dot_pos = winrate_dot_point -def averagemod(data): - sorteddata = sorted(data) - lendata = len(data) - return sum(sorteddata[int(lendata * 0.2) : int(lendata * 0.8) + 1]) / ( - (int(lendata * 0.8) + 1) - int(lendata * 0.2) - ) # average without the best and worst 20% of ranks - - -def gauss(data): - return math.exp(-1 * (data) ** 2) - - -class RankGraph(Graph): - black_rank_points = ListProperty([]) - white_rank_points = ListProperty([]) - segment_length = NumericProperty(80) - RANK_CAP = 5 - - def __init__(self, **kwargs): - super().__init__(**kwargs) - self.calculate_trigger = Clock.create_trigger(lambda *args: self.rank_game(), 0.25) - self.rank_by_player = {} - - @staticmethod - def calculate_rank_for_player(segment_stats, num_intersec, player): - non_obvious_moves = [ - (nl, r, val) - for nl, r, val, pl in segment_stats - if nl is not None and val < (0.8 * (1 - (num_intersec - nl) / num_intersec * 0.5)) and pl == player - ] - if not non_obvious_moves: - return None - num_legal, rank, value = zip(*non_obvious_moves) - rank = [min(r, nl * 0.09) for r, nl in zip(rank, num_legal)] - averagemod_rank = averagemod(rank) - averagemod_len_legal = averagemod(num_legal) - norm_avemod_len_legal = averagemod_len_legal / num_intersec - if averagemod_rank > 0.1: - rank_kyu = ( - -0.97222 - * math.log(averagemod_rank) - / (0.24634 + averagemod_rank * gauss(3.3208 * (norm_avemod_len_legal))) - + 12.703 * (norm_avemod_len_legal) - + 11.198 * math.log(averagemod_rank) - + 12.28 * gauss(2.379 * (norm_avemod_len_legal)) - - 16.544 - ) - else: - rank_kyu = -4 - return min(RankGraph.RANK_CAP, 1 - rank_kyu) # dan rank - - @staticmethod - def calculate_ranks(segment_stats, num_intersec): - return {pl: RankGraph.calculate_rank_for_player(segment_stats, num_intersec, pl) for pl in "BW"} - - def rank_game(self): - try: - nodes = self.nodes - parent_policy_per_move = [node.parent.policy_ranking if node.parent else None for node in nodes] - num_legal_moves = [ - sum(pv >= 0 for pv, _ in policy_ranking) if policy_ranking else 0 - for policy_ranking in parent_policy_per_move - ] - policy_stats = [ - [ - (num_mv, rank, value, mv.player) - for rank, (value, mv) in enumerate(policy_ranking) - if mv == node.move - ][0] - if policy_ranking and node.move - else (None, None, None, None) - for node, policy_ranking, num_mv in zip(nodes, parent_policy_per_move, num_legal_moves) - ] - size = self.nodes[0].board_size - num_intersec = size[0] * size[1] - half_seg = self.segment_length // 2 - - ranks = {"B": [], "W": []} - dx = self.segment_length // 4 - for segment_mid in range(dx, len(nodes), dx): - bounds = (max(0, segment_mid - half_seg), min(segment_mid + half_seg, len(nodes))) - num_analyzed = sum(num_mv is not None for num_mv, _, _, _ in policy_stats[bounds[0] : bounds[1] + 1]) - if num_analyzed >= self.segment_length * 0.75: - for pl, rank in self.calculate_ranks(policy_stats[bounds[0] : bounds[1] + 1], num_intersec).items(): - ranks[pl].append((segment_mid, rank)) - self.rank_by_player = ranks - except Exception as e: - MDApp.get_running_app().gui.log(f"Exception while calculating rank: {e}", OUTPUT_ERROR) - self.redraw_trigger() - - def update_value(self, node): - super().update_value(node) - self.trigger_calculate() - - def trigger_calculate(self): - if self.opacity != 0: # recalc here on trigger and only if visible for speed - self.calculate_trigger() - - def update_graph(self, *args): - if self.rank_by_player: - xscale = self.width / max(len(self.nodes) - 1, 15) - available_height = self.height - - all_ranks = [rank for lst in self.rank_by_player.values() for seg, rank in lst if rank is not None] - if not all_ranks: - return - - min_rank = math.floor(min(all_ranks)) - max_rank = math.ceil(max(all_ranks)) - if max_rank == min_rank: - min_rank -= 1 - if (max_rank - min_rank) % 2 != 0: # make midpoint whole integer - if abs(max_rank - max(all_ranks)) < abs(min(all_ranks) - min_rank) and max_rank < self.RANK_CAP: - max_rank += 1 - else: - min_rank -= 1 - rank_range = max_rank - min_rank - - self.ids.mid_marker.text = rank_label((max_rank + min_rank) / 2) - self.ids.top_marker.text = rank_label(max_rank) + ("+" if max_rank == self.RANK_CAP else "") - self.ids.bottom_marker.text = rank_label(min_rank) - - graph_points = {} - for pl, rank_points in self.rank_by_player.items(): - graph_points[pl] = [ - [ - self.x + i * xscale, - self.y + available_height * (val - min_rank) / rank_range if val is not None else math.nan, - ] - for i, val in rank_points - ] - self.black_rank_points = sum(graph_points["B"], []) - self.white_rank_points = sum(graph_points["W"], []) - else: - self.black_rank_points = [] - self.white_rank_points = [] - - Builder.load_string( """ #:set GRAPH_CENTER_COLOR [0.5,0.5,0.5] @@ -387,39 +246,6 @@ Builder.load_string( color: WINRATE_MARKER_COLOR pos:root.pos[0]+1, root.pos[1] text: "{}%".format(50 - root.winrate_scale) - opacity: int(root.show_winrate) - -: - background_color: LIGHTER_BACKGROUND_COLOR - canvas: - Color: - rgba: WHITE - Line: - points: root.white_rank_points - width: dp(1.1) - Color: - rgba: BLACK - Line: - points: root.black_rank_points - width: dp(1.1) - # rank ticks - GraphMarkerLabel: - id: mid_marker - font_size: root.marker_font_size - color: YELLOW - pos: root.x + root.width - self.width-1, root.y + root.height*0.5 - self.height/2 + 2 - text: '?' + i18n._('strength:kyu') - GraphMarkerLabel: - id: top_marker - font_size: root.marker_font_size - color: YELLOW - pos: root.x + root.width - self.width-1, root.pos[1]+root.height - self.font_size - 1 - text: '?' + i18n._('strength:kyu') - GraphMarkerLabel: - id: bottom_marker - font_size: root.marker_font_size - color: YELLOW - pos: root.x + root.width - self.width-1, root.pos[1] - text: '?' + i18n._('strength:kyu') + opacity: int(root.show_winrate) """ ) diff --git a/katrain/gui/widgets/movetree.py b/katrain/gui/widgets/movetree.py index ecd53f1..a820779 100644 --- a/katrain/gui/widgets/movetree.py +++ b/katrain/gui/widgets/movetree.py @@ -12,20 +12,14 @@ from kivymd.app import MDApp from katrain.gui.kivyutils import BackgroundMixin, draw_circle, draw_text from katrain.gui.style import ( - BACKGROUND_COLOR, - DARKRED, GREEN, LIGHT_ORANGE, - LIGHTER_BACKGROUND_COLOR, LIGHTGREY, ORANGE, - OUTLINE_COLORS, RED, STONE_COLORS, STONE_TEXT_COLORS, - WHITE, YELLOW, - GREY, ) @@ -268,7 +262,7 @@ Builder.load_string( scroll_view_widget: root id: move_tree_canvas size_hint: None, None - + : canvas.before: Color: diff --git a/katrain/gui/widgets/selection_slider.py b/katrain/gui/widgets/selection_slider.py index 82bb261..1e88b5b 100644 --- a/katrain/gui/widgets/selection_slider.py +++ b/katrain/gui/widgets/selection_slider.py @@ -1,8 +1,6 @@ from kivy.lang import Builder from kivy.properties import BooleanProperty, ListProperty, NumericProperty from kivy.uix.widget import Widget -from kivymd.uix.label import MDLabel -from kivymd.uix.selectioncontrol import Thumb class SelectionSlider(Widget): @@ -122,7 +120,7 @@ KV = """ size: (max(dp(28), label.texture_size[0]+4) , dp(28)) pos: - (slider.px_pos - dp(9), slider.center_y - hint_box.height / 2 + dp(30)) + (slider.px_pos - dp(9), slider.center_y - hint_box.height / 2 + dp(30)) Label: id: label diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo index e2d7c20787c0e04140d6a1b8ead5fccb85a3c940..7d18cc5ace8c03bdeeab15bf3e9d072f73371548 100644 GIT binary patch delta 3677 zcmZYCdu+{j7{~E1s$H*o(F-jtHPp4VC`D}(GM#L!Yxl>7(r%=sHKk;mGhMT}WGfRI zR$<7QBnf$)CYd7>z+V1br|amEZ)__-yQs^RO$Hqd#s! z?Xv?z*x!A_g(eV!?G2@gykW@(`iR04_E3CEx+Fdj923M%m|YoCcaaRG7$ zx5)a-(4YO?2fDyY)Iy)22JS+g_<;4FM4kAY#n({dZX-Fm2dMc0WUmTDq56|h>!g{J zP~)@Eqk(x`@NuPlY2YekEmvvr7pN2MK~>-oYJmn+Ju|#D}PPf$XLe_CO^v0JUK{#^Q7&H@5(_ zUK#4-8%)oqT=b@)7PUYF>cqEDCA@IGs`Ps;K8jlKENa3H^DZi3KaQ*ML8udUM~dVUQHhO4&3gv5 zahA2`T3mpE`u#8ELMJLWH=!!=73v;;i+UK3p%$)3RpKJ*WKF0ITCBeV_0`6Ks08Cs z>kmM!mw`IiH1ud-9v50@F>1mJ)Pfae6>7t3)JgZD<{d&MbQbljG@|C+vi26#x^1ZO z0lbe@p;+vU!@6_-HDMGDdRixh2Ntlj-xD^FcsCGgNyMsR6>oYXXZNU z8Tb=bsaDgUmy6;kGto@;>T%<&VG3%&9E)d|1^6NDOR*CD61^wiiff6l;@4Q*$GKD3 z>q+OphpwlvjOXEz&4Bbpzi$f)d+?)FLq9VWRjQ{@3FIKJ z1h)i3@gwWsVb-B;K|N}n2Gj|!V=%T_f532Wf0)_R!-X;&Xr`kkW+D%;%R?oy8uc)4 zLv2uv+HjA>2hEeH16{EAn)w@QpNFXR0#m&6J-xV4M}O4DX{eJQqc&``_$GEFzJp5euK5VViG5PN2}C3P9ygc^-Sbq`g4yOAROyOQ58HB7BGuOa z1M(AgKcVh*EAnyiBfJ}Bq1JodEI}o-!d%%d_rJm#HliM)Ef$|J&zKib3tlmATl;qL{-S sqe|z_E6M-=faKV+u!yH0o7`_v`}Eq~gTno4V^fPeb(^b delta 3679 zcmYM%4{*VAHY&-?TL^ZtB)-(9a2E-egPjIY1S z@!whgwcy{i28x{97yZ8vQ`}G76o0@bcomcJZ)}W7F`>8(#uN9(Ryfq+0*oV`j}f>M z`2^fse8*C;3Dse@c?=s7pF>S}30ceC#UzYiP!zVr`q&Az!LF$O1F<=d!9?_9LtKJd zrvhVG-@Q*k1A}!H&K*Ua@JG~u8nYHP(LbmSBrr=DrlB(6MfLB6+IW`L4?~@J9I|&e z+1iV+A?v%jD&S(&L@Q7o-$9-DBWvG-I`LtPPonyrL-yoqP~-2RGSGlisJ$6#o(^Uv zs(%&+)Nv#QK5i;s>R5`*;TBt5i8@ggDg)b46C6Qh?ldOgHPm>mPSM4nHsC?kcR`JN z68X4i;sdA+oHj38`(LQ5j3G@Lmuz-H_T~nn z79N8-h%aCr=Acrv64h~?#X*ZdLk;{MHSibI32&n|62|VdU?QeqCuA?~Y1Dk{g8kMp$)?STT;7?>t7fGN6Qc>@LZm4+%o8wU9r<*0%jCdaE zAeG3^HsCf=&^u=f@^L%(QitQH9iKC6Pz&G1x)k$PQom%>2|J+bdz%AL2O5UT)Hu`z z^Q^tJuAci}KtZWrURUAVyQm2_qXv9xoZux3wK7< z_p&$(wXtlB)9-&g1)Z$GT!6|*CF-u%q8`d^sEKx?GIIzu(RZkYE?WCl)CO*$Hrjx^ zYyL#kd>v5-?2Q3+97;hGO+*cthMKU{T!dP%0(Ii`sBxQ78`_6@W{#l7owWLksCj=w z^{+)`DxCLnIHok`{xzUA6?$sDsD%cjc02~TZdZVs;8km1jk@~{R=?9cf;!n5Yp+4g zcMr8rLl&Xvl5i$=OCkTQDQu#mB_2n0tU>Mcj>XaZY3xJX91C$Y4#Y3<5sXO<9Uudh zp={LnvDgY{U^iTjJ@IqY0qzGVJW8Q4t9QWesDaO+?y3m&EG)#nxD@;0F?<^vG5h2A z0qQD#LS^6zYJmq9M|nc+t#CN?9W4&brl1rp#4@Zv4U8i#n$Ux4Ps0*?0=1#7sApvt z>h2GtGIzo}Z(cEPn_;|l)Gsb%z@<{qglX2$&FqWi)DOWo@htYkqPC zYjG(aY|o!=e1>~bzxJfJ3U}cO98a1j;qQ3*p@4HEI)+Zzu~X^STi4W z;+Ih;C^y$w`$miRqB8Oo@(XmQkO$vgLp{t5(m52SVm#|R9|cWZX1E5v-RcjZ zuH+k3#?D|AUbOhC#W&1(4L7M!CiElK29l7U zzRSQk%tp0OGH0Q#pd2-R6>7ulF&g(;`%!EE*1Uk)V2yb%KtTf=J;sxYZBYviLOp~N zQ48du7A%v^#x(Q1p=nOjf`?Lp0V3^l&m>Mx_#4cwuilg4!q4M;~`YOasPV^Asd zp*B*ET5yfU8?YYncGLnp&3!nU_z=cpN{`S+yr_Oz$khkj5DJ<&-<*v~;bPQ7w+gkP zgVufl`RTeE)SV|}I7iWCq86Hlns1)D6t!Tbxz?ABiwtKRD1I2B`v z+o2Zdj!m&YYJpLxUz0C*G&(apn3PZ$9y>j!)L)oeFr`-EejD9N9gU-(jP@mx{JtKdaV%Z2$lO diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po index 03e3ce5..2aae614 100644 --- a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po @@ -762,3 +762,10 @@ msgstr "Expand/Collapse" msgid "analysis:playtoend" msgstr "Fast playout to game end" +#. TODO - hint on player name input +msgid "black player name hint" +msgstr "Black player's name" + +#. TODO - hint on player name input +msgid "white player name hint" +msgstr "White player's name" diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo index b86b0eb63ceddd7ee0b390b518cce066fab84796..972b258437b2a21c6934deb3d17705e7a1c4674e 100644 GIT binary patch delta 3676 zcmZYA3rv<(9LMnkLUK`rm%FIEVoIQbctHgfRwfIVtYns@7G5?GL`8+P<&(%Nb&gCO z(`W|jW=^{Bb|c$N^AcWWGqZ_QYx7R5QZjE*-{1S5Ew|Xq`#I-%&iS8n{^vZ;d&9Zy zI6t`pwi^B}@ZXRBu7^}J=49{xjHP&rdNf|b2)u`J*gMRaP#l7)k3<(v#YCKA>#H%G z`X=m&jmXC_d-?9eg%(tUR%;uEQ13tmyoH)mFpXm{7JFeD24FU7g1M;nGq5j~U=-G1 zFm6MQvlGJ@-+W9#9l!QoFy=gJg;!A>?pg!rr9fe*2@Jv>n1#x~Bvku+)Wi$z^%qbp zE=AU0mf8E&7|i%)qY7Au3e_@-Y|q(n@cjX6(;fNJgLrcB41NsCGH16&Bd* zbFF2l1y!OlRgIcpt@l3r|E|5U7nS$LY3RPn-5<0K-t%rI2kyae)JN?{HcvhX-&U?4w*YA_a=yqSi|OfeQ?C4PWEV*%Fo z=UG=B)joQFFH`9_koq_rhR>nmzmB7@#i5`*>9iOA!F1}Q5_zU^9x7#PP=~G#r(-?l zGOYL~n*_dMM1=d-p%$1-PT7^0j>wG$9D+TRs11exMYOh*Qdv_F1 z;P?0=HVo##qBDfw1H6ds*p$qdAFFzVpK^*DSWOi50+!oKeg06&)YI69PU@?N(}weB z%F=utZ=(jjL;l$X^Uw(2#0H~Mmx*NCOv4Z?N5(QMQJHE)9j<0noKvU;v>{KXxn{5X za{#m@eQ+w{n;{f9N2UTJuojh~2Gjses8{ScRN(9O{$Hq!^%&`UKZKwr;Nf?EdI2AV_YcfBewkBjO`PWM0X|1Oq85JM{HIaN|+e|rXZ+F=G7pN6< zpc{k6`L-Yh6(<7+Vm4|5voQcGP#Ld6#jAEGxG21Xdb~bF1wM%!U~>&)F><_bc zCSWAyp|MigxK^>;!sJ*(6 znz`RZ-+;lW6-J{{mxSJ@0TnO{c}JPYF@+b+LVJD7BwyxsU^MqVn1HR=M{lxA6g1;M zu?Gg__#UfXsEoK!1I42zmV^T^85L*>>afm5ZP9D^1a7zWi=LL=nSs$|Me|DCOUjB? zE~s#q7cE-gE-oow?&)+b4fHIIJLDfzRa~-s!T%eKNLUr)dZ2IeGH-9so{WfKPf+&t NfT(94=xFbne*q?)es}-? delta 3669 zcmYM$4NR3)9LMp4ya=dZfXJJA!AeoNKnWITYV##AbqdP}(@>e<3us)jJExD1)Ro#& z%4uafD+ikSLND4hF`Y*0oKBJQW!B6Lt(jT_((3!W_iVZA{hV{2bN=U?|2g;3R_Bi6 zT!{*L$MEL|{wDGFR)}iG9O&}D-6*d&$ z`ZDZ@>yVFQ-sL-zhB{P-{nqa=occvn!0X6drVV4UBZE3)PYlBTs0C)A`j5f{EW{Y} zU>LrRnx_UMnBROvK?Cc34aPL0cG!#>&|7&vZT$?Y-$i6irUf;=9hHF)cA@9- zs5pJC*{J>_&{4+%3Vh5gzSPl+#4syueFJJo+fW(Ug9>mAmANL2##^ZInw_GFKrO(9 zYEMUv8-jeyxG3_k!b|o+rL`IrxCRxV4*8gUd@1k=)B-P~7WO-;Uz@FmvKnP78kG?j zhT;HJzby1+Ae#JZq5>NDnAv>ktd^h#u0WmjI#j%Kqe|qp0x-yey+6& z529Ujve9(5-c&CdxytxDYvRQ;rI-+&*8AI{S}p`{&kUsGVJ~ z&s$LO+EMd_F$qNzi*qnDk^JXS*hE7nHlrpC=bu6rYm!kJ$;DC}gS&7qPQd9sc$uh< z>VE^3p$7n19pj;(fXh*5v>J708}S6z;$`$a zV$4jO^r$i4;+J>{m-gW+fL~ExvO;kxyNRKm!gd>}59-fRQ4io8exp7y&6rg<)Xi6b z!z2_m@k#Q}DVXn3m#r0*y08rY|74OeoceHNF7qrZQ&p%-wHy^^3u*&9kzb%WVB625 zj^rmCi*1<1{AMIKLn)e$ozR1tU@0nKoo)XDm8ow~?}J9v0?yd_kEl!dt8EW_%$TRC zM)DPL!IeVTlb=Nv>jb| z9CZXYP=Rh^GPa`@ko1KAXPb#ic{VEEaE!t!s0~&)6cl(Ba&b*9cE_`*owuL@{Eg8V z@}&Rl5>Q9e2X$vMP&*rp8kdK<8$}q0b5I$04YiOObfNPp1)cS2)TOwCWYPSKnlLNJ zpV~2~z{^mVa2=}uM(lvwY+t$wuULV9xpE{F^A~QZ-``h7a-Y zAQClUchpXMqf(fG3OE!M@EPPCW%4nV$gkS=txx$gxD&ha{4gfs1=IrXVpIWzz@h$E zZ7k~Nm4M2K3w>vdT3815#4J>x0@S6Qk2jq)T;_4P-EP;S@~U~$=2g5>Qn}dWgC51+l9}%M)|^{G{{g#8fc5|Y diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po index 1b83019..3500a71 100644 --- a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po @@ -814,3 +814,10 @@ msgstr "Expand/Collapse" msgid "analysis:playtoend" msgstr "Fast playout to game end" +#. TODO - hint on player name input +msgid "black player name hint" +msgstr "Black player's name" + +#. TODO - hint on player name input +msgid "white player name hint" +msgstr "White player's name" diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo index b21422bafb28e696957b881452457134de5ee46c..53cce0643287bdc04afe64158ca22600c13ecec4 100644 GIT binary patch delta 3667 zcmZYAe~iy{9Ki9n!f}4w4|hi{?pu-{$qCox#2JdQQrzf|lFQwe-O=wu)K_TLmM}9@ zTDV$uqh%x)N$bav5L1mSl?}HwH6^tp>-oIzd#f$``aVAI&*%Mqy<1h(SR4woZ8bl54&PV9Eh!PIGW%nwEtA>jXvfXyig(55U!W^K8rwgi{eDJr49)2Hbh5VsdFbV>G}wXys007rcay&m<_9p(mQa zAoPAII_?hS6Yk5V{$4yBA1sNkLIc;L0qT)Y*vprJ8_@*MqFZqpO)!@%?4Ll}g=ob} z(8`R%b~pv?cW)Q!Z$?$zaKZ)1C#>YlJ$nNkxEYq*PY_6~enn-_i!r_>YlabuQ z95miybmgm~$=A8KmK$5q0N6O2XQ|9j9lk3<)v z<5xx3;Z?NXKo*h=A93OPdkFpQIf{HjBVVrcH#Flb_!ZJDbm9cIlo;(-imq@{y#GM7 z8eLEgTB*fog3DW;v;XVkgF3YI@5lCMXuu=rfK$;6Xu@eM*Zv*R6?R986ndeF4MWF` zK_@PY_se6u3Oo4z&*Q=sEsd^4EAbAx$M2zsu>lQy2(831bY)HG1n1-PR@B#tJD>?( zjmGbf#w$e^b~h&NSiyyXoE4=xzP{zV;}qjEmaTxBvRE-h^}NjPQx->ftzp=j_46WUtESg zaXVV6uaPd{1RD1u7Gf_tmEe>l7iRbp`ruU@fCrGOg=X~i$|*=4y1qDp_Ki3i=V1fx z#4)%ek=l|5v|@+R_$SfQpTp}h?Ha~nav&G(;hRW|umuft7%g!wKMwwt>y2(nKU{|+ z(L>sZmi8pN;$P9q{e@O6y;mxMJTzW!w0{xOFBwM12W4o$3iL2lp&e^*3ogMESacnK z+cBqi2%lpW?#96^>svgB+i)NC{so_AU-sf`_P4ZE2sif+;UMjr8~FKU{%{-huDF6= zXvR0N4_2ZWeH*5shourdJPXl^tw9zUHed#Rif-9aH1S{1gP}@PN`vqvc0XUKQ z!x%0Myc|8fb?5{iVgeh`Gth(vyo8oI?WWY3$VA(@n29~({X+Ec4aF?H8$AOvF@f_j zna0J-T)6U$n1%146YYuj_oFNO7McW#Xk{j#m8po% zM$ToZK@(nw{>|8gR%{Dq;f`eN@CABEjw8Pj;deAZ7RxlDVl?CN==)rTPB;@yyc!K$ zgSq$=dI(p==j+i#>d=HgK({z~lnYn(117K;U19z$smhcf=Pis!C!UY~l0A38W z9(2Obke4YO!8Z6cnph)t#gk|P&8hpzki*9H zH~Jc$LAE!fm!!@>DLQ^K8gB-ga5Y-Fh1kmX|Jjy{5S~L1%?s#?cA{^`9yGDNXvq$u zfse)eXV8FW(cg^=_#@^GPgUekw14YcQ(KcA?TZ~63fvEE78(bp%Xlc zCbj_WzX)B?D(r@}=oak4+i)Lx`ZGpst?N|OCbznLW>whk%Ok0$1n&#p{7IBU-1 sTffg9(k^fAgR>s5{Qt9z{1t{s%qF=yI;#>5BV9~@15)c^nh delta 3550 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 diff --git a/katrain/i18n/locales/es/LC_MESSAGES/katrain.po b/katrain/i18n/locales/es/LC_MESSAGES/katrain.po index c7fdd84..25753eb 100644 --- a/katrain/i18n/locales/es/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/es/LC_MESSAGES/katrain.po @@ -821,3 +821,10 @@ msgstr "Expand/Collapse" msgid "analysis:playtoend" msgstr "Fast playout to game end" +#. TODO - hint on player name input +msgid "black player name hint" +msgstr "Black player's name" + +#. TODO - hint on player name input +msgid "white player name hint" +msgstr "White player's name" diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.mo index bb8458d590f1d674b49703bbcb12d861e23d9786..c7eee52eb852ea7b15672e5605d13df65bd9ab13 100644 GIT binary patch delta 3679 zcmZYBeN5F=9LMo<6+%T2QLe}pxoQfcqKHC(f}p15Tx4jvm5EA;Aoz&c(@%*O+RUev zH2%N`oLaax@_}j@rZbPTgz0{St zPL#QvUqbyh8~!!$zZd^oo>0q}GeQ5^gUhqD!|*D0#rqhJLBYlZ;s8{8IELaRjKZ0= z{SJoE-hctP19>@SAMahbQH$zu(prz5Xx~5uyo<`IBc0vY13P0J`e7<6!7-@*(=Y<_ zusfDwN8E~D{Mv$Xtnw=N`Zn=3G~DEn1ZT68mj-ZsKm4F z{Z~*c&PUc@me}Vd*pd0oT3ui{D$sUR$7ZXh|DR@C@TWUmUi zQO^gW;yh)28r44=9d(?`1uwIlH+5W%#4_c!y$7|TgQyDBp#oe&Rqh&g!w0DGAq3^p z^hPBx40S&pHEuHUGB1Zxe_brJ58kzILIvK53Q&u@%=f%0a04pATd1vgh)OVwEY#nN zY7a$KECp4W3D^N&K=pg68}(O4`P|TiZz34BLYNA?Hzw@?z4VB10)?mt` z=TWFF9f=y3Zk>kYY8Ig8UFmS46|J`&cA!dCi|Tm7w(D)X88z@eYFr?*X@!xfL}F1B zrlJR@Ai0@BRJ;<@$~Rk`U0n3#Mhz;!CDe+qqe^%iRkDZnc>vKhK{#*ZV1}Y57>D}& zPe;XBWGz9B-(;=8p0ulwg*fI27yA63Lw)yLL|&$WH?8zfRL1T27Lr|26MM0(#HfDh zs1-hE@6WatpcYh&s#FOo!F6rV+5bxWU>~aVhiv;eD&PgwfUDNKsDuMpuKIUItuO*9 zlIe#^EEzR!ENbFxdq2mv^D$7L|JS+Dib}0pQI*(_+T#PL!*~J}_#CPdmr*NgMorLS zpS!59CJsa;*b5au78NfYwXo;WQOCJlD9|$0fK{k~>#P;13HPE_dKfjX4wcXa)LCgn zjk|8|x1i!aMD_2)_pvJEL4S;oVE;8Bi5oht<4_aLLS z94w3E>lJTeKkVPzcgmkZwdbH0-^XO!gIRdR;X*4(h~irb$KqftM`D{}sFF3I4&7h) zHa@^2e8bBamodNLGTL!`mbE3jP~-Qb;-5yXya5yOE|#D(g!DAvb5yCm#2t7NHL&1G z->=+TsEVw_RrnF=kh=T(N*jqf8?mUvnt=Y8YRy2MkqM}AQ;@Uam>FDXKrSl40@NWa zw(U~fNqa5MVx{ry$7{4VMpIJSt=JPi1Nmvik+J;ofqMrT6ODH$XCy|(F)^kNB@xUV z#t)Fo;nyhMn4EUTd^+5>lAw{kzg!|vrB6Y2$z&l_GexLMY(%!(>_(l9W2ln!9KJr(b3)?%l+nmJGvlmzsOKLd z$G~hu<}h`bhOMXslT&>YOhm<9hLf-yN8_)k%JmsV{Z)aOQNEAYaMXh&RK{t@xiV96 z2s+3)G}WlYe?)E3BUB~gh^|wfgnU9xCMw=+^us*+ybzV>3Wp2rO&RKNRbT`jLC&SA zN9|!}mZyGwQCpIT3Y>;IE8|h6o{l@2_}$*WXVrnw!~v)U_C^-sm}D+uxRK$z zVdi5v?Zv1SeSiaSD@NnDs9&*WjKWq_6ZD};OHf7!)vZ3 THg%|Rj~V3G{l&*d+Nb7UNtl3< delta 3671 zcmYM$4NTQl7{~F0yjp_Bn+OtDO+^LNCa91~YC0vP@@>QlQST5%sDP9i{vk?j>MB@? zPR*HSYUUl}zaFHTF-JoGwSH0(rmIAlGIk5F$$O?U-a%XDBg1~aG|K8^u61Qp;gRR2jBi@6wy z<=7S9L9J7dVXSYqQP4n-x51cGs2%=<8qj9FgPQ0eDu4)P@yEfa45Xm?r=tR&Xxnp8 zJI+I5H}mZC*RU(=n<^D>C2FGgQ5`p-cKn%r{sn5sCv5#Zs$Vk_lW9YZzmLj55WCRx zUZ{Bzt!b$K6VXw}85DS#Lf+J|5}CuSwDktmjy^$UU_WYtCRFAwVgz1Cjo0cFO&BTw z7pi?IYTOv)WwOJ`zY25ggEDI^YT|m-1Ur$JY2-~4pFsuqGb*r~sD2%`9zrzAR0Jv` zE)2mWRKHa8W*~z6YoQr5@G=W|(^)M?4P1db>pE1wowj}q6~IO7Rr~xN>L|lVlg7nZ zha$0=NvMT$Q5z|8Y=>p26xE?RZn1Tbtsh4Xynq_`8)}E`s6hOQP76k291cNZF_TgA z<)L<7Vy(iy)SWdHG{HX9j=w^s^eif6m+bRa)B?AWHBAT=EfA0T9vF_AXR0+1HNMzd zfxW0NM{T45`Pe$yJ>EazARKL#WJrjhg5O)Iu%x`88Ak zcTs@`k$24>iJET^YJ(Z*sN*yWnkXMNU=eDdrKw#+|qA zEvR|_K=r?a%2XiV%Yhgd%lT_S9~yLPQ&0;{MMa#89JeV!P4KpT{vqn@x7+rE)+W@> zF4^a8sQK=r*6GS36iqZP!r^h`Kas*F8pdD~>Q)EvQ#b%)P!o>Bx%dKZ$AdTz^Wu#e zg~zZT-a|HNdOz-~r=g4bi#QsW;d6KpwSgcf!I{+K^ zDkIae1`AP_^G{StZ=vo)C+d<0_4l1^m^Bi0H)2ua`lIed64Ku>qbO*COw{F@V(YW< zW9oBo4m%CtJPN712a;0i-(oMk$@!IG$Y5i#@QoqH48(6pXFT3YW?>8)N+1|Dj87c8 zh8t7R#o-(2N#9OdNBI6?xq(W3XexhPU_T^lW;`krZseFvCF*XhL#2EdDkCRR8NGmf z0?n_ej6OhJ=5Cxr7WPBkKT}FUmu59;!tI!Xji}UJMP=r1R0_>VU#f#qnd^>fkHIKR zKn0p=>r=1~^?cNs*PsGijgBJTKtX4+1344pL9%ELqdH#2nb?k6@L8_BGBXo(xymsU z-$e!bJw{^-7U5mwG)z7p0nNJx6;R`7&R+{(ra>vZg4`qHpYAge^*kFnev^yLWvX#3 z9zq3p54AvWhHv5#m_>aSj=`;{47H*%a1{gab_V&^gLWDeaVHMK$fx+;#<9r#GsURL z>rh8?6qSh^s3U4eKAFak)ihrp)B=g9=gFu*N1={pGU`s{ITT_kEJrS+S&uryGpLTg zppN7&YT{1R9SLCjN_9`vzEwduoPo> zP>l*?Jr2Mf$Vc6Lhx+wu#{>*{+Lyva~_6cQ8aH+aiy!g)Z50u vB-bm&?t(J6Ye_*-xho|l#kH)YVsZZB(%0Q(RW2{|D5!MLPw@n0CI|cn1v-IB diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po index d0f5097..3f332f6 100644 --- a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po @@ -847,3 +847,11 @@ msgstr "Expand/Collapse" #. TODO - Menu option msgid "analysis:playtoend" msgstr "Fast playout to game end" + +#. TODO - hint on player name input +msgid "black player name hint" +msgstr "Black player's name" + +#. TODO - hint on player name input +msgid "white player name hint" +msgstr "White player's name" diff --git a/katrain/i18n/locales/jp/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/jp/LC_MESSAGES/katrain.mo index e9dafa41db37141bf63b16255ad1100e00f6308b..fd191bbe4d080fb4f2b78770b829731fa720df6c 100644 GIT binary patch delta 3679 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 LA=4jPX-Cb!qXLd* delta 3672 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 delta 3676 zcmYM#2~bs49LMoLDu||FU`8PNpfm(UvC_gUOhB^)MY9|$AtNN=QS!*h^k!sfnk7^& zt!7$`I>|h(Y-}OTvYe^RB%{o1G07IEWi)O1{XQL343@BY7MQ+%EJS@4nIQ;XmkFKn&=-?0P)Py5z|o_$VBzeMg^Yh+6z%T zo`%G3Gu-pp*oF0No(lK?YNF++j!&U>ywN>>4YlK)uKqEqUn>%mwV}rUg~~t_yU_D< zQ1hfYhoSoCqNk3NDe$o}zSOZ6nZq7%^_8d{tw&{`2{pkkROa?$JRU=h*Xk541{FX6 z)jk+CZY1)t@p0r|g<|)h+F6I1xB)dmBl59V`O?H6paT3771+xr_{Vu}x48)UvEi{=1K6Wc#I;;7pf%l`%x*pZ9(beBX1+d?F#63TOI?5Q*q;Uz( z!ANYDk6L&tY9r;I>o6CUqIy)vXI(w)>dmNu`%nYFMeXoUR3IIRP7C(LB+Ni!u`#Im zrlEEobk4(6>fTZcn&2hWj^9G1bPpn3M{Q&!^4fa#A_e{CY(hS^g)epZ02OhovkkTINo-Fsze?(tfZAais(pkr54E8} zRHmk(0-Wid*S5EF{&f_T`bXLu%$`O~xB)fb4d;ibADTm`{@{So{I`>BKFYxe**>WEa8i$H_DstQwL`|^JJ%1c^_Ul~xR_89% z&RX2_Hq?B7q1NfbA{4C`mSI*B`7flfiiR9Kie$~w`BQiyjz&d%CsyJzJdLL@geQ~D zuEby;e*>?gGPDnK@k<oWf%4!ziWJ zL;ZDo7&EZ}JFwu}7)AY^^Zk_WLGAbeD%FRPq}Xw1Y?`0)LC6bYV^K$2jP&!Yh64A( z8eE4>uKo^&Y5xjGvv9)zvq!17u)QGliVU+k*gDYc37kZfWAGQ!_YDruGMkM_7m$Gt z93AI5i~8naYz%u}%tkwL{((#U$cAuGLs?)f4#K%eUu#6NYlo0yvrd=!XMP?Mn*}i& zSD-H0UgR3tSE##m3bnzWm;0AF6Lr*iIM}1GoC4XhX4GXnit6w$DrHyY_&>EXP^q7T zT4+A%tytpfPonxaBByE1sQHfIX#5-Xc8nV3_nV9!S+NQVeQ}L@(2PTiup)WpEFcU;>lsa^8i?z+%)Te{!tnpY28( za%lJnFU2!?sVQ0kvWBfd?vowFi?GKyKNI<=BPc{-v|`j*uXoSiLM^x(m8ma~H_%R? z=1KMllM8H$5S{QyG$^<21lVXu>xlsQU8EeJ05nQ%O z{zkS>_5W=KiQFsF5 zFnfyGEjT{ByZf-naIg5P$k>XK+E7(#@aF95P)Vq!I$W2qvqSjCq{M#Vr8$dY3MTNp zJXjV8%`6R+l~k4nZm%hyF{`3B5UOf#W8}cVZ55>@)un+sCFP+&W@ct!Zm_0udS%re ZrPcES?a-s7w)E!A2Cpa~oKZNp^M6nNqiz5I diff --git a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po index 41d000d..e08b66c 100644 --- a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po @@ -811,3 +811,10 @@ msgstr "Expand/Collapse" msgid "analysis:playtoend" msgstr "Fast playout to game end" +#. TODO - hint on player name input +msgid "black player name hint" +msgstr "Black player's name" + +#. TODO - hint on player name input +msgid "white player name hint" +msgstr "White player's name" diff --git a/katrain/popups.kv b/katrain/popups.kv index b432345..25c6b6b 100644 --- a/katrain/popups.kv +++ b/katrain/popups.kv @@ -393,11 +393,13 @@ LabelledTextInput: text: '' id: black_player_name + hint_text: i18n._("black player name hint") size_hint: 0.75, None AnchorLayout: LabelledTextInput: text: '' id: white_player_name + hint_text: i18n._("white player name hint") size_hint: 0.75, None DescriptionLabel: text: i18n._("board size") diff --git a/setup.py b/setup.py index b192bbf..7af79c4 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ from setuptools import find_packages, setup package_data = {"": ["*.json", "*.kv", "*.wav"], "katrain": [], "tests": []} packages = find_packages(exclude=["tests"]) -version = re.search('^VERSION\s*=\s*"(.*)"', open("katrain/core/constants.py").read(), re.M).group(1) +version = re.search(r'^VERSION\s*=\s*"(.*)"', open("katrain/core/constants.py").read(), re.M).group(1) def include_data_files(directory): diff --git a/tests/test_board.py b/tests/test_board.py index 15a8361..7014a08 100644 --- a/tests/test_board.py +++ b/tests/test_board.py @@ -1,6 +1,6 @@ import pytest -from katrain.core.base_katrain import OUTPUT_INFO, KaTrainBase +from katrain.core.base_katrain import KaTrainBase from katrain.core.game import Game, IllegalMoveException, Move from katrain.core.game_node import GameNode diff --git a/tests/test_parser.py b/tests/test_parser.py index 5dd3d2c..83f0cc6 100644 --- a/tests/test_parser.py +++ b/tests/test_parser.py @@ -1,8 +1,7 @@ import os -from unittest.mock import MagicMock, patch +from unittest.mock import MagicMock from katrain.core.base_katrain import KaTrainBase -from katrain.core.engine import KataGoEngine from katrain.core.game import Game, KaTrainSGF from katrain.core.sgf_parser import SGF, SGFNode @@ -107,7 +106,7 @@ def test_old_server_style(): def test_ogs(): file = os.path.join(os.path.dirname(__file__), "data/ogs.sgf") - tree = SGF.parse_file(file) + SGF.parse_file(file) def test_gibo(): From 9f7a0ca22684a514f1c5d588e53da47908b934e7 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Wed, 9 Dec 2020 22:17:07 +0100 Subject: [PATCH 34/73] changed nothing --- .../i18n/locales/de/LC_MESSAGES/katrain.mo | Bin 16376 -> 16382 bytes .../i18n/locales/de/LC_MESSAGES/katrain.po | 2 +- .../i18n/locales/en/LC_MESSAGES/katrain.mo | Bin 15651 -> 15657 bytes .../i18n/locales/en/LC_MESSAGES/katrain.po | 2 +- .../i18n/locales/es/LC_MESSAGES/katrain.mo | Bin 15772 -> 15778 bytes .../i18n/locales/es/LC_MESSAGES/katrain.po | 2 +- .../i18n/locales/fr/LC_MESSAGES/katrain.mo | Bin 17479 -> 17485 bytes .../i18n/locales/fr/LC_MESSAGES/katrain.po | 2 +- .../i18n/locales/ko/LC_MESSAGES/katrain.mo | Bin 17412 -> 17418 bytes .../i18n/locales/ko/LC_MESSAGES/katrain.po | 2 +- 10 files changed, 5 insertions(+), 5 deletions(-) diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo index 972b258437b2a21c6934deb3d17705e7a1c4674e..f332b0dc3e7a7604bf74ca8f8db52dff52f9c61f 100644 GIT binary patch delta 112 zcmexS|F3>S32!JT0|NtxJp%(PkQM^cY(QE9NOJ&bc_7UKq&0xF9FW!p($YZM2S_Ue n=?ow(45WL2v?q{W0Oh~he3IARkW(Wsza%3wFI{soxBXiHfGrYW delta 106 zcmexY|D%3G32!Jf0|NtxJp%(Pkmdo>Y(QEFNOJ&bNg&Mvq?LfQ9FSHA($YZM4M-~k h=_DX645ZtDv?q|B1?4~4e3IARkXct(ce0@UTL1^g4_yEN diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po index 3500a71..ca9597e 100644 --- a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po @@ -736,7 +736,7 @@ msgstr "Score" #. TODO - Dropdown menu option msgid "top_move_nothing" -msgstr "---" +msgstr "(nothing)" #. TODO - Dropdown menu option msgid "top_move_winrate" diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo index 53cce0643287bdc04afe64158ca22600c13ecec4..d3664faa4125d0694c393fe8703c4c8476ddd04c 100644 GIT binary patch delta 112 zcmZ2nwX$kM32!JT0|P^%4Fdx!kj@6uY(TmYNOJ(`3Lwn_q#J>>5Rh&I()>VrCXki@ q(kp>950E|tq+NmZc_1weq(wKMVrGLV)4 k(u;vK50Ksiq+NmZNgyo@r1>|W200At}14*&oF diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po index fd8c99a..c1ed061 100644 --- a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po @@ -817,7 +817,7 @@ msgstr "Visits" #. Dropdown menu option msgid "top_move_nothing" -msgstr "---" +msgstr "(nothing)" #. top move stats show threshold description msgid "show stats if" diff --git a/katrain/i18n/locales/es/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/es/LC_MESSAGES/katrain.mo index 44041730dc3a1a25295c15fe720d042e975ec819..10291376654b91b7f33b135d788963c89ad6bd12 100644 GIT binary patch delta 112 zcmbPJy{LLa32!JT0|UcN8wLheApICfvjORsK$-(ce}K|IfwT~i&t%KMzz?KFp|mQH n769^1fwVi2b_3GFK)P@9NnQbcPK~_$l8nr}bj`_kYz_bbHIEc6 delta 106 zcmZ2fJ*Rp@32!Jf0|UcN8wLheAbl4|vjOSHK$-(czk<@AfwT~i{|89(18II+2rUn! g1%P~gAngvM9e}hjknY%gl2<^VSyxwg@*|rA0PEcnDF6Tf diff --git a/katrain/i18n/locales/es/LC_MESSAGES/katrain.po b/katrain/i18n/locales/es/LC_MESSAGES/katrain.po index 25753eb..b272c10 100644 --- a/katrain/i18n/locales/es/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/es/LC_MESSAGES/katrain.po @@ -745,7 +745,7 @@ msgstr "Score" #. TODO - Dropdown menu option msgid "top_move_nothing" -msgstr "---" +msgstr "(nothing)" #. TODO - Dropdown menu option msgid "top_move_winrate" diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.mo index c7eee52eb852ea7b15672e5605d13df65bd9ab13..b51e262370f1900b8002dc3670bf75b0177ed253 100644 GIT binary patch delta 114 zcmX@!!FaZVaYG4jC?^90!yIP@238=w3`ny9=`}!_14wTM((FKb50K^q(np~5Whng! nNQ3l$1k$!Z`Ztgk2GW+BPx4+i<19Bg14yq0((FKb8<6G$()*zFStxx6 iNOJP}wjyaE6wTNG#j diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po index 3f332f6..7d19ec8 100644 --- a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po @@ -772,7 +772,7 @@ msgstr "Score" #. TODO - Dropdown menu option msgid "top_move_nothing" -msgstr "---" +msgstr "(nothing)" #. TODO - Dropdown menu option msgid "top_move_winrate" diff --git a/katrain/i18n/locales/ko/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/ko/LC_MESSAGES/katrain.mo index cb97226a9d4be1eda77bb5f3668673cb0bd4288b..999fdf7088ba791108195ddfea19782447543e1b 100644 GIT binary patch delta 114 zcmZqaVC?E(+)%!fixSC76#HBKw1h&gXEQgv=orm1=74g+5FL}le|`@oEmxgB^jA{>6(+-oc{p;9{3S< delta 108 zcmeC`U~K7N+)% Date: Wed, 9 Dec 2020 22:33:05 +0100 Subject: [PATCH 35/73] hide comments --- katrain/__main__.py | 2 +- katrain/core/constants.py | 2 +- katrain/core/game_node.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/katrain/__main__.py b/katrain/__main__.py index e4c1345..6590d68 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -522,6 +522,7 @@ class KaTrainGui(Screen, KaTrainBase): return first_child if isinstance(first_child, Popup) else None def _on_keyboard_down(self, _keyboard, keycode, _text, modifiers): + ctrl_pressed = "ctrl" in modifiers if self.controls.note.focus: return # when making notes, don't allow keyboard shortcuts popup = self.popup_open @@ -536,7 +537,6 @@ class KaTrainGui(Screen, KaTrainBase): return else: return - ctrl_pressed = "ctrl" in modifiers shift_pressed = "shift" in modifiers shortcuts = self.shortcuts if keycode[1] == "tab": diff --git a/katrain/core/constants.py b/katrain/core/constants.py index f391d69..f2924d7 100644 --- a/katrain/core/constants.py +++ b/katrain/core/constants.py @@ -240,5 +240,5 @@ TOP_MOVE_OPTIONS = [ TOP_MOVE_NOTHING, ] -SGF_INTERNAL_COMMENTS_MARKER = "\u200b\u3164" +SGF_INTERNAL_COMMENTS_MARKER = "\u3164\u200b" SGF_SEPARATOR_MARKER = "\u3164\u3164" diff --git a/katrain/core/game_node.py b/katrain/core/game_node.py index c5b057c..b745d7a 100644 --- a/katrain/core/game_node.py +++ b/katrain/core/game_node.py @@ -131,7 +131,7 @@ class GameNode(SGFNode): properties["SQ"] = best_sq if top_x and "MA" not in properties: properties["MA"] = [top_x] - comments.append(self.comment(sgf=True, interactive=False)) + comments.append(self.comment(sgf=True, interactive=False)+SGF_INTERNAL_COMMENTS_MARKER) if self.is_root: comments = [ i18n._("SGF start message") + SGF_INTERNAL_COMMENTS_MARKER + "\n", From c9c8eacfc7392eab1a18d1a6905e808dfc4c3b80 Mon Sep 17 00:00:00 2001 From: blamarche Date: Wed, 9 Dec 2020 18:36:31 -0500 Subject: [PATCH 36/73] Utilize redraw trigger for board coordinates toggle --- CONTRIBUTIONS.md | 1 + README.md | 1 + katrain/__main__.py | 5 +---- katrain/gui/badukpan.py | 8 ++++---- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTIONS.md b/CONTRIBUTIONS.md index 85b2c31..61e4cbb 100644 --- a/CONTRIBUTIONS.md +++ b/CONTRIBUTIONS.md @@ -49,6 +49,7 @@ Many thanks to these additional authors: * "ajkenny84" for the red-green colourblind theme. * Lukasz Wierzbowski for the ability to paste urls for sgfs and helping fix alt-gr issues. * Carton He for a fix to handling empty komi values in sgfs. +* "blamarche" for adding the board coordinates toggle ## Translators diff --git a/README.md b/README.md index 32289e1..1e467ba 100644 --- a/README.md +++ b/README.md @@ -178,6 +178,7 @@ In addition to shortcuts mentioned above and those shown in the main menu: * **[Alt]**: Open the main menu. * **[~]** or **[ ` ]** or **[F12]**: Cycles through more minimalistic UI modes. +* **[k]**: Toggle display of board coordinates. * **[p]**: Pass * **[pause]**: Pause/Resume timer * **[arrow left]** or **[z]**: Undo move. Hold shift for 10 moves at a time, or ctrl to skip to the start. diff --git a/katrain/__main__.py b/katrain/__main__.py index 41613f0..52c2d3c 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -138,9 +138,6 @@ class KaTrainGui(Screen, KaTrainBase): self.idle_analysis = not self.idle_analysis self.update_state() - def toggle_board_coordinates(self): - self.board_gui.enable_coordinates(not self.board_gui.get_enable_coordinates()) - def start(self): if self.engine: return @@ -549,7 +546,7 @@ class KaTrainGui(Screen, KaTrainBase): elif keycode[1] == "spacebar": self.toggle_continuous_analysis() elif keycode[1] == "k": - self.toggle_board_coordinates() + self.board_gui.toggle_coordinates() elif keycode[1] in ["pause", "break", "f15"] and not ctrl_pressed: self.controls.timer.paused = not self.controls.timer.paused elif keycode[1] in ["`", "~", "f12"]: diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index 19bf84d..2912a30 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -62,10 +62,10 @@ class BadukPanWidget(Widget): self.bind(size=self.redraw_trigger, pos=self.redraw_trigger) Clock.schedule_interval(self.animate_pv, 0.1) - def enable_coordinates(self, enabled): - self.draw_coords_enabled = enabled - self.draw_board() - self.draw_board_contents() + def toggle_coordinates(self): + self.draw_coords_enabled = not self.draw_coords_enabled + self.redraw_trigger() + return self.draw_coords_enabled def get_enable_coordinates(self): return self.draw_coords_enabled From f067512c53361690f45a6b0865b6fa56149605dd Mon Sep 17 00:00:00 2001 From: Sander Land Date: Thu, 10 Dec 2020 17:27:41 +0100 Subject: [PATCH 37/73] icon --- katrain/img/Insert-Move.png | Bin 9289 -> 8905 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/katrain/img/Insert-Move.png b/katrain/img/Insert-Move.png index 9593b025f8510c8f603b8a558f65a646fedcd7cc..b41884eba40518dc9dd592bb7e8bf052fc85c330 100644 GIT binary patch literal 8905 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 YFFB>2wO47#+Z4dg+VObhG4JI62OJ+Xp8x;= literal 9289 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 Date: Thu, 10 Dec 2020 23:09:08 +0100 Subject: [PATCH 38/73] fix encoding, cn, readme, draw text/pass --- README.md | 8 ++++---- katrain/core/game.py | 3 +-- katrain/core/game_node.py | 4 +++- katrain/gui/badukpan.py | 9 ++++++--- katrain/i18n/locales/cn/LC_MESSAGES/katrain.po | 2 +- 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 1e467ba..3e769ad 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![License:MIT](https://img.shields.io/pypi/l/katrain)](https://en.wikipedia.org/wiki/MIT_License) [![GitHub Downloads](https://img.shields.io/github/downloads/sanderland/katrain/total?color=%23336699&label=github%20downloads)](https://github.com/sanderland/katrain/releases) [![PyPI Downloads](https://pepy.tech/badge/katrain)](https://pepy.tech/project/katrain) -[![Github sponsors](https://img.shields.io/static/v1?label=sponsor&message=6&logo=GitHub&color=dcb424&link=https://github.com/sponsors/sanderland/)](https://github.com/sponsors/sanderland) +[![Github sponsors](https://img.shields.io/static/v1?label=sponsor&message=%E2%9D%A4&logo=GitHub&color=dcb424&link=https://github.com/sponsors/sanderland/)](https://github.com/sponsors/sanderland) [![Discord](https://img.shields.io/discord/417022162348802048?logo=discord)](https://discord.com/channels/417022162348802048/629446365688365067)
@@ -152,7 +152,7 @@ Keyboard shortcuts are shown with **[key]**. * The checkboxes at the top of the screen: * **[q]**: Child moves are shown. On by default, can turn it off to avoid obscuring other information or when wanting to guess the next move. - * **[w]**: Show all dots: Cycles through showingall evaluation dots, showing the last few, and showing none. + * **[w]**: Show all dots: Cycles through showing all evaluation dots, showing the last few, and showing none. * You can configure whether they are shown for AIs under 'Teaching/Analysis Settings'. * **[e]**: Top moves: Show the next moves KataGo considered, colored by their expected point loss. Small/faint dots indicate high uncertainty and never show text (lower than your 'fast visits' setting). @@ -209,8 +209,8 @@ In addition to shortcuts mentioned above and those shown in the main menu: ## Support / Contribute [![GitHub issues](https://img.shields.io/github/issues/sanderland/katrain)](https://github.com/sanderland/katrain/issues) -[![Contributors](https://img.shields.io/static/v1?label=contributors&message=22&color=dcb424)](CONTRIBUTIONS.md) -[![Github sponsors](https://img.shields.io/static/v1?label=sponsor&message=7&logo=GitHub&color=dcb424&link=https://github.com/sponsors/sanderland/)](https://github.com/sponsors/sanderland) +[![Contributors](https://img.shields.io/static/v1?label=contributors&message=24&color=dcb424)](CONTRIBUTIONS.md) +[![Github sponsors](https://img.shields.io/static/v1?label=sponsor&message=%E2%9D%A4&logo=GitHub&color=dcb424&link=https://github.com/sponsors/sanderland/)](https://github.com/sponsors/sanderland) * Ideas, feedback, and contributions to code or translations are all very welcome. * For suggestions and planned improvements, see [open issues](https://github.com/sanderland/katrain/issues) on github to check if the functionality is already planned. diff --git a/katrain/core/game.py b/katrain/core/game.py index efc19cb..2dd66a4 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -19,7 +19,6 @@ from katrain.core.constants import ( STATUS_ERROR, STATUS_INFO, STATUS_TEACHING, - VERSION, SGF_INTERNAL_COMMENTS_MARKER, ) from katrain.core.engine import KataGoEngine @@ -40,7 +39,7 @@ class KaTrainSGF(SGF): class Game: """Represents a game of go, including an implementation of capture rules.""" - DEFAULT_PROPERTIES = {"GM": 1, "FF": 4, "AP": f"{PROGRAM_NAME}:{VERSION}", "CA": "UTF-8"} + DEFAULT_PROPERTIES = {"GM": 1, "FF": 4} def __init__( self, diff --git a/katrain/core/game_node.py b/katrain/core/game_node.py index b745d7a..44430ac 100644 --- a/katrain/core/game_node.py +++ b/katrain/core/game_node.py @@ -131,13 +131,15 @@ class GameNode(SGFNode): properties["SQ"] = best_sq if top_x and "MA" not in properties: properties["MA"] = [top_x] - comments.append(self.comment(sgf=True, interactive=False)+SGF_INTERNAL_COMMENTS_MARKER) + comments.append(self.comment(sgf=True, interactive=False) + SGF_INTERNAL_COMMENTS_MARKER) if self.is_root: comments = [ i18n._("SGF start message") + SGF_INTERNAL_COMMENTS_MARKER + "\n", *comments, f"\nSGF generated by {PROGRAM_NAME} {VERSION}{SGF_INTERNAL_COMMENTS_MARKER}\n", ] + properties["CA"] = "UTF-8" + properties["AP"] = f"{PROGRAM_NAME}:{VERSION}" if self.shortcut_from: properties["KTSF"] = [id(self.shortcut_from)] elif "KTSF" in properties: diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index 55653a1..0cbe3f6 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -246,7 +246,7 @@ class BadukPanWidget(Widget): if self.draw_coords_enabled: grid_spaces_margin_x = [1.5, 0.75] # left, right grid_spaces_margin_y = [1.5, 0.75] # bottom, top - else: #no coordinates means remove the offset + else: # no coordinates means remove the offset grid_spaces_margin_x = [0.75, 0.75] # left, right grid_spaces_margin_y = [0.75, 0.75] # bottom, top x_grid_spaces = board_size_x - 1 + sum(grid_spaces_margin_x) @@ -272,7 +272,10 @@ class BadukPanWidget(Widget): else: Color(1, 0.95, 0.8, 1) # image is a bit too light Rectangle( - pos=(self.gridpos_x[0] - self.grid_size * grid_spaces_margin_x[0], self.gridpos_y[0] - self.grid_size * grid_spaces_margin_y[0]), + pos=( + self.gridpos_x[0] - self.grid_size * grid_spaces_margin_x[0], + self.gridpos_y[0] - self.grid_size * grid_spaces_margin_y[0], + ), size=(self.grid_size * x_grid_spaces, self.grid_size * y_grid_spaces), texture=cached_texture("img/board.png"), ) @@ -494,7 +497,7 @@ class BadukPanWidget(Widget): Ellipse(pos=(center[0] - size / 2, center[1] - size / 2), size=(size, size)) Color(0.85, 0.85, 0.85) draw_text( - pos=center, text=text, font_size=size * 0.25, halign="center", outline_color=[0.95, 0.95, 0.95] + pos=center, text=text, font_size=size * 0.25, halign="center" ) self.redraw_hover_contents_trigger() diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po index 2aae614..75e3af1 100644 --- a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po @@ -686,7 +686,7 @@ msgstr "Score" #. TODO - Dropdown menu option msgid "top_move_nothing" -msgstr "---" +msgstr "(nothing)" #. TODO - Dropdown menu option msgid "top_move_winrate" From fe694cf18a1edad8af7e6d5c1fd8258720864174 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Fri, 11 Dec 2020 18:07:00 +0100 Subject: [PATCH 39/73] kivy 2.0.0 + cleanup --- INSTALL.md | 8 ++++---- README.md | 2 ++ katrain/__main__.py | 1 - katrain/core/engine.py | 2 +- katrain/core/game.py | 2 +- katrain/gui/badukpan.py | 4 +--- katrain/gui/controlspanel.py | 1 - katrain/gui/widgets/movetree.py | 11 +---------- requirements.txt | 16 +++++++--------- setup.py | 13 ++++--------- 10 files changed, 21 insertions(+), 39 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 002c939..ae86c72 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -44,7 +44,7 @@ Simply download and run, everything is included. ### Installation from sources * Download the repository by clicking the green *Clone or download* on this page and *Download zip*. Extract the contents. -* Make sure you have a python installation, I will assume Anaconda (Python 3.7), available [here](https://www.anaconda.com/products/individual#download-section). +* Make sure you have a python installation, I will assume Anaconda (Python 3.7/3.8), available [here](https://www.anaconda.com/products/individual#download-section). * Open 'Anaconda prompt' from the start menu and navigate to where you extracted the zip file using the `cd ` command. * Execute the command `pip3 install .` * Start the app by running `katrain` in the command prompt. @@ -53,7 +53,7 @@ Simply download and run, everything is included. ### Quick install guide -If you have a working Python 3.6/3.7/3.8 available, you should be able to simply: +If you have a working Python 3.6-3.8 available, you should be able to simply: * Run `pip3 install -U katrain` * Run the program by executing `katrain` in a terminal. @@ -94,10 +94,10 @@ Then, try installing python package dependencies using: pip3 install -r requirements.txt pip3 install screeninfo # Skip on MacOS, not working ``` -In case the sound is not working, or there is no available wheel for your OS or Python version, try: +In case the sound is not working, or there is no available wheel for your OS or Python version, try building kivy locally using: ```bash pip3 uninstall kivy -pip3 install kivy --extra-index-url https://kivy.org/downloads/simple/ +pip3 install kivy --no-binary kivy ``` You can now start KaTrain by running `python3 -m katrain` diff --git a/README.md b/README.md index 3e769ad..ba57d1b 100644 --- a/README.md +++ b/README.md @@ -205,6 +205,8 @@ In addition to shortcuts mentioned above and those shown in the main menu: * Try using a lower number for `nnMaxBatchSize` in `KataGo/analysis_config.cfg`, and avoid using versions compiled with large board sizes. * If still encountering problems, please start KataGo by itself to check for any errors it gives. * Note that if you don't have a GPU, or your GPU does not support OpenCL, you should use the 'eigen' binaries which run on CPU only. +* The font size is too small + * On some ultra-high resolution monitors, font scale is not set correctly. Please see [these](https://github.com/sanderland/katrain/issues/250) instructions to adjust them. ## Support / Contribute diff --git a/katrain/__main__.py b/katrain/__main__.py index 9f0f8c8..0dce2bd 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -272,7 +272,6 @@ class KaTrainGui(Screen, KaTrainBase): player_info.calculated_rank = None self.update_player(bw) self.controls.graph.initialize_from_game(self.game.root) - # self.controls.rank_graph.initialize_from_game(self.game.root) self.update_state(redraw_board=True) def _do_insert_mode(self, mode="toggle"): diff --git a/katrain/core/engine.py b/katrain/core/engine.py index 3934539..6130d7c 100644 --- a/katrain/core/engine.py +++ b/katrain/core/engine.py @@ -6,7 +6,7 @@ import subprocess import threading import time import traceback -from typing import Callable, Dict, Optional, List +from typing import Callable, Dict, List, Optional from kivy.utils import platform diff --git a/katrain/core/game.py b/katrain/core/game.py index 2dd66a4..cc47ca2 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -15,11 +15,11 @@ from katrain.core.constants import ( PLAYER_AI, PLAYER_HUMAN, PROGRAM_NAME, + SGF_INTERNAL_COMMENTS_MARKER, STATUS_ANALYSIS, STATUS_ERROR, STATUS_INFO, STATUS_TEACHING, - SGF_INTERNAL_COMMENTS_MARKER, ) from katrain.core.engine import KataGoEngine from katrain.core.game_node import GameNode diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index 0cbe3f6..2908e66 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -496,9 +496,7 @@ class BadukPanWidget(Widget): size = min(self.width, self.height) * 0.227 Ellipse(pos=(center[0] - size / 2, center[1] - size / 2), size=(size, size)) Color(0.85, 0.85, 0.85) - draw_text( - pos=center, text=text, font_size=size * 0.25, halign="center" - ) + draw_text(pos=center, text=text, font_size=size * 0.25, halign="center") self.redraw_hover_contents_trigger() diff --git a/katrain/gui/controlspanel.py b/katrain/gui/controlspanel.py index 1fe8d9c..2689408 100644 --- a/katrain/gui/controlspanel.py +++ b/katrain/gui/controlspanel.py @@ -152,7 +152,6 @@ class ControlsPanel(BoxLayout): self.stats.player = "" self.graph.update_value(current_node) - # self.rank_graph.update_value(current_node) self.note.text = current_node.note self.info.text = info diff --git a/katrain/gui/widgets/movetree.py b/katrain/gui/widgets/movetree.py index a820779..8c7ad3e 100644 --- a/katrain/gui/widgets/movetree.py +++ b/katrain/gui/widgets/movetree.py @@ -11,16 +11,7 @@ from kivy.uix.widget import Widget from kivymd.app import MDApp from katrain.gui.kivyutils import BackgroundMixin, draw_circle, draw_text -from katrain.gui.style import ( - GREEN, - LIGHT_ORANGE, - LIGHTGREY, - ORANGE, - RED, - STONE_COLORS, - STONE_TEXT_COLORS, - YELLOW, -) +from katrain.gui.style import GREEN, LIGHT_ORANGE, LIGHTGREY, ORANGE, RED, STONE_COLORS, STONE_TEXT_COLORS, YELLOW class MoveTreeDropdown(DropDown): diff --git a/requirements.txt b/requirements.txt index 67fb1d9..7609a46 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,14 +1,12 @@ -certifi==2020.6.20 +certifi==2020.12.5 chardet==3.0.4 -Cython==0.29.14 -dataclasses==0.6 docutils==0.16 +ffpyplayer==4.3.2 idna==2.10 -Kivy==2.0.0rc2 +Kivy==2.0.0 Kivy-Garden==0.1.4 kivymd==0.104.1 -Pillow==7.2.0 -pygame==1.9.6 -Pygments==2.6.1 -requests==2.24.0 -urllib3==1.25.9 +Pillow==8.0.1 +Pygments==2.7.3 +requests==2.25.0 +urllib3==1.26.2 \ No newline at end of file diff --git a/setup.py b/setup.py index 7af79c4..a0bc74a 100644 --- a/setup.py +++ b/setup.py @@ -41,16 +41,11 @@ setup( install_requires=[ "wheel", "setuptools", - "urllib3", - "importlib_resources ;python_version<'3.7'", - "cython>=0.24,<=0.29.14,!=0.27,!=0.27.2", # kivy wants this - "kivy==2.0.0rc2;platform_system=='Darwin'", # rc3 failing on mac - "kivy>=2.0.0rc2;platform_system!='Darwin'", # just use the latest on linux? - "pygame;platform_system=='Darwin'", # some mac versions need this for kivy - "kivy_deps.glew;platform_system=='Windows'", - "kivy_deps.sdl2;platform_system=='Windows'", - "kivy_deps.gstreamer;platform_system=='Windows'", + "kivy[full]>=2.0.0", "kivymd>=0.104.1", + "importlib_resources ;python_version<'3.7'", + "urllib3", + "pygame;platform_system=='Darwin'", # some mac versions need this for kivy "screeninfo;platform_system!='Darwin'", # for screen resolution, has problems on macos ], dependency_links=["https://kivy.org/downloads/simple/"], From 3d43bf660f8d3445adb64a73390ea2838623d13c Mon Sep 17 00:00:00 2001 From: Sander Land Date: Fri, 11 Dec 2020 18:07:59 +0100 Subject: [PATCH 40/73] cleanup --- katrain/gui.kv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/katrain/gui.kv b/katrain/gui.kv index 5e9b347..7b2df05 100644 --- a/katrain/gui.kv +++ b/katrain/gui.kv @@ -615,7 +615,7 @@ size_hint: 1, None height: min(self.parent.height*0.66,self.label.texture_size[1]) outline_color: RED if self.error else WHITE - background_color: LIGHTER_BACKGROUND_COLOR # DARKRED + background_color: LIGHTER_BACKGROUND_COLOR ScrollableLabel: id: info detailed: False From bfa673d4b6f24d42bcbd7921043f5afd41735079 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Fri, 11 Dec 2020 20:34:38 +0100 Subject: [PATCH 41/73] theme --- .flake8 | 3 + katrain/__main__.py | 54 +++-- katrain/core/ai.py | 6 +- katrain/core/base_katrain.py | 17 +- katrain/core/constants.py | 1 + katrain/core/game.py | 2 +- katrain/core/game_node.py | 4 +- katrain/core/lang.py | 4 +- katrain/core/sgf_parser.py | 12 +- katrain/gui.kv | 222 +++++++++----------- katrain/gui/badukpan.py | 134 ++++++------ katrain/gui/controlspanel.py | 2 +- katrain/gui/kivyutils.py | 22 +- katrain/gui/popups.py | 19 +- katrain/gui/style.py | 82 -------- katrain/gui/theme.py | 145 +++++++++++++ katrain/gui/widgets/filebrowser.py | 4 +- katrain/gui/widgets/graph.py | 37 ++-- katrain/gui/widgets/movetree.py | 41 ++-- katrain/img/{black.png => black_circle.png} | Bin katrain/img/{white.png => white_circle.png} | Bin katrain/popups.kv | 70 +++--- 22 files changed, 477 insertions(+), 404 deletions(-) create mode 100644 .flake8 delete mode 100644 katrain/gui/style.py create mode 100644 katrain/gui/theme.py rename katrain/img/{black.png => black_circle.png} (100%) rename katrain/img/{white.png => white_circle.png} (100%) diff --git a/.flake8 b/.flake8 new file mode 100644 index 0000000..e8d0b8c --- /dev/null +++ b/.flake8 @@ -0,0 +1,3 @@ +[flake8] +ignore = E501, E203, W503, E402 # line length, space before binary op, line break before binary op, import not at top +exclude = .git,__pycache__,build,dist \ No newline at end of file diff --git a/katrain/__main__.py b/katrain/__main__.py index 0dce2bd..85703c1 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -1,7 +1,11 @@ """isort:skip_file""" # first, logging level lower +import json import os +from kivy.core.window import Window +from kivy.uix.widget import Widget + os.environ["KCFG_KIVY_LOG_LEVEL"] = os.environ.get("KCFG_KIVY_LOG_LEVEL", "warning") if "KIVY_AUDIO" not in os.environ: os.environ["KIVY_AUDIO"] = "sdl2" # some backends hard crash / this seems to be most stable @@ -46,9 +50,11 @@ from kivy.lang import Builder from kivy.resources import resource_add_path from kivy.uix.popup import Popup from kivy.uix.screenmanager import Screen -from katrain.core.ai import generate_ai_move -from kivy.core.window import Window +from kivy.resources import resource_find +from kivy.properties import NumericProperty, ObjectProperty, StringProperty +from kivy.clock import Clock from kivy.metrics import dp +from katrain.core.ai import generate_ai_move from katrain.core.lang import DEFAULT_LANGUAGE, i18n from katrain.core.constants import ( @@ -57,7 +63,6 @@ from katrain.core.constants import ( OUTPUT_INFO, OUTPUT_DEBUG, OUTPUT_EXTRA_DEBUG, - MODE_PLAY, MODE_ANALYZE, HOMEPAGE, VERSION, @@ -66,18 +71,23 @@ from katrain.core.constants import ( PLAYING_NORMAL, PLAYER_HUMAN, SGF_INTERNAL_COMMENTS_MARKER, + MODE_PLAY, + DATA_FOLDER, ) from katrain.gui.popups import ConfigTeacherPopup, ConfigTimerPopup, I18NPopup, SaveSGFPopup from katrain.core.base_katrain import KaTrainBase from katrain.core.engine import KataGoEngine from katrain.core.game import Game, IllegalMoveException, KaTrainSGF from katrain.core.sgf_parser import Move, ParseError -from katrain.gui.kivyutils import * from katrain.gui.popups import ConfigPopup, LoadSGFPopup, NewGamePopup, ConfigAIPopup -from katrain.gui.style import ENGINE_BUSY_COL, ENGINE_DOWN_COL, ENGINE_READY_COL -from katrain.gui.widgets import * -from katrain.gui.badukpan import AnalysisControls, BadukPanControls, BadukPanWidget -from katrain.gui.controlspanel import ControlsPanel +from katrain.gui.theme import Theme +from kivymd.app import MDApp + +# used in kv +from katrain.gui.kivyutils import * +from katrain.gui.widgets import MoveTree, I18NFileBrowser, SelectionSlider, ScoreGraph # noqa F401 +from katrain.gui.badukpan import AnalysisControls, BadukPanControls, BadukPanWidget # noqa F401 +from katrain.gui.controlspanel import ControlsPanel # noqa F401 class KaTrainGui(Screen, KaTrainBase): @@ -165,11 +175,11 @@ class KaTrainGui(Screen, KaTrainBase): # update engine status dot if not self.engine or not self.engine.katago_process or self.engine.katago_process.poll() is not None: - self.board_controls.engine_status_col = ENGINE_DOWN_COL + self.board_controls.engine_status_col = Theme.ENGINE_DOWN_COLOR elif len(self.engine.queries) == 0: - self.board_controls.engine_status_col = ENGINE_READY_COL + self.board_controls.engine_status_col = Theme.ENGINE_READY_COLOR else: - self.board_controls.engine_status_col = ENGINE_BUSY_COL + self.board_controls.engine_status_col = Theme.ENGINE_BUSY_COLOR self.board_controls.queries_remaining = len(self.engine.queries) # redraw board/stones @@ -590,7 +600,8 @@ class KaTrainGui(Screen, KaTrainBase): yappi.start() self.log("starting profiler", OUTPUT_ERROR) elif keycode[1] == "f10" and self.debug_level >= OUTPUT_EXTRA_DEBUG: - import yappi, time + import time + import yappi stats = yappi.get_func_stats() filename = f"callgrind.{int(time.time())}.prof" @@ -607,7 +618,6 @@ class KaTrainApp(MDApp): super().__init__() def build(self): - global DEFAULT_FONT self.icon = ICON # how you're supposed to set an icon self.title = f"KaTrain v{VERSION}" @@ -617,8 +627,22 @@ class KaTrainApp(MDApp): kv_file = find_package_resource("katrain/gui.kv") popup_kv_file = find_package_resource("katrain/popups.kv") - resource_add_path(PATHS["PACKAGE"]) - DEFAULT_FONT = resource_find(DEFAULT_FONT) + resource_add_path(PATHS["PACKAGE"] + "/sounds") + resource_add_path(PATHS["PACKAGE"] + "/img") + resource_add_path(os.path.abspath(os.path.expanduser(DATA_FOLDER))) # prefer resources in .katrain + + theme_file = resource_find("theme.json") + if theme_file: + try: + with open(theme_file) as f: + theme_overrides = json.load(f) + for k, v in theme_overrides.items(): + setattr(Theme, k, v) + print(f"[{theme_file}] Found theme override {k} = {v}") + except Exception as e: # noqa E722 + print(f"Failed to load theme file {theme_file}: {e}") + + Theme.DEFAULT_FONT = resource_find(Theme.DEFAULT_FONT) Builder.load_file(kv_file) Window.bind(on_request_close=self.on_request_close) diff --git a/katrain/core/ai.py b/katrain/core/ai.py index 457d4a1..7a0c8e4 100644 --- a/katrain/core/ai.py +++ b/katrain/core/ai.py @@ -125,11 +125,11 @@ def policy_weighted_move(policy_moves, lower_bound, weaken_fac): def generate_influence_territory_weights(ai_mode, ai_settings, policy_grid, size): thr_line = ai_settings["threshold"] - 1 # zero-based if ai_mode == AI_INFLUENCE: - weight = lambda x, y: (1 / ai_settings["line_weight"]) ** ( + weight = lambda x, y: (1 / ai_settings["line_weight"]) ** ( # noqa E731 max(0, thr_line - min(size[0] - 1 - x, x)) + max(0, thr_line - min(size[1] - 1 - y, y)) - ) + ) # noqa E731 else: - weight = lambda x, y: (1 / ai_settings["line_weight"]) ** ( + weight = lambda x, y: (1 / ai_settings["line_weight"]) ** ( # noqa E731 max(0, min(size[0] - 1 - x, x, size[1] - 1 - y, y) - thr_line) ) weighted_coords = [ diff --git a/katrain/core/base_katrain.py b/katrain/core/base_katrain.py index 819a30c..c5e2e49 100644 --- a/katrain/core/base_katrain.py +++ b/katrain/core/base_katrain.py @@ -6,7 +6,18 @@ from kivy import Config from kivy.storage.jsonstore import JsonStore from katrain.core.ai import ai_rank_estimation -from katrain.core.constants import * +from katrain.core.constants import ( + PLAYER_HUMAN, + PLAYER_AI, + PLAYING_NORMAL, + PLAYING_TEACHING, + OUTPUT_INFO, + OUTPUT_ERROR, + OUTPUT_DEBUG, + AI_DEFAULT, + CONFIG_MIN_VERSION, + DATA_FOLDER, +) from katrain.core.utils import find_package_resource @@ -44,7 +55,7 @@ class Player: class KaTrainBase: - USER_CONFIG_FILE = os.path.expanduser("~/.katrain/config.json") + USER_CONFIG_FILE = os.path.expanduser(os.path.join(DATA_FOLDER, "config.json")) PACKAGE_CONFIG_FILE = "katrain/config.json" """Settings, logging, and players functionality, so other classes like bots who need a katrain instance can be used without a GUI""" @@ -91,7 +102,7 @@ class KaTrainBase: else: # user file exists try: version = JsonStore(user_config_file).get("general")["version"] - except Exception: # broken file etc + except Exception: # noqa E722 broken file etc version = "0.0.0" if version < CONFIG_MIN_VERSION: backup = user_config_file + f".{version}.backup" diff --git a/katrain/core/constants.py b/katrain/core/constants.py index f2924d7..18c7085 100644 --- a/katrain/core/constants.py +++ b/katrain/core/constants.py @@ -3,6 +3,7 @@ VERSION = "1.7.0" HOMEPAGE = "https://github.com/sanderland/katrain" CONFIG_MIN_VERSION = "1.7.0" # keep config files from this version ANALYSIS_FORMAT_VERSION = "1.0" +DATA_FOLDER = "~/.katrain" OUTPUT_ERROR = -1 OUTPUT_KATAGO_STDERR = -0.5 diff --git a/katrain/core/game.py b/katrain/core/game.py index cc47ca2..feae7d8 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -215,7 +215,7 @@ class Game: if not copy_from_node.children: break copy_from_node = copy_from_node.ordered_children[0] - except: + except IllegalMoveException: pass # illegal move = stop self._calculate_groups() # recalculate groups self.katrain.controls.set_status( diff --git a/katrain/core/game_node.py b/katrain/core/game_node.py index 44430ac..7572eaf 100644 --- a/katrain/core/game_node.py +++ b/katrain/core/game_node.py @@ -15,7 +15,7 @@ from katrain.core.constants import ( from katrain.core.lang import i18n from katrain.core.sgf_parser import Move, SGFNode from katrain.core.utils import evaluation_class, pack_floats, unpack_floats, var_to_grid -from katrain.gui.style import INFO_PV_COLOR +from katrain.gui.theme import Theme def analysis_dumps(analysis): @@ -287,7 +287,7 @@ class GameNode(SGFNode): def make_pv(self, player, pv, interactive): pvtext = f"{player}{' '.join(pv)}" if interactive: - pvtext = f"[u][ref={pvtext}][color={INFO_PV_COLOR}]{pvtext}[/color][/ref][/u]" + pvtext = f"[u][ref={pvtext}][color={Theme.INFO_PV_COLOR}]{pvtext}[/color][/ref][/u]" return pvtext def comment(self, sgf=False, teach=False, details=False, interactive=True): diff --git a/katrain/core/lang.py b/katrain/core/lang.py index 7cff152..8bff10c 100644 --- a/katrain/core/lang.py +++ b/katrain/core/lang.py @@ -5,7 +5,7 @@ import sys from kivy._event import Observable from katrain.core.utils import find_package_resource -from katrain.gui.style import DEFAULT_FONT +from katrain.gui.theme import Theme class Lang(Observable): @@ -53,7 +53,7 @@ class Lang(Observable): return # get the right locales directory, and instantiate a gettext self.lang = lang - self.font_name = self.FONTS.get(lang) or DEFAULT_FONT + self.font_name = self.FONTS.get(lang) or Theme.DEFAULT_FONT i18n_dir, _ = os.path.split(find_package_resource("katrain/i18n/__init__.py")) locale_dir = os.path.join(i18n_dir, "locales") locales = gettext.translation("katrain", locale_dir, languages=[lang, DEFAULT_LANGUAGE]) diff --git a/katrain/core/sgf_parser.py b/katrain/core/sgf_parser.py index bf540ce..8cdc2d5 100644 --- a/katrain/core/sgf_parser.py +++ b/katrain/core/sgf_parser.py @@ -439,7 +439,7 @@ class SGF: re = "W+" elif "lack win" in lines[10]: re = "B+" - except: + except IndexError: pass if handicap < 0 or handicap > 9: @@ -527,7 +527,7 @@ class SGF: try: grlt = int(re.search(grlt_regex, line).group(1)) zipsu = int(re.search(zipsu_regex, line).group(1)) - except: + except: # noqa E722 return "" return gib_make_result(grlt, zipsu) @@ -561,7 +561,7 @@ class SGF: komi = int(re.search(r"GONGJE:(\d+),", line).group(1)) / 10 if komi: root.set_property("KM", komi) - except: + except: # noqa E722 pass if line.startswith("\\[GAMETAG="): @@ -570,7 +570,7 @@ class SGF: match = re.search(r"C(\d\d\d\d):(\d\d):(\d\d)", line) date = "{}-{}-{}".format(match.group(1), match.group(2), match.group(3)) root.set_property("DT", date) - except: + except: # noqa E722 pass if "RE" not in root.properties: @@ -583,7 +583,7 @@ class SGF: komi = int(re.search(r",G(\d+),", line).group(1)) / 10 if komi: root.set_property("KM", komi) - except: + except: # noqa E722 pass if line[0:3] == "INI": @@ -592,7 +592,7 @@ class SGF: setup = line.split() try: handicap = int(setup[3]) - except IndexError: + except ParseError: continue if handicap < 0 or handicap > 9: diff --git a/katrain/gui.kv b/katrain/gui.kv index 7b2df05..46674ff 100644 --- a/katrain/gui.kv +++ b/katrain/gui.kv @@ -10,30 +10,14 @@ #:import MODE_ANALYZE katrain.core.constants.MODE_ANALYZE #:import STATUS_INFO katrain.core.constants.STATUS_INFO +#:import Theme katrain.gui.theme.Theme +#:import BLACK katrain.gui.theme.BLACK +#:import LIGHTER_GREY katrain.gui.theme.LIGHTER_GREY -#:import WHITE katrain.gui.style.WHITE -#:import BLACK katrain.gui.style.BLACK -#:import LIGHTGREY katrain.gui.style.LIGHTGREY -#:import LIGHTERGREY katrain.gui.style.LIGHTERGREY -#:import GREEN katrain.gui.style.GREEN -#:import YELLOW katrain.gui.style.YELLOW -#:import RED katrain.gui.style.RED -#:import DARKRED katrain.gui.style.DARKRED -#:import ORANGE katrain.gui.style.ORANGE -#:import BACKGROUND_COLOR katrain.gui.style.BACKGROUND_COLOR -#:import BOX_BACKGROUND_COLOR katrain.gui.style.BOX_BACKGROUND_COLOR -#:import LIGHTER_BACKGROUND_COLOR katrain.gui.style.LIGHTER_BACKGROUND_COLOR -#:import TEXT_COLOR katrain.gui.style.TEXT_COLOR -#:import SCORE_COLOR katrain.gui.style.SCORE_COLOR -#:import WINRATE_COLOR katrain.gui.style.WINRATE_COLOR -#:import POINTLOSS_COLOR katrain.gui.style.POINTLOSS_COLOR -#:set BUTTON_INACTIVE_COLOR LIGHTGREY - -#:set CP_SPACING dp(6) -#:set CP_SMALL_SPACING dp(3) -#:set CP_PADDING dp(6) -#:set NOTES_FONT_SIZE sp(18) +#:set CP_SPACING Theme.CP_SPACING +#:set CP_SMALL_SPACING Theme.CP_SMALL_SPACING +#:set CP_PADDING Theme.CP_PADDING #:set EPSILON 1e-9 @@ -68,8 +52,8 @@ : ripple_duration_in_slow: 0.6 - text_color: TEXT_COLOR - background_color: BOX_BACKGROUND_COLOR + text_color: Theme.TEXT_COLOR + background_color: Theme.BOX_BACKGROUND_COLOR label: label text_size: root.size Label: @@ -85,27 +69,27 @@ width: root.label.texture_size[0] : - inactive_background_color: BACKGROUND_COLOR - active_background_color: BOX_BACKGROUND_COLOR + inactive_background_color: Theme.BACKGROUND_COLOR + active_background_color: Theme.BOX_BACKGROUND_COLOR background_color: self.active_background_color if self.state=='down' else self.inactive_background_color outline_color: self.active_outline_color if self.state=='down' else self.inactive_outline_color : - outline_color: WHITE + outline_color: Theme.BUTTON_BORDER_COLOR text_color: self.outline_color : - outline_color: WHITE + outline_color: Theme.BUTTON_BORDER_COLOR text_color: self.outline_color : - inactive_outline_color: BUTTON_INACTIVE_COLOR - active_outline_color: WHITE + inactive_outline_color: Theme.BUTTON_INACTIVE_COLOR + active_outline_color: Theme.BUTTON_BORDER_COLOR text_color: self.outline_color : - inactive_outline_color: BUTTON_INACTIVE_COLOR - active_outline_color: WHITE + inactive_outline_color: Theme.BUTTON_INACTIVE_COLOR + active_outline_color: Theme.BUTTON_BORDER_COLOR text_color: self.outline_color : @@ -115,7 +99,7 @@ background_radius: self.height/3.5 : - background_color: BOX_BACKGROUND_COLOR + background_color: Theme.BOX_BACKGROUND_COLOR : background_normal: '' @@ -131,20 +115,20 @@ : - background_color: LIGHTER_BACKGROUND_COLOR + background_color: Theme.LIGHTER_BACKGROUND_COLOR background_normal: '' lang_change_tracking: i18n._('') # for font - color: WHITE + color: Theme.INPUT_FONT_COLOR canvas.after: Color: - rgba: LIGHTGREY + rgba: LIGHT_GREY Line points: self.x,self.y,self.x+self.width,self.y width: 1 : -font_size: self.height * 0.5 - background_color: [*[c*255/88 for c in BACKGROUND_COLOR[:3]], 1] # compensate for texture + background_color: [*[c*255/88 for c in Theme.BACKGROUND_COLOR[:3]], 1] # compensate for texture option_cls: 'I18NSpinnerOption'
jeH0k@&V+ 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³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 literal 704053 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

@S5u~`P49Wsz2&Oem~E8se41W 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 z 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 z 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

@M-v6Rqd z#5%_xPtp@er{}C-rWK5YwV_LqK8*g>@qE$Yx#q}oDa3jNz&F)t{pZmGu%KaYHn(FH zo$kvp764;KR4-9-w3t$5oRK|5*?NbZGx6Us9ANb50CEHzfMh~m%d~Xl_xq(t2MH+i zzG|EHN9z!!k;L`C$=H$%7ej~Sunu5!VVUaqOwv|aF_G>J17OW0z!alnG@zsMmna=n zqr`SJ{%s;l5a1dEAY7vrc_mii2PB!}Pb~j^T10tl0g(aDUdlQ4qe>C)lo~shbgqOq z4=n_JrMcH5LDe*lLXncm@J48c7cxis!7&B1UY#-#{bpH{q9!)7%-k9tZMQIs0EF3| z&WUw7Boe5R%pwcOGInR~-;~Xw*$YrvAA0zga|6Vemg}R-lGqL03HiY*y_sY&E9cu5 z10n}wE9k$dvI~*~HMx@|e$IkZ`yoH|%a(+FK@3NMie8-o%;DbVBT9u_4I1+N%t>^S zAKdX*3}S+^P4qW99LQtSKOnJ-CWx_fbTNaZvg%6vEn(vfE{_Z1b{qYG-uHmK@x3^a z*o40{B9F2br1K`uI~>z03+HmGkIbY3=y&SnL|oesn38f~YXh0p$T`za7NymcTjxIL z{iKGe=xnZf`c}=*t9E*fdEU1;@xGi1ee4B(9&nD9LcN)M`x}*2Q)sqoF`9--kiQ#Y zb!0xUDl<16#;43>Z+D3ceB&esVcGsUj9UeXbXiF0fQ6i&8XxAc?}=A@uRr_X|1tQh zi07!~7(xBL>G}-Cmm)(Nc{X3Iu0D!74ZSE7+P%XIEeww&cq!u~z$Uw`Qw-z752JoV z%_CjtGuxFsT(zk|ULDIqLFxXA@dJH* z`OZ<<)$ZRaX{$_8Kmpw?5X1=nmQrJj6fJJh%PPaj&brRV&k&)U>FB{r5k7&*ONCRK z^q?+XqI~l-GxucKIuM3im-pv&ZuM4r?`6^z&M%1h8kY`}PYt}=KJFt7@sXN_o=NeR z6=VO|0A7R9B{Na8X9zIf4taVWfzhAGcCPT9e*|JONQ2!~R4&`m{kEas(LP=YOjL6* zQQ(Pg#2E*8OC_Xsw-Ys1$iXX}?yDH*!0Af8CZq!IS4rknCH_p7ZRmX_AUj;=3cAWq zjE|I6mE8-9aox7t0mx-CktDr0G2137jg*SQ>-##x$BL>EaWMYBvpc@t2C8X0B+{Ux zc~Y4IqHQFrI{>i4&CN}x+W~lJVL=yLJ#WB3{uL;lOyK)^$dS`m&C+=(K535(ys?ma zkwt5uDOCrCaNvzA&T!%fE*j(4>r|j5>uXQIzv~l#Bl_z}XjUyLWiAr6HXR8)b#0j3=d<147fF&Mf=M*f_yK_4V%T9%A5%#kOKUwNVN&OLA2@6$X7ZniO;2d3cwV zor@G$pKY~CGFF&4TYhpeWzb`BhHhXgyMJ?NZiw#(<6h)`xK&AJl*EQNQ1;MDpwq)e zwA22}Q95Iv9V${jkFDkp%e3xGU_bJLvf%B7t(VC zJZuRqxTf;XGMfgEbXC^Rc9rEiWGy9dy7(trRI{TlXcz?|Ewj%= z-05zsqC*38rwVxUcL_8S-Ht{P$$Mx7HjNG_vl`M>^{P58ob4M){net@D(TUiJSGn$ z$LZLe7*0uw5yOluH+0r3PL1BW+bDVx_VKCqOR~r43K@>?3F8#+**QqjI9EW18=xWZrme1O z?yakYqO9Xg^nL?`#yz z5ueFJod@amxY~RzP(5$<-rS0;Dm}UHa1((f8bRmygAos9R_d=2hY|N z!k6dcYwC_?{@|-_u}c+~Ol8{u(-*w-g9(S=<%pzO#0%l)fNSAIdgDe%N?8tFzT?oE z3~EW%?e&blFp`IOiei&)Z(}Y{_#hNZ;~K_d=e7!oxA*CV#b2+ZyYuldW8fR=^SdxG z58eM5*yAHgWdHBrBL~}F5?1z`pnk-IxiE3dj0gZkIY0z2%VBhp3qhdj{V%hioK)k0 zN1*x$Wh}He>(iE2a@m#SUVlHZ`=($?q2cKv=$$!T=@d1za+s z*MQ1FuhoT&H|?|No9_nFIIf79229qjr;%SR%OQc->LS) zItV>jf>IR`i2dF$2|?`*;_6@w8-R#jH}A&z&kEmpx1_H+s)ON|4{!GCQn1D%DG`6| zw38u?V=4j|9nivV60QNmKl;Su5Buub&U&}^Tg16>RyybPwgi*U*macZU9$mvA!QBZ zrF^oqPsnmsJQu_Bs{q>Q`u6&7mda}K2X3PX9!|H_VJ6A)>wZaj4L{AH-x@B>M53-` z&}(w!&BS#n_wqH=6rVDoK+anM_^V2cK4ZfeHV%821II+e{*YDP7+xsW*Ztcdb4njWGH=9{UGu?g zxfdaUfSt6+GE&9?;bedVSM=M&?%FCz$1zQ7ZeecbaKv=!h!$M~p+ubcCRkjplgfh% z3yX6^w6w1XJzj$~I8v2VqEf1edMNFz-rFg)s*pBD7}MUhq>r;7+Y14HovI;XVO7Of zO+$N{VMdd-L5=sE*RDlUsVRK+!Kmp7EXN>#8{Ssp@g#c$AR;-!|8D1bY1oc;%Uisz z%nb5a3wN-vk(qT^ne`fNUSA#wQe1GKhgbsYu*5py$%#brtOyb$4R$wV863HatO|ra zC+HSp(ohfSLkV{@N<>iXmh(QXbp|> zs9x-6)jSt$XUT>o{YCCcZjb>=J1}`k4Iy88vRRga(9uFaGZU?F+9{;gWSsm))@1D3 zE*k{w9Se+(u={@g0uKu)%Nj6jV8aVMA+IN*ep}@ViVs+WT@Nwb*8TUo>sO zy8XfoU8glOHB2tXD;Gb=!YoASQ_BltyUan!ZdOyg|E%g4Xz1q|km8Y(mI9aHeh=D7 zpYA)(HdQw&CM;m9{B2M_juaP4wXZK&8)4n|R`Ya~$^MZrqm-6K5v!HetWi3?$stcV zT?2}i?rPke(btgzhpM(E>LeBGJ#cg!7FO3oRfa*Q!*&tfD!g(PDWdRKMeFG;9XB4U z972>;sO-$^e;>`b@EC=rDs+IAL3cCU&SDM8hBa%+FsRt3>0IYEVuD}LLnzbBaLs0=hkN(5q^8QnHG8=hMP|_ zA`$R7d-^?2PRyk;T(a4zC=?Gm#wslc zRssKh8~0p~F^D{lDvxBouM0CW;|WYU$@pu4xhEK)KrEo^AiD^GE;oRci15F#T zxdbX#f$PH-xIPF!n*Y7rsokc1-yPf#F&45sRuSEPJl5rAb}j?V4Xbth^t%rdxDf>b zP;Yk231Bh-3;GUlx$%li9{vQjC;(Pi)Y8v0d#vghXYN3O4Hj4a!TEi96Z8&S0tI9U zo5|TId zr{UK8+hqb4_r1~lM7Rt?_NWaTj&GtX^f-j1imJylWj$_MomE(9X&+TvW#Aa3`6xwe z;G}J*!V~ZYQX|YMUk6qrUMQInrHN`cr*Yw#XG`X|J{u?Ui&9Ux z=xSTV>asxxR!1Hh)6M9lBvkiH*bz{9Bv8i-05dTqB(rgKaRuHVt)S)9=>8K)wIn5t zv-o~0Ke$nPBzN-O%`V|&UGL80yUJR{5oI@gHHQnVOq`=3eIZ&Q48Bm@2AXZT&~c$} z48pWw<72LdE?kUws|k=eMCMrJ5C)_qUtg|@=B1f(xP2bo!sr=jhuE$7?DPw{B?$+Q ziDOTwY(AsfaHA?f+J2nFjU(kU3JngSFQjjl+tsM@LmZ#kQgPNwR4poo7|$U_W%P66 zWi>lnipu_=)Ju?F(WuL`s!(0~=G)G3HKwojRxQZ;%H)jcQQH=mCH!zyB62q& zy1g9hUM6@qF$?-6AaMiIw_WPQ_?>AK!GJom0l7Ex$>5viI(?o;`NWdQE@{~yOGqYo zWcw1e%xhE}Vc^(%aBj@0-s~5)N_6*P>*B>X`dS^Z4xjy*oLlqBvHNlOae6_DvgY@~ z%)jPZP#iEL1xPG7t&B2phHU;x4g%)4af!kbzu8`t}phz#j4kK5!;rC@PMgI4lb`da>C5ppstV?f{Fn~?a{HA zv%gtxG*WG~p&!u@ndcY+4V3KHE_J~>!u2T<5LI^%72rRfCN&8mP!L+IC4($5u2iM} zI8Bfk1D+}9;9m&!h|;4&uE3%cLn8D9_~OI`V-j%iE-^4d;*R5zoLYC_lm>>?;5=q322XV3IE=kv{w znkPYEmOu>bMIXbmc9kBiYXoJq35)5(32~})xM@;Xvrcc0F`&VCmuBcY)WMeHTO6L0 zHzEl1?>0s z?*V9QCHf56(x+Ny0E{g!0z4`012K|-W{dU`(7qgCekQI1rlE(6jb|V(8OLMLIEn)p zTjmIXtL(@xsOUAD!+$&q*5sGJR?6^0rYaM_-F_h61OQFZ&zMW>94Wwmct60LE{y{Z zBWr-+Mr91fNU(TLI2HaCve{fO5O^#fJ54Dza~5R%9#5)AtT$y`iK zDH^AX%7eI)YVT64h&cLlQ@-01f_p@lJQq2)rQ)h0e1$9wyyeF^DiI8N*EF9qBX@J{ zNth0Tn}(c!XJPn8y(=EmOoW(-NcE9{wlta6;D;bk)Y$|Xnb3;@dLnP1Y3+yKQDDm`7O>AVg^y{VU%t-QF zYk_;Rl@)iF2-uwJu~6Kdh-?ud`+ER+t`t>b<7cG?9Orc)vfnWV>w*?-!R&8eC9kLrHdE!5(g#;I~NjG|xU zkV({7hUs;!qN2D&(<3^Exno^Q9BAw$bVocEv3?28kohN0oQnMu?ZtxNvT8;2{SnQiwnu zR3DJbsDBR=?Qgn?oj|KWYsyQIH9LBH<}R1f3W`GE%@@5Y+Ho5*;FUpIRje9f&0urt zZR^R8HKnRb9)RFd6whY{F6n^=}F+lMC>yye5S^I_hlT( zAVd(Z9F24RGJs|d)in76K&40KaY7!zAVlF2UUVgNuMMHkh+2bXfBsUP3h*H<6Mz6L12Un_ap~Cbz!nDZzmc^~O_i># z4g6ic1K37gIx6Lzfh`&-)Q?W>85taO7iqQK!?Vfr!y`dxlswAFa=LnBIZx4*Cf;Za zyOli(d|}@o+v)1~!V=y9 z1!#&YR79VzjHOM=M5quf$zrzEknLQOvD~JG(>4$3GM1{Ga|&5}ly6yeLnU0i!=IRM z!%e6105uXqX_ll<5B^-vT)(o(6ek=F;R6SM%Z5E#ymrd*v2&DsW*h-GdsXl!cKDU25W)2--sJC)<`e>R`5mEv<#Bd-MdOTYBm(3 z7KQyq98z|oI2{zE^M|B$HTxf%#n9qx|{ww{i?z zW!66Tq&yY)fTLE|o?Q%h1N#y8175^+oSb8LwccFVKmoC}coF0X(81>8CCFt`s?-=2W@4S)z}^yQM)qXf?nXzzE7K2bDc>k} z&j6+W+V$g{3?D@0ZuJdp$ZJdYT@@f7!Sf~LcF@^tbY!H>qs8v+MhdTsCIaeBF-VvV zS}!j;{=gAFXT7T9vmutsTxEk&iHEO&N^MjUL4r&|O;qmZ@5+8ql?4f|xuN`+L*1?A zYx3If<}mPYG-#b6Lr-V1y7$i;p}AqSNddSkL-Q3No}a8eczvW;tyzt#Pw%0^L%4hN zC)!M>Rz^X=T|0sdvxmg5*&wqiAbZ_V*=^P4hWN3f;q|*+CvEWu5Z;JLMX6|e_13r9 zH$MEHj8h`f5_<^EY8}zqFtQIq&8e}ZJAtka^5x__ahm13y$BX+->6zTunLlfbK%hH zi1?E6lG!8VW>nD2PeolwYs&G|wsY#POvIt04ySGU2t4THT}T^p-h97&!;+>w{E96@ z3L-ke`_7_Cblcr4fxXqdtzT?YDnFPjRyEudFJ97@9>e`yN#S;IIwQLsBV1;P>r~3W zBz!f9O(4!{aG*X(@G*wGMz5*ew$5ECuMKzP2G~LQzP`Qyx*N#-6$G%jPW(wf)xuQE zq$1dy^=nEVSl1`l>e8_c*?*Uqi?ToWo03`#J{Rx!Q%0D|HZ*ps5I0zZPps@(yy)jx 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�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 z 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 z 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

Lr(+_*Nsy{* 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�$2wLRn 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

0tzIi^OH9yN9bSR?Lt&s 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

HQ$pl2hI2Cr;7-7)$(%8UY$_iLgBW4C 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

4PFOzZRT^aw?ZP;Ku!DkY^LkVHX`~c%uD{iN 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 ON_(GFb5Rjo;(`GMUgZzylNO> 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 QxlgWMHq_12zWen504Reh3;+NC diff --git a/screenshots/teaching.gif b/screenshots/teaching.gif deleted file mode 100644 index 09e43075c91986df57c8b365cb329f5a79569d5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 765434 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 zȢ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

2gUoQH0Tb_BaSC-R1w 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 =CZ6 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%0D?Ho6 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

ZYCRO#&|n$%w`ytq^w)Ki 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 From 27236ab140b700bb7ec850e9e428fa1bd34a3ca6 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Mon, 14 Dec 2020 16:17:13 +0100 Subject: [PATCH 56/73] french is too long, mabbe they should use hangels --- katrain/core/constants.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/katrain/core/constants.py b/katrain/core/constants.py index 18c7085..500f050 100644 --- a/katrain/core/constants.py +++ b/katrain/core/constants.py @@ -233,10 +233,10 @@ TOP_MOVE_VISITS = "top_move_visits" TOP_MOVE_NOTHING = "top_move_nothing" TOP_MOVE_OPTIONS = [ - TOP_MOVE_DELTA_SCORE, TOP_MOVE_SCORE, - TOP_MOVE_DELTA_WINRATE, + TOP_MOVE_DELTA_SCORE, TOP_MOVE_WINRATE, + TOP_MOVE_DELTA_WINRATE, TOP_MOVE_VISITS, TOP_MOVE_NOTHING, ] From 76c38e8368295b89626176609b172862c1f4c402 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Mon, 14 Dec 2020 16:31:03 +0100 Subject: [PATCH 57/73] sgf save --- katrain/core/constants.py | 1 + katrain/core/game.py | 9 +++++---- katrain/core/game_node.py | 3 ++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/katrain/core/constants.py b/katrain/core/constants.py index 500f050..a7d2a99 100644 --- a/katrain/core/constants.py +++ b/katrain/core/constants.py @@ -240,6 +240,7 @@ TOP_MOVE_OPTIONS = [ TOP_MOVE_VISITS, TOP_MOVE_NOTHING, ] +REPORT_DT = 0.25 SGF_INTERNAL_COMMENTS_MARKER = "\u3164\u200b" SGF_SEPARATOR_MARKER = "\u3164\u3164" diff --git a/katrain/core/game.py b/katrain/core/game.py index 3f2c788..94a79ee 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -62,8 +62,9 @@ class Game: self.insert_after = None self.region_of_interest = None - + self.external_game = False # not generated by katrain at some point if move_tree: + self.external_game = PROGRAM_NAME not in self.root.get_property("AP", "") self.root = move_tree self.komi = self.root.komi handicap = int(self.root.get_property("HA", 0)) @@ -405,8 +406,8 @@ class Game: root_properties = self.root.properties x_properties = {} - if PROGRAM_NAME in self.root.get_property("AP", ""): - for bw in "BW": + for bw in "BW": + if not self.external_game: x_properties["P" + bw] = player_name(self.katrain.players_info[bw]) + SGF_INTERNAL_COMMENTS_MARKER player_info = self.katrain.players_info[bw] if player_info.player_type == PLAYER_AI: @@ -533,7 +534,7 @@ class Game: for move in analyze_moves: if cn.analysis["moves"].get(move.gtp(), {"visits": 0})["visits"] < visits: cn.analyze( - engine, priority=priority, visits=visits, refine_move=move, time_limit=False, report_every=None + engine, priority=priority, visits=visits, refine_move=move, time_limit=False ) # explicitly requested so take as long as you need def play_to_end(self): diff --git a/katrain/core/game_node.py b/katrain/core/game_node.py index a2db1b7..148b337 100644 --- a/katrain/core/game_node.py +++ b/katrain/core/game_node.py @@ -11,6 +11,7 @@ from katrain.core.constants import ( SGF_INTERNAL_COMMENTS_MARKER, SGF_SEPARATOR_MARKER, VERSION, + REPORT_DT, ) from katrain.core.lang import i18n from katrain.core.sgf_parser import Move, SGFNode @@ -173,7 +174,7 @@ class GameNode(SGFNode): analyze_fast=False, find_alternatives=False, region_of_interest=None, - report_every=0.25, + report_every=REPORT_DT, ): additional_moves = bool(find_alternatives or region_of_interest) engine.request_analysis( From 6318d5f479346ad8ca2f1e327931b502547fa2e3 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Mon, 14 Dec 2020 19:07:30 +0100 Subject: [PATCH 58/73] fix --- katrain/core/game.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/katrain/core/game.py b/katrain/core/game.py index 94a79ee..48f182a 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -64,8 +64,8 @@ class Game: self.region_of_interest = None self.external_game = False # not generated by katrain at some point if move_tree: - self.external_game = PROGRAM_NAME not in self.root.get_property("AP", "") self.root = move_tree + self.external_game = PROGRAM_NAME not in self.root.get_property("AP", "") self.komi = self.root.komi handicap = int(self.root.get_property("HA", 0)) if ( From 4d0cd40ee2091323d1806ed93ad713ce6e669784 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Mon, 14 Dec 2020 19:57:30 +0100 Subject: [PATCH 59/73] sound fi --- katrain/__main__.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/katrain/__main__.py b/katrain/__main__.py index f4cd051..22936f0 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -3,9 +3,6 @@ import json import os -from kivy.core.window import Window -from kivy.uix.widget import Widget - os.environ["KCFG_KIVY_LOG_LEVEL"] = os.environ.get("KCFG_KIVY_LOG_LEVEL", "warning") if "KIVY_AUDIO" not in os.environ: os.environ["KIVY_AUDIO"] = "sdl2" # some backends hard crash / this seems to be most stable @@ -50,6 +47,8 @@ from kivy.lang import Builder from kivy.resources import resource_add_path from kivy.uix.popup import Popup from kivy.uix.screenmanager import Screen +from kivy.core.window import Window +from kivy.uix.widget import Widget from kivy.resources import resource_find from kivy.properties import NumericProperty, ObjectProperty, StringProperty from kivy.clock import Clock From 4d05bcd6de8dfefcb82d44fa1b6ca2c50eb494b3 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Mon, 14 Dec 2020 20:02:14 +0100 Subject: [PATCH 60/73] clarify message --- .../i18n/locales/cn/LC_MESSAGES/katrain.mo | Bin 14222 -> 14229 bytes .../i18n/locales/cn/LC_MESSAGES/katrain.po | 3 ++- .../i18n/locales/de/LC_MESSAGES/katrain.mo | Bin 16323 -> 16330 bytes .../i18n/locales/de/LC_MESSAGES/katrain.po | 3 ++- .../i18n/locales/en/LC_MESSAGES/katrain.mo | Bin 15644 -> 15651 bytes .../i18n/locales/en/LC_MESSAGES/katrain.po | 3 ++- .../i18n/locales/es/LC_MESSAGES/katrain.mo | Bin 15761 -> 15768 bytes .../i18n/locales/es/LC_MESSAGES/katrain.po | 3 ++- .../i18n/locales/ru/LC_MESSAGES/katrain.mo | Bin 22171 -> 22178 bytes .../i18n/locales/ru/LC_MESSAGES/katrain.po | 3 ++- 10 files changed, 10 insertions(+), 5 deletions(-) diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo index 3da588988e88e14a6c4b9d8189f08e2054e664b5..afa981151784499d498be55a53c58fe1bea19f48 100644 GIT binary patch delta 1163 zcmXZaPe@cz6vy$KlbYu1&kUCRn_i)!<)2bh(5R?IVJ$*h1Z5#I*_g~k4irQ^f`T>` zVhIHXQ6#j8C$5bkH%380xQLP-Z}TrIrrXoJ9{r14wM94&biJy z=i)eu9){)%Tu1x{6Zjp=Fprv7T<=^7mSYiaMvYfn+-z~Xc@WDPKZaYezupCl3vStj z2R32M;z?A2*SH2hpc?&!+wiZ&wGB~&yHO1s#eLX~n*Y!oxBL`VkS}ZuoU7y`*%&1b z;1=SOsD)QCi9_yWGpG{|;z}IB!}t_cZyq&oZLl*sVI?Zj zV0NIc>JX}dQ@8=I;3~Xt1nPI_YuC=WrwO zb&DUNu5cXH$PB9BSBvMcfH;q8aKT*K5LaxH73!kjS^f*^;(lWxE}-_0wYfcuPhHv;B@(!T zf%T{YwOEd=r~*e&7kC;Icx__Zd!DTHd;Gz4rf(qSpU6dwVjysR2KCHsxPP N^`*0!iMw_A(*NfAgE0UA delta 1162 zcmXZaOK4L;6vpwvN3b>NEA%1SG!2TyCas#Z3c9EZ7g}5h8r_N1Py%UFY^WmW#f?Z8 z7Az|Gz=ErEAwr=d*o~qPK`MwA!3UyrQ*l$MqVe(nat~bi-E(H{oHH}`TK-D@L9WW{ zcg`J*JJ*2MF@#0)A#NakhGG1KL0m@7a|!3Fpauijf*NnLIBs#$?88RJ4`B=k63(l9 zaLFc2+Jq^KXHf;7ViUeZHTo5|;SY;rU4DZ-s0I#TAEr_BZ%E?FEl!|L`Yx*85^7$Zx5M9I zD=M+oOrefyAF6?4xDm&&4zJqyJ@XOj3g%JkyhZKs3x=?4u?HHpol6sYw?`<0(E5z7JoLsqw4%dt+zf|`QCHwyl9{URd_dQr-v;+ zgqw)ZTYM9Bgwv=-=1~RTTfB&?h?h|fu9$zYfp|^IZ=e|i{C_UNi|#yyS}<)6ppI?? z^|M_-HBz+k=h#8~8gqc EKdJeI`v3p{ diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po index 75e3af1..dbf5447 100644 --- a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po @@ -748,7 +748,8 @@ msgstr "Insert moves" #. TODO - Status message msgid "analysis:region:start" msgstr "" -"Drag to select the region of interest. Selecting a single point removes it." +"Drag to select the region of interest. Select a single point to cancel the " +"region." #. TODO - Restrict analysis to a specific region msgid "analysis:region" diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo index c8553d190e33ab7cf0a52a737d37256b50073790..fc289047d557ae35caf0739567d6fc9783f784db 100644 GIT binary patch delta 1180 zcmXZbPe@cz6vy$C)%f2sa~d<`l}ZiRA8i^-(@Ym4QbCKXMKO~MIylTk4beh;y9$D^ zsEAq=1k%!wG>C|(pd@KyEh3Vz77;{Y5kf8 zu^44TiEm;M?_w!F_V;IS1Mxd7z#K*}u-$AqwqgzLMI8{s4m^#kaSGMoD?EZ<{J1OP znr&qxMmBvoinTa~A)Ll~oX2V`++ns7>#-Z7Nb@#=9XO8q?gutwQPeA-6MKpKklO7I zmf>5Mg*yF=g}8u9kV6#`B+E8z!L>N#$7fL;O`(IcsFD9d<;mfC%-`u15XNQ1?Wl=& zq4K%=S*&7_M0GffN_-u|cpul`9IEr*s00POyf;ySy1I?1tBIiAP8+JR9@KYzsJAhQ zAv}Xjz_m*(RLO00@FD81-=h-$MW$&bE#85hNON`wmG~m+5#B=m{}|@sgug$Dn#?1t z!sotoSit$V$b##&yjCw!Gb(XAs)GZ#8INKEUO;vD0Jq>XRKW|VJi*=GM0-&kAM;J4 zCNzSY;5l5v`F2?gyn=d6*HCx$0#*48>cBUs4nLwE&o})4Yd|Fow3*dmIfh9XMeWDh zy~zz>C9#Xucoh?>@E!}jfhVZPGmH9JeL#)&6Y8L^sKS0?4KAV*h4y%lHG&nyhp`7! yemptxvUIq%&WSsxlIej|!a0#irn62q)ULi`u=o2J46$Q2SA=#U0p!2incG zG8Ut3DDhQXhBvVSANu=~*hKsWOE8ZSoX28}beJ__C+dJW_Fx8UFo$aJ8OHIGA9qJw zvoITRvgyN7Y{o1GaRS%i4Ax`e2D2sDh`ks_nzj+_!CR>BzF`a(M7;vKP?PRMYPK6# ziLYH2>hvR);w&mb9#u$yEUnmqD=_KDE~=v(Iyi;8f*+_nd0d6I(JP<{iwI+=iFc#& zxxFlwvN(w9@E9ubWn71MaXC(-I{%4EP_W5+6XmF@b5K_kLcN_RsaO3S68}b~X~mu1fn7**wg;8?Eb0+nL;Zgi3-OM>KZcsj1FXX* zzSCI3`8LOb>$N|qM6F$3;uxxfofyJ>*n($J9p1zB_!w32EGkc++neZiRLA>$`%x1b zK~3-!7I40u*8(q~9@8b%T|GrrK8ZT;6{^GcsK@gK|Nk0L3FmP&mTl(hNEk-#$G3Qs zOJXhY39QG9m{NteS?CQsLOq@-)X(Z2Y9b#{2Yp5r_8l8>4wa~CtM^z#SWUbacVWtp p$Hre&oNQj19_)7#&JYZwoWq&);IMNvbtrQ@HRPm+$J1?z%760ejHCbn diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po index fb72ede..d3129b5 100644 --- a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po @@ -798,7 +798,8 @@ msgstr "Insert moves" #. TODO - Status message msgid "analysis:region:start" msgstr "" -"Drag to select the region of interest. Selecting a single point removes it." +"Drag to select the region of interest. Select a single point to cancel the " +"region." #. TODO - Restrict analysis to a specific region msgid "analysis:region" diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo index 182ac9a1beb93f6c749d55e300071986ad663386..c0677f09a5d8a8deea707e301a194535dd95dc33 100644 GIT binary patch delta 1180 zcmXZbT}V@59LMoTu@~ob&M~z2gV@U=hD$TGh!_TukH_d4y@pE+`65l7(pK%z`Z!=#<#GUcm@aXIcmd! z4%?UzgK&qF;3#e)&bjeTY$GnY@h4P*Ke!XCJB`_bz1V{>Y{J_}ZDtk&xQP9@gkg+Q zy*7N(W>C-IEUM*~Q7ycVYj7I3;T)>spST`9T}~WAb*2y1nPJxiZY0j43ci6ls%ccm zX3&rJefNbIs1|;}b@&6dKpopuK@n8NQEb3NsDwkP!bedHXEBJU(Ti8y=M$(xrcebx zK#tfpZy0E2pV7h!YKOsYr!$?%eKS#1;yiA~^QZ;yqIOnBC47q2_!^htTU22mu^GRh z3aI>_=lmNuIGte-^}!z0PWwaTc(TKK&?zkpis8*ac~_!S#>IUV_p zdjBu#XuP`}TQRPRx*6!!?nmwH7%E{L)w&a?1UXb;XHf5tqrSh2EjWoff+x5S=TW!c vSDLS%Xl=7btb8(^NX4yeCYdf+g^U#&Nyp+Tt8hGS<>HBCCS4kDFM9t0;c1H^ delta 1173 zcmXZbOGs2v9LMofYR=R+HHv7Nb(tPhQsFqI)g%-p5iKGN-9#2N#LdZ(9Hge;Mnr9T zK(9rNNGL?~z_SQyKOy`9FG z)@EZC;AyPJAq?XfI`|lCa1v+ZG=}gumSb5mh(kD!IELDf<3dbe47Xt|cAjc z&zO}g5~(1;Zd^{>Yvaqfl=!ZVKcW)+#5VkcD=@Xzm<_lWtMNKgo4JiOIEk9{G_Juk z)vMvd9*Zg#gQ$_8L5=VtHsCO>!f{l^-*6F@wFYqU981^jNn=O`xR6nL#Tr9 zAy@2~S1i=oCv>oc>M*)Kn9OSAJ2Poi;w&cc1nR&MRA)Xa;Uk=hFR=n&qYC?gb@&-o zKisTC}x;Xc&p4x$qDq6*8So)VAzW$K^ mrs_t#(d|3r9B>98n{oPcZeQLxnmLji%nUeg-apq|jQj)o`-m9; diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po index f78e52b..20f1d6e 100644 --- a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po @@ -116,7 +116,8 @@ msgstr "Set region of interest" #. Status message msgid "analysis:region:start" msgstr "" -"Drag to select the region of interest. Selecting a single point removes it." +"Drag to select the region of interest. Select a single point to cancel the " +"region." #. Menu option msgid "analysis:playtoend" diff --git a/katrain/i18n/locales/es/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/es/LC_MESSAGES/katrain.mo index fe4467f3661a7b0f9d8aec663b30984ad1cae09d..5baaa1eaf1b075f871fef815f49027b94d6c171d 100644 GIT binary patch delta 1180 zcmXZbUucbS9LMqBm_KL7acsvn414xR91pe`_U8;s%F2b39HvBhIy-AS$9Tx>;whwa z<6?12H0?sJmZl>lxxkH5E3PO_G0TO>66MDGbDpP8=k@zN=lT7`i(CozWa0%vh4^M6>1Wi7^pFdDcL7cg(Ya*U(aC$JI^poLD0 z@ytR7S9!1muLUpO3cQa|p1;5P=$Z;7%0P8jNmWS0<(inAc~vN##%grO7sG%f;{So9^+#Cfa=g^T!-H=jIlQV zsA^H~HDVQdn;8@ufm-;q_<#ygNALxe`5bP*l1@MHM%3>|k)ll>YW+BJ{N^R9qkmEF zg}E4N`6^T*4X6&;SVDZ$rU7;!#hC=^Z{?yE4x=i(6wGs|0Hdf4@1i!GK(+P>j^Pxl zBZFOjAs11d&IR*3=%~dL47A}h)R|480=`GJa2l1!*T5fGtPr(6ywkS^bysZMhh3;6 vyHa=^8LDrzPFiQvnbd$|ozA8+uH|N}GtOZ4ykoh24#QMBn<*rlJ0t%A5|xK* delta 1173 zcmXZbe`w5c9LMpuIc)6M?zUO%_&SGE;%>V!n-hOoNye1?VOi_ww7c2e^3SDjm-2_W z5@CNVe=QN2F8Kq0s)@fSO)<+KB1@Eii1K{hee1f%=kvYq=kxyY`P|LImBQ3;ox9)6 z{4ujlcnq7chylEgVZ4JueC0WZ%bEW|A1;iW)nTn?02eWD!$u6F)+ewTd(pvxxVg5N zfy;w>yx_ff)$=y4;Q145!I!8&pRg0>QGvqkW~~^-M%;^gupgJ=HC&0e@H{@ob=cG4 znr&lnyn}4UG| z09E)qmw_^zLqC2)E%=SAv39%J7L4FpJcLSg6jeb9bwpEGi*HaJdXF3MGcLpW9o3_1 zMZFio7IZf<2rx*ZD(>^lVi)sE*nrP*3BE-oJd3K}E9&Tec=La#fIb#0kp@&@t5BVZ zq5^jz`?+?IK{F4IqJtS+gC*30`^Y`BXBfoqxD{)5Ry!0&-GKwBMEbD?PoNSULM470 z)zKWP&{E}h&i@_*wXj@yK!vCy_<+iM9;5gN6?lDj_4mU_u{MZWKaL!~JwLq>Q5#O6Hk?GY_90H-G^!&f zcU23?qdHym<~J~<7EdzJhL2EZHjN7S8r8xXR3aZezhI?8)OugiyY;BM62X1gi8``# nME&=qAr4v{!j0F^*hfw=Y5`Yp7Rck*&dA9#-ll@ zRuO4y5ZR0mu?pW~5ia3AEcA-3z|-i$gcV=IEaH1;$4BVEr&c_Tx_=HUa1k}H!zZ!} zD}9m@CxdfL=*B+WiUU}RGuHefZXwQS6v@U~Ok%wizd$$f6qew3^kNQGDlvd{*n@ZR z32xVUe@f&ygMPm`@d33Xj@=?P7{a|ch+5ziuEE?UkzU+@=W*DIm+vuem_ky?0ItFX z)K31!Ao@s}k0U7t+JOlyz-e5E^XSDtSdTlK&4XM*YROBi#$^GKZRo*ljH5omW#p`K z6<6Y{wf+^g-cQs{r7}5IIfF9PL`}F6lSmikF;?I=)F*Pbm`~$IEf_#e)P{D9qy8&N zEW;b9>l3IKd~3~r#6s$e>=)U@LJ=N7KkD1uM*Uz0wF3)ipo>lIScmKJ7G~ij+Hnf? zhO?NDpD`DI;9C5PwOD#k*QwvefNo01{|S*%)Rs+R9?s(q{DMcZd)&sY#yKmR}-JI>_hF~5Ne0gm_dDcr30M7ZhV8c26HKAc0%Q+Q0|ELNc&?0Wij-t+2mBWUzSVx7^jaUmXwC5%Me2nA!IaMVb2g^i2h N&PY6#9&T7F{s*;Ppy&Vq delta 1175 zcmXZaT}YEr7{KvoR^n=#!_3Ms-!v;ks?EOWgKbXxTwg0QsV-KnoH@0oqa+vv5q+Qp z5mbVqc@egV6e0u(2BioFc~MYTNnI3m5ky2_{h!|V>i0b7ocB5BJm>9A+wP@pPnzth zT_SS8C$b8Aa5=uldH4%;-su;ai}g4k<5qqdv&rwE1Mj07(^fu$x_%tXa0<1qJs=Xq z;((+ikKhCYx-f}ruoH_hV~tPYYVtprgB4XG7jZ3W{uIk`7#HDZ^kWvgEW;pfz((xB zK3u2c)hUrWf{to);0=b!?KL7^Jc`?~3w48cxEN<_6-i(T#__h5&)jC-@H|pVIGF6>SbXa@!`7e}xZC(w^Sa5Gl!Fb~p->?P09gR+w@fERPH0rd&aB4?FL zxDZFJ`H!gkeMRk5YMNjvK_SP}LO!g(cBG5ai)Hu;^@-+$%%>?u-7tt+D1;7dK>b(R zaS2{UogYBG;45qVE#|Yo{3ck*glo6R9^8WZHaAc|$e?y$5)E{-s2)AI04xs~w zQExbkE_{!(@e7vVPprfRdv%`o4-wE!Ir4u%q#w0qL+Hc_T#p~H7W4O+9caYk7Ae3@s5c3t7Km70KwWne zwcuUUPCdpx8*hwyk* Date: Mon, 14 Dec 2020 23:20:50 +0100 Subject: [PATCH 61/73] depth 1 on local + bugfix --- README.md | 4 +++- katrain/core/engine.py | 2 +- katrain/core/sgf_parser.py | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index bdf2274..68f80b1 100644 --- a/README.md +++ b/README.md @@ -158,7 +158,9 @@ Keyboard shortcuts are shown with **[key]**. * **[s]**: Equalize visits: Re-evaluate all currently shown next moves with the same visits as the current top move. Useful to increase confidence in the suggestions with high uncertainty. * **[d]**: Analyze all moves: Evaluate all possible next moves. This can take a bit of time even though 'fast_visits' is used, but can be useful to see how many reasonable next moves are available. * **[f]**: Find alternatives: Increases analysis of current candidate moves to at least the 'fast visits' level, and request a new query that excludes all current candidate moves. - * **[g]**: Select area of interest: set an area and search only for moves in this box, including variations. Good for solving tsumegos. + * **[g]**: Select area of interest: set an area and search only for moves in this box. + Good for solving tsumegos. Note that some results may appear outside the box due to establishing a baseline for the best move, + and the opponent can tenuki in variations. * **[i]**: Start insertion mode. Allows you to insert moves, to improve analysis when both players ignore an important exchange or life and death situation. Press again to stop inserting and copy the rest of the branch. * **[l]**: Play out the game until the end and add as a collapsed branch, to visualize the potential effect of mistakes. This is done in the background, and can be started at several nodes at once when comparing the results at different starting positions. * **[spacebar]**: Turn continuous analysis on/off. This will continuously improve analysis of the current position, similar to Lizzie's 'pondering', but only when there are no other queries going on. diff --git a/katrain/core/engine.py b/katrain/core/engine.py index 2f3fe3f..56c7ea9 100644 --- a/katrain/core/engine.py +++ b/katrain/core/engine.py @@ -294,7 +294,7 @@ class KataGoEngine: if x < xmin or x > xmax or y < ymin or y > ymax ], "player": player, - "untilDepth": 10000, + "untilDepth": 1, # tried a large number here, or 2, but this seems more natural } for player in "BW" ] diff --git a/katrain/core/sgf_parser.py b/katrain/core/sgf_parser.py index edd4037..be07dfd 100644 --- a/katrain/core/sgf_parser.py +++ b/katrain/core/sgf_parser.py @@ -281,7 +281,7 @@ class SGFNode: def play(self, move) -> "SGFNode": """Either find an existing child or create a new one with the given move.""" for c in self.children: - if c.move == move: + if c.move and c.move == move: return c return self.__class__(parent=self, move=move) From c44bb31f6b654967028a8bc2d1a4a56091c11c17 Mon Sep 17 00:00:00 2001 From: Dontbtme <66470440+Dontbtme@users.noreply.github.com> Date: Tue, 15 Dec 2020 18:21:46 +0100 Subject: [PATCH 62/73] 1.7 French po 1.7+"Force AI Move" French translation --- .../i18n/locales/fr/LC_MESSAGES/katrain.po | 78 ++++++------------- 1 file changed, 25 insertions(+), 53 deletions(-) diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po index 1079970..d0a504a 100644 --- a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po @@ -105,7 +105,7 @@ msgid "analysis:continuous" msgstr "Lancer/Arrêter l'analyse continue" msgid "analysis:aimove" -msgstr "Jouer le coup de l'IA" +msgstr "Jouer le coup du joueur artificiel" #. label in little popup for analyzing entire game msgid "reanalyze max visits" @@ -753,104 +753,76 @@ msgstr "" msgid "Make Main Branch" msgstr "Mettre en branche principale" -#. TODO - setting: what to show on top move (e.g. point loss, visits, ...) msgid "stats on top move" -msgstr "Stats on top moves" +msgstr "Données des coups recommandés :" -#. TODO - Dropdown menu option msgid "top_move_delta_winrate" -msgstr "Change in win rate" +msgstr "Variation pronostiq." -#. TODO - Dropdown menu option msgid "top_move_visits" -msgstr "Visits" +msgstr "Nombre de Visites" -#. TODO - Dropdown menu option msgid "top_move_score" msgstr "Score" -#. TODO - Dropdown menu option msgid "top_move_nothing" -msgstr "(nothing)" +msgstr "(Néant)" -#. TODO - Dropdown menu option msgid "top_move_winrate" -msgstr "Win rate" +msgstr "Pronostic" -#. TODO - Dropdown menu option msgid "top_move_delta_score" -msgstr "Change in score" +msgstr "Variation du score" -#. TODO - top move stats show threshold description msgid "show stats if" -msgstr "Show stats if more than ... visits" +msgstr "Nombre de visites minimum requis pour afficher les données :" -#. TODO - analysis option msgid "cache analysis to sgf" -msgstr "Cache analysis in SGF" +msgstr "Sauvegarder un cache SGF de l'analyse" -#. TODO msgid "menu:save-as" -msgstr "Save Game As..." +msgstr "Enregistrer sous..." -#. TODO -# sgf load button msgid "Load File" -msgstr "Load File" +msgstr "Charger" -#. TODO -# sgf save popup msgid "save sgf title" -msgstr "Save SGF File" +msgstr "Sauvegarder un fichier SGF" -#. TODO -# sgf save as button msgid "Save File" -msgstr "Save File" +msgstr "Enregistrer" -#. TODO - status message on starting insert mode msgid "starting insert mode" -msgstr "Starting insert mode, press 'i' to finish inserting." +msgstr "Pour clore/valider l'insertion des coups, veuillez appuyer sur 'i'." -#. TODO - status message on ending insert mode and copying the moves msgid "ending insert mode" -msgstr "Inserting exchange(s) done, copied {num_copied} following moves." +msgstr "L'insertion a été effectuée dans une nouvelle branche complétée par {num_copied} coup(s) d'origine." -#. TODO - when a user tries to go to a different move/node while in insert -#. mode msgid "finish inserting before navigating" -msgstr "" -"Navigation is disabled in insert mode, finish insert mode by pressing 'i'. " +msgstr "Il est impossible de parcourir l'arbre de jeu tant que l'insertion des coups n'est pas close/validée (en appuyant sur 'i')." -#. TODO - in new game options msgid "player names" -msgstr "Player Names" +msgstr "Nom des joueurs" -#. TODO - Option in dropdown to insert some moves between the current and next msgid "analysis:insert" -msgstr "Insert moves" +msgstr "Insérer des coups" -#. TODO - Status message msgid "analysis:region:start" msgstr "" -"Drag to select the region of interest. Selecting a single point removes it." +"Cliquez et glissez pour sélectionner la région à analyser en priorité. \n" +"Appuyez sur 'g' puis sélectionnez une intersection pour tout annuler." -#. TODO - Restrict analysis to a specific region msgid "analysis:region" -msgstr "Set region of interest" +msgstr "Définir la zone d'intérêt" -#. TODO - on move tree editing msgid "Toggle Collapse Branch" -msgstr "Expand/Collapse" +msgstr "Nouer/Dénouer la branche" -#. TODO - Menu option msgid "analysis:playtoend" -msgstr "Fast playout to game end" +msgstr "Simuler la fin de partie" -#. TODO - hint on player name input msgid "black player name hint" -msgstr "Black player's name" +msgstr "Noir" -#. TODO - hint on player name input msgid "white player name hint" -msgstr "White player's name" +msgstr "Blanc" From e29593517a020ee924d75034be845754a8f99d34 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Tue, 15 Dec 2020 18:26:10 +0100 Subject: [PATCH 63/73] fr mo + kivy require --- katrain/__main__.py | 2 ++ .../i18n/locales/fr/LC_MESSAGES/katrain.mo | Bin 17466 -> 17741 bytes .../i18n/locales/fr/LC_MESSAGES/katrain.po | 8 ++++++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/katrain/__main__.py b/katrain/__main__.py index 22936f0..d957e19 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -2,6 +2,8 @@ # first, logging level lower import json import os +import kivy +kivy.require("2.0.0") os.environ["KCFG_KIVY_LOG_LEVEL"] = os.environ.get("KCFG_KIVY_LOG_LEVEL", "warning") if "KIVY_AUDIO" not in os.environ: diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.mo index 8d135baf89623f0b1edff827457c5e66a2d46832..a9301513d3b0a5b84d1de0f6aec1298dd934dec7 100644 GIT binary patch delta 2532 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 diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po index d0a504a..81694f1 100644 --- a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po @@ -796,10 +796,14 @@ msgid "starting insert mode" msgstr "Pour clore/valider l'insertion des coups, veuillez appuyer sur 'i'." msgid "ending insert mode" -msgstr "L'insertion a été effectuée dans une nouvelle branche complétée par {num_copied} coup(s) d'origine." +msgstr "" +"L'insertion a été effectuée dans une nouvelle branche complétée par " +"{num_copied} coup(s) d'origine." msgid "finish inserting before navigating" -msgstr "Il est impossible de parcourir l'arbre de jeu tant que l'insertion des coups n'est pas close/validée (en appuyant sur 'i')." +msgstr "" +"Il est impossible de parcourir l'arbre de jeu tant que l'insertion des coups" +" n'est pas close/validée (en appuyant sur 'i')." msgid "player names" msgstr "Nom des joueurs" From eac72f83861d4f28de49dbe390d04280d953a08e Mon Sep 17 00:00:00 2001 From: Sander Land Date: Wed, 16 Dec 2020 17:54:26 +0100 Subject: [PATCH 64/73] fix sgf PL tag --- katrain/__main__.py | 1 + katrain/core/sgf_parser.py | 13 +++++++++++-- katrain/gui/badukpan.py | 2 +- tests/test_parser.py | 13 +++++++++++++ 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/katrain/__main__.py b/katrain/__main__.py index d957e19..dc1f76a 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -3,6 +3,7 @@ import json import os import kivy + kivy.require("2.0.0") os.environ["KCFG_KIVY_LOG_LEVEL"] = os.environ.get("KCFG_KIVY_LOG_LEVEL", "warning") diff --git a/katrain/core/sgf_parser.py b/katrain/core/sgf_parser.py index be07dfd..158d6a8 100644 --- a/katrain/core/sgf_parser.py +++ b/katrain/core/sgf_parser.py @@ -64,10 +64,15 @@ class Move: """Returns True if the move is a pass""" return self.coords is None + @staticmethod + def opponent_player(player): + """Returns the opposing player, i.e. W <-> B""" + return "W" if player == "B" else "B" + @property def opponent(self): """Returns the opposing player, i.e. W <-> B""" - return "W" if self.player == "B" else "B" + return self.opponent_player(self.player) class SGFNode: @@ -288,7 +293,11 @@ class SGFNode: @property def next_player(self): """Returns player to move""" - if "B" in self.properties or ("AB" in self.properties and "W" not in self.properties): # root or black moved + if "PL" in self.properties: # explicit + return "B" if self.get_property("PL").upper().strip() == "B" else "W" + elif "B" in self.properties or ( + "AB" in self.properties and "W" not in self.properties and "AW" not in self.properties + ): # b move or setup with only black moves like root handicap return "W" else: return "B" diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index bde7f3e..eacf143 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -696,7 +696,7 @@ class BadukPanWidget(Widget): def draw_pv(self, pv, node, up_to_move): katrain = self.katrain - next_last_player = [node.next_player, node.player] + next_last_player = [node.next_player, Move.opponent_player(node.next_player)] cn = katrain.game.current_node if node != cn and node.parent != cn: hide_node = cn diff --git a/tests/test_parser.py b/tests/test_parser.py index 83f0cc6..cdbfcd4 100644 --- a/tests/test_parser.py +++ b/tests/test_parser.py @@ -152,3 +152,16 @@ def test_foxwq(): while game.current_node.children: assert 1 == len(game.current_node.children) game.redo(1) + + +def test_next_player(): + input_sgf = "(;GM[1]FF[4]AB[aa]AW[bb])" + assert "B" == SGF.parse_sgf(input_sgf).next_player + input_sgf = "(;GM[1]FF[4]AB[aa]AW[bb]PL[B])" + assert "B" == SGF.parse_sgf(input_sgf).next_player + input_sgf = "(;GM[1]FF[4]AB[aa]AW[bb]PL[W])" + assert "W" == SGF.parse_sgf(input_sgf).next_player + input_sgf = "(;GM[1]FF[4]AB[aa])" + assert "W" == SGF.parse_sgf(input_sgf).next_player + input_sgf = "(;GM[1]FF[4]AB[aa]PL[B])" + assert "B" == SGF.parse_sgf(input_sgf).next_player From e92194cff23bf5e160ad41fe58049e0134408d98 Mon Sep 17 00:00:00 2001 From: Satoshi-PC Date: Thu, 17 Dec 2020 02:19:11 +0300 Subject: [PATCH 65/73] Russian for 1.7 --- .../i18n/locales/ru/LC_MESSAGES/katrain.mo | Bin 22178 -> 22694 bytes .../i18n/locales/ru/LC_MESSAGES/katrain.po | 80 ++++++------------ 2 files changed, 27 insertions(+), 53 deletions(-) diff --git a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.mo index 2f3056962370190f88616790d48eac89a3ca11ee..b583b4ca6ba663f812a8fec35cb51ccf219223f4 100644 GIT binary patch delta 2788 zcmaLZYiv|S6u|Mbh0q2m(3XOw0=Msq?V>FR7%dA0icne}@(PM5C=j4kkyz!i6sSNz zO1mlqtbia8qRF<~(xs0jh=z!XnfnDk5F^nK8iPh48cY=ZpS`!x24X_^-I+Ug=FB-~ zlYa8K=R~6?_+_j=RYc}yij2fc%*KP5hUak-{)oR|c9w{)Phe3x=HpVFg}jnR?1fj* zi&rtmBhoiVqz~ixT#Qa46&TI0X0MAUx&1@5B_wSKar2 zxa0UoMMBKyU@-?@#rGMHcub^%aWlS!8TlfI@Q~LpQo_U7$GIi?pAdNimlYCSjL7BD zBC8qSev+Hv@^K;qdW)_hgH3&>Krff<-v#Nk+q&*B;+Ryl)D;rD(X z^d>_mIH?_ty3s7u`OTPz2e1mi!ckb{`tsf{orlXTGpXP+KR<^4HGewhR}6mk>p4@j==5i{Bb0i(t&aKD{jO;-SIj$ z(_Y(%^pamr@=(FV1*Bi3V6q5VmPL3N>rqo$Fhyhmu0kE3$2oW#wFEP!icG`Js0Uoc z;dm3*VM2+>TC71G-@;_hmlb@)8L|nr>At`^{0?8jN(!e)m5iZ2V{iq=VFM22d^y1bmylM}n*ZZ27*gsSXrcb>3NaJQQ8#)M z^YAp1UAcl;ICQ2{A|GmL7NQY0@kw#o5@G@fb`;9~R;= z_x*k(>vF;!|BkxRzo<7&nN4Hjc$|l?qt0K%m+>d0>@uCk(ZK5GkbnK)IupY%bFSkg z)Gl9&Nmzw3xW}~?S2M0hP3;{VjIqx-7a5NFeZK1y)O9al626MsEARMuIOd`Ds5eUzKD3Z% zco>cr)+`KNir+Oj)$BJx6SBA1+f1to+gt5Dmc5;+v!*@teC9Dvps6$|u4^U`mtB)( zj_|tGG?^BAi|Mqt={KXy(Vi2bkFqB}oMP(jYI`foo4U5HF%i>j?+#oq8kTSB?A`jF zZ6cOw=1o{5F~MjQI$@bMW;^Y7O)!u)A=S@*yG`TWB|Nm45MQyzf=xi^Y% z50>q)>-eUVJ9LCDsMG;inb?aPJ{YeU8QwJ$EKd~MY$%Qxwoc6My0etYd* ztgNx@XmK(Hqx+{q_k+PgybY48X&3e8Dcad zma$x~#qw?;v*q35+<(7By`W~}jD}(5tjh6*eAD*!rY%$ZYI_7to7b!H4hq~T9T(p% zbtV`pp6U0bXeqkFbQ(;{!7W4Imc>T^ zi^^DJSBu|5?lc8qbJjAA&O!=GvuSEN#OyO|Y!KE0(WKP*!Bx!bx+R^#`t%mPYFD%M zNLTbUyOt{#C1>a{U2$qeZXa~7WoXIl8c%=nq*;vi6p6VpXIhM(#I(Apajrnr)zK#9 zCo2zlYtCt((giFh$RK~gn4``IVh;Drhh585_vO)yks^9d%*T8l>sBRT&&v&*nm4;= Y?E;OZNrCM7E7KnIONwsO?);AAKfmMBX8-^I delta 2349 zcmZwIYitx%6u|Mbl~-$lTFOHRFuYn?Ye7(Ku|i+86tFxNizF%x+iAOYJ6m=J%A;gK zg4&>B5D*n&z5+U)^@1DE&aqhWy z+C#^D?;Pozr&T2HcqVobm!{&= zsBi5Ya^R@kq)|pkI=k>rWC2oTS&Iko1DvJ(RU#{J8*2O|YDKc!=(4hWa-8lhtILfVxmM z@{pwiDWbfOQ}8F$E6QG!yqW^k4HuxU=O<4j zzw6;xM_7e=6(On^SH@9rq^cdflj%>WR`g=;Mx2 zPqKG;GUKDDckJN|9KdmgVhLtrEiz4>#{T#$YH1r#H)=sGv5N(`4fSmt#&W!fx=waZ zy+|XCJk-o~)yMhR`x<*^>|Y(*5RoD-m`T=I$6eZ$q1DH%zMxheBqX zW5urIR*fpJwH+(s8m-~=mLp!b*X#9oC*s@VyW*YRDX%9ZzQa39$4;p>9oJ|JnH$6F zT*D0;O=hcQSaw6#mbqh^{g!J)tfpYtHo}cY&~~ke<+xH6F`IO(V}+~$vzo2{8C7KX zlRuk=6SSK`meCew1)Uc#?SK`!V_sKj*~h~wLS~>Pk%|?`a}1kAx<;4pzpv5^uz_it zp^Z+^A&b~ogtvc1Jq|ART z^~QI{K3YCMZFXg%@LDe?Kvwc!Or?#8>010J_9uR-Pv*HI)!)^=;)O(Uwo;ns+375$ fiEs0c$9H=ty;EHoPi@Xw(HwMnHi-(QUWEJ$Mi~H| diff --git a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po index e4f851b..2a3e83f 100644 --- a/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/ru/LC_MESSAGES/katrain.po @@ -26,7 +26,7 @@ msgid "menu:clocksettings" msgstr "Контроль времени" msgid "menu:teachsettings" -msgstr "Настройки обучающей игры" +msgstr "Настройки анализа" msgid "menu:aisettings" msgstr "Настройки ИИ" @@ -325,7 +325,7 @@ msgstr "Начать новую игру" # teacher settings from here msgid "teacher settings" -msgstr "Редактировать настройки учителя" +msgstr "Редактировать настройки анализа" msgid "point loss threshold" msgstr "Потеря очков более" @@ -360,7 +360,7 @@ msgstr "" #. submit button msgid "update teacher" -msgstr "Сохранить настройки обратной связи" +msgstr "Сохранить настройки анализа" # main config settings msgid "restarting engine" @@ -717,105 +717,79 @@ msgstr "" msgid "Make Main Branch" msgstr "Сделать главной веткой" -#. TODO - setting: what to show on top move (e.g. point loss, visits, ...) msgid "stats on top move" -msgstr "Stats on top moves" +msgstr "Показывать числа поверх ходов" -#. TODO - Dropdown menu option msgid "top_move_delta_winrate" -msgstr "Change in win rate" +msgstr "Изменение процента" -#. TODO - Dropdown menu option msgid "top_move_visits" -msgstr "Visits" +msgstr "Посещения" -#. TODO - Dropdown menu option msgid "top_move_score" -msgstr "Score" +msgstr "Счёт" -#. TODO - Dropdown menu option msgid "top_move_nothing" msgstr "-" -#. TODO - Dropdown menu option msgid "top_move_winrate" -msgstr "Win rate" +msgstr "Процент побед" -#. TODO - Dropdown menu option msgid "top_move_delta_score" -msgstr "Change in score" +msgstr "Изменение счёта" -#. TODO - top move stats show threshold description msgid "show stats if" -msgstr "Show stats if more than ... visits" +msgstr "Числа только если посещений больше чем" -#. TODO - analysis option msgid "cache analysis to sgf" -msgstr "Cache analysis in SGF" +msgstr "Кэшировать анализ в SGF" -#. TODO msgid "menu:save-as" -msgstr "Save Game As..." +msgstr "Сохранить игру как..." -#. TODO # sgf load button msgid "Load File" -msgstr "Load File" +msgstr "Загрузить файл" -#. TODO # sgf save popup msgid "save sgf title" -msgstr "Save SGF File" +msgstr "Сохранить SGF файл" -#. TODO # sgf save as button msgid "Save File" -msgstr "Save File" +msgstr "Сохранить файл" -#. TODO - status message on starting insert mode msgid "starting insert mode" -msgstr "Starting insert mode, press 'i' to finish inserting." +msgstr "Активен режим вставки, нажмите 'i' для завершения." -#. TODO - status message on ending insert mode and copying the moves msgid "ending insert mode" -msgstr "Inserting exchange(s) done, copied {num_copied} following moves." +msgstr "Режим вставки завершён, скопировано {num_copied} следующих ходов." -#. TODO - when a user tries to go to a different move/node while in insert -#. mode msgid "finish inserting before navigating" msgstr "" -"Navigation is disabled in insert mode, finish insert mode by pressing 'i'. " +"Навигация отключена в режиме вставки, сначала завершите режим вставки нажав " +"'i'." -#. TODO - in new game options msgid "player names" -msgstr "Player Names" +msgstr "Имена игроков" -#. TODO - Option in dropdown to insert some moves between the current and next msgid "analysis:insert" -msgstr "Insert moves" +msgstr "Вставить ходы" -#. TODO - Status message msgid "analysis:region:start" -msgstr "" -"Drag to select the region of interest. Select a single point to cancel the " -"region." +msgstr "Выберите регион интереса. Выберите одну точку для сброса региона." -#. TODO - Restrict analysis to a specific region msgid "analysis:region" -msgstr "Set region of interest" +msgstr "Выбрать регион интереса" -#. TODO - on move tree editing msgid "Toggle Collapse Branch" -msgstr "Expand/Collapse" +msgstr "Развернуть/Свернуть" -#. TODO - Menu option msgid "analysis:playtoend" -msgstr "Fast playout to game end" +msgstr "Быстро доиграть до конца" -#. TODO - hint on player name input msgid "black player name hint" -msgstr "Black player's name" +msgstr "Имя игрока чёрными" -#. TODO - hint on player name input msgid "white player name hint" -msgstr "White player's name" +msgstr "Имя игрока белыми" From 2ea7bb99698786838076b8d47f6453d69cf117fc Mon Sep 17 00:00:00 2001 From: Svante Date: Thu, 17 Dec 2020 11:15:18 +0100 Subject: [PATCH 66/73] German translations --- .../i18n/locales/de/LC_MESSAGES/katrain.po | 242 +++++++++--------- 1 file changed, 121 insertions(+), 121 deletions(-) diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po index d3129b5..a7fba5c 100644 --- a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po @@ -8,16 +8,16 @@ msgstr "" #. main hamburger menu msgid "menu:playersetup" -msgstr "Spieler Setup" +msgstr "Spieler-Setup" msgid "menu:newgame" msgstr "Neue Partie" msgid "menu:save" -msgstr "Partie Speichern" +msgstr "Partie speichern" msgid "menu:load" -msgstr "Partie Laden" +msgstr "Partie laden" msgid "menu:settings" msgstr "Allgemeine Einstellungen" @@ -29,7 +29,7 @@ msgid "menu:teachsettings" msgstr "Einstellungen Übungsspiel" msgid "menu:aisettings" -msgstr "AI Einstellungen" +msgstr "AI-Einstellungen" msgid "menu:lang" msgstr "Spracheinstellungen" @@ -51,7 +51,7 @@ msgid "player:ai" msgstr "AI" msgid "aistrategy" -msgstr "AI Strategie" +msgstr "AI-Strategie" msgid "gametype" msgstr "Partieart" @@ -99,7 +99,7 @@ msgid "analysis:sweep" msgstr "Schnelle Analyse aller Züge" msgid "analysis:aimove" -msgstr "AI Zug erzwingen" +msgstr "AI-Zug erzwingen" #. right panel buttons and below board msgid "pass-button-text" @@ -107,7 +107,7 @@ msgstr "Passen" msgid "ai-ponder" msgstr "" -"Zeigt den Enginestatus an von grün (Leerlauf) bis orange(Zugberechnung). Ist" +"Zeigt den Enginestatus an von grün (Leerlauf) bis orange (Zugberechnung). Ist" " rot, wenn die Engine abgestürzt ist oder nicht starten konnte." #. undo button on the right @@ -131,17 +131,17 @@ msgid "tab:notes" msgstr "Anmerkungen" msgid "closedlabel:scoregraph" -msgstr "Punkte Graph" +msgstr "Punkte-Graph" #. on the graph msgid "Jigo" msgstr "Jigo" msgid "closedlabel:movestats" -msgstr "Zug Statistik" +msgstr "Zug-Statistik" msgid "closedlabel:info¬es" -msgstr "Zug Info & Anmerkungen" +msgstr "Zug-Info & Anmerkungen" #. on the board after passing once/twice msgid "board-pass" @@ -149,7 +149,7 @@ msgstr "Passen" msgid "board-game-end" msgstr "" -"Partie\n" +"Partie-\n" "Ende" #. Select mode @@ -178,8 +178,8 @@ msgstr "Punkte gewonnen" #. SGF and move comment messages msgid "SGF start message" msgstr "" -"Züge, die mit 'X' markiert sind, sind die besten Züge für KataGo, die " -"miteinem Quadrat sind Züge, die wenige als 0.5 Punkte verlieren." +"Züge, die mit 'X' markiert sind, sind die besten Züge für KataGo; die " +"mit einem Quadrat sind Züge, die weniger als 0.5 Punkte verlieren." msgid "Info:score" msgstr "Ergebnis: {score}" @@ -195,7 +195,7 @@ msgid "move" msgstr "Zug {number}" msgid "Info:top move" -msgstr "Bestvorhergesagte Zug war {top_move} ({score})." +msgstr "Bestvorhergesagter Zug war {top_move} ({score})." msgid "Info:best move" msgstr "Zug war der bestvorhergesagte Zug" @@ -204,7 +204,7 @@ msgid "Info:PV" msgstr "PV: {pv}" msgid "Info:policy rank" -msgstr "Zug war #{rank} gemäss Policy ({probability:.2%})." +msgstr "Zug war #{rank} gemäß Policy ({probability:.2%})." msgid "Info:policy best" msgstr "Bester Policy-Zug war {move} ({probability:.1%})." @@ -225,11 +225,11 @@ msgid "Analyzing move..." msgstr "Zug wird analysiert..." msgid "SGF Notes Hint" -msgstr "Deine SGF Anmerkungen für diese Position." +msgstr "Deine SGF-Anmerkungen für diese Position." # sgf load popup msgid "load sgf title" -msgstr "SGF File für Analyse laden" +msgstr "SGF-Datei für Analyse laden" msgid "load sgf fast analysis" msgstr "Schnelle Analyse verwenden" @@ -239,10 +239,10 @@ msgstr "Am Anfang beginnen" # timer settings from here msgid "timer settings" -msgstr "Timereinstellungen Anpassen" +msgstr "Timereinstellungen anpassen" msgid "byoyomi length" -msgstr "Zeit pro Byo-yomi Periode" +msgstr "Zeit pro Byo-yomi-Periode" msgid "byoyomi periods" msgstr "Anzahl Perioden" @@ -256,10 +256,10 @@ msgstr "Timer aktualisieren" # new game settings from here msgid "New Game title" -msgstr "Neues Spiel Einstellen" +msgstr "Neues Spiel erstellen" msgid "board size" -msgstr "Brettgrösse" +msgstr "Brettgröße" msgid "handicap" msgstr "Vorgabe" @@ -298,14 +298,14 @@ msgstr "Benutze x:y (z.B. 19:9) für nichtquadratische Grössen" #. submit new game msgid "new game" -msgstr "Neues Spiel Starten" +msgstr "Neues Spiel starten" # teacher settings from here msgid "teacher settings" -msgstr "Übungsspieleinstellungen Bearbeiten" +msgstr "Übungsspieleinstellungen bearbeiten" msgid "point loss threshold" -msgstr "Punktverlust grösser als" +msgstr "Punktverlust größer als" msgid "num undos" msgstr "Anzahl der Undos" @@ -326,7 +326,7 @@ msgstr "" msgid "show ai dots" msgstr "" -"Dots/SGF Kommentare \n" +"Dots/SGF-Kommentare \n" " für AI Spieler zeigen" msgid "lock ai when playing" @@ -340,11 +340,11 @@ msgstr "Feedbackeinstellungen aktualisieren" # main config settings msgid "restarting engine" -msgstr "Engine nach Änderunge der Einstellungen neustarten." +msgstr "Engine nach Änderungen der Einstellungen neustarten." # title msgid "general settings title" -msgstr "Allgemeine und Engine Einstellungen" +msgstr "Allgemeine und Engine-Einstellungen" msgid "file not found" msgstr "Pfad existiert nicht" @@ -353,25 +353,25 @@ msgid "general settings" msgstr "Allgemeine Einstellungen" msgid "engine settings" -msgstr "Engine Einstellungen" +msgstr "Engine-Einstellungen" msgid "katago settings" -msgstr "KataGo Einstellungen" +msgstr "KataGo-Einstellungen" msgid "config file path" msgstr "Alle Optionen sind gespeichert in:" msgid "engine:katago" -msgstr "Pfad zur KataGo Datei" +msgstr "Pfad zur KataGo-Datei" msgid "engine:katago:hint" -msgstr "Leer = beigefügte Datei verwenden." +msgstr "Leer = beigefügte Datei verwenden" msgid "engine:model" -msgstr "Pfad zur KataGo Model Datei" +msgstr "Pfad zur KataGo-Model-Datei" msgid "engine:config" -msgstr "Pfad zur KataGo Config Datei" +msgstr "Pfad zur KataGo-Config-Datei" msgid "engine:max_visits" msgstr "Maximale Anzahl der Visits in Analyse" @@ -394,16 +394,16 @@ msgid "engine:time:hint" msgstr "Zeit in Sekunden" msgid "general:sgf_load" -msgstr "Pfad um SGF Dateien zu laden" +msgstr "Pfad um SGF-Dateien zu laden" msgid "general:sgf_save" -msgstr "Pfad um SGF Dateien zu speichern" +msgstr "Pfad um SGF-Dateien zu speichern" msgid "general:anim_pv_time" msgstr "Zeit zwischen Zügen, wenn Sequenz animiert wird" msgid "general:debug_level" -msgstr "Debug level in der Konsole" +msgstr "Debuglevel in der Konsole" msgid "general:debug_level:hint" msgstr "Auf 1 setzen, wenn Fehler gemeldet werden sollen" @@ -413,13 +413,13 @@ msgstr "Einstellungen aktualisieren" # ai settings from here msgid "ai settings" -msgstr "Erweiterte AI Einstellungen" +msgstr "Erweiterte AI-Einstellungen" msgid "Select AI" -msgstr "AI Strategie zum Konfigurieren auswählen" +msgstr "AI-Strategie zum Konfigurieren auswählen" msgid "update ai settings" -msgstr "AI Einstellungen aktualisieren" +msgstr "AI-Einstellungen aktualisieren" #. misc errors and info messages msgid "sgf written" @@ -443,12 +443,12 @@ msgstr "SGF konnte nicht geladen werde: {error}" msgid "Starting Kata failed" msgstr "" "Der Start von KataGo mit Befehl '{command}' ist fehlgeschlagen mit Fehler " -"{error}.Bitte überprüfe, dass der 'katago' Wert in 'engine' bei den " -"Einstellungen aufdas richtige KataGo File zeigt." +"{error}. Bitte überprüfe, dass der Wert 'katago' in 'engine' bei den " +"Einstellungen auf die richtige KataGo-Datei zeigt." msgid "Engine died unexpectedly" msgstr "" -"Engine ist unerwartet abgestürzt ohne Ausgabe zu senden,wahrscheinlich wegen" +"Engine ist unerwartet abgestürzt, ohne Ausgabe zu senden, wahrscheinlich wegen" " zu wenig Speicher: {error}" #. AI names, help etc @@ -463,7 +463,7 @@ msgstr "KataGo" msgid "aihelp:default" msgstr "" -"Spielstärkste KataGo AI. Spielstärke wird von `max visits` und `model`in den" +"Spielstärkste KataGo-AI. Spielstärke wird von `max visits` und `model` in den" " allgemeinen Einstellungen im Bereich `engine` und dem Engine-" "Konfigurationsfile bestimmt. Hier gibt es sonst keine Optionen." @@ -498,9 +498,9 @@ msgstr "Policy Gewichtet" msgid "aihelp:p:weighted" msgstr "" -"Wählt den Zug gemäss der Policy-Wahrscheinlichkeit, beeinflusst durch " +"Wählt den Zug gemäß der Policy-Wahrscheinlichkeit, beeinflusst durch " "`weaken_fac` wie wahrscheinlich schlechtere Züge gespielt werden. Mit einem " -"kleinen Wert spielt wie die `Policy` AI. `pick_override` legt fest, wann der" +"kleinen Wert spielt wie die AI `Policy`. `pick_override` legt fest, wann der" " beste Zug gewählt wird ohne Zufall und `lower_bound` bestimmt die untere " "Grenze des erlaubten Policy-Wertes." @@ -510,7 +510,7 @@ msgstr "Blinde Policy" msgid "aihelp:p:pick" msgstr "" "Wählt `pick_n + pick_frac * ` gewichtete Züge " -"zufälligund spielt den Besten. Spielt wie die Policy AI, wenn `pick_frac=1`." +"zufällig und spielt den besten. Spielt wie die AI `Policy`, wenn `pick_frac=1`." " Spielt besten Zug, wenn Policy-Wert höher als `pick_override` ist, um " "offensichtliche Fehler zu vermeiden." @@ -519,41 +519,41 @@ msgstr "Lokaler Stil" msgid "aihelp:p:local" msgstr "" -"Wählt `pick_n + pick_frac * ` gewichtete Züge nahedem" -" letzten Zug und spielt den Besten. Spielt besten Zug, wenn Policy-Wert " +"Wählt `pick_n + pick_frac * ` gewichtete Züge nahe dem" +" letzten Zug und spielt den besten. Spielt besten Zug, wenn Policy-Wert " "höher als`pick_override` ist, um offensichtliche Fehler zu vermeiden." msgid "ai:p:tenuki" -msgstr "Tenuki Stil" +msgstr "Tenuki-Stil" msgid "aihelp:p:tenuki" msgstr "" "Wählt `pick_n + pick_frac * ` gewichtete Züge " -"fernvomletzten Zug und spielt den Besten. Spielt besten Zug, wenn Policy-" +"fern vom letzten Zug und spielt den besten. Spielt besten Zug, wenn Policy-" "Wert höher als`pick_override` ist, um offensichtliche Fehler zu vermeiden. " -"Eine höhere `stddev`führt zu weiter entfernten Zügen." +"Eine höhere `stddev` führt zu weiter entfernten Zügen." msgid "ai:p:influence" msgstr "Einflussstil" msgid "aihelp:p:influence" msgstr "" -"Wählt Züge oberhalb des Grenzwertes und spielt den Besten.Erhöhe " -"`line_weight`,um Züge nahe der Ecken mehr zu bestrafen.Stoppt die Strategie " -"nach dem der 'endgame' Anteil des Brettes gefüllt ist." +"Wählt Züge oberhalb des Grenzwertes und spielt den Besten. Erhöhe " +"`line_weight`, um Züge nahe der Ecken mehr zu bestrafen. Stoppt die Strategie " +"nachdem der 'endgame'-Anteil des Brettes gefüllt ist." msgid "ai:p:territory" msgstr "Gebietsstil" msgid "aihelp:p:territory" msgstr "" -"Wählt Züge unterhalb des Grenzwertes und spielt den Besten.Erhöhe " -"`line_weight`,um Züge nahe der Mitte mehr zu bestrafen.Stoppt die Strategie " -"nach dem der 'endgame' Anteil des Brettes gefüllt ist." +"Wählt Züge unterhalb des Grenzwertes und spielt den besten. Erhöhe " +"`line_weight`, um Züge nahe der Mitte mehr zu bestrafen. Stoppt die Strategie " +"nachdem der 'endgame'-Anteil des Brettes gefüllt ist." msgid "aihelp:p:rank" msgstr "" -"Wählt eine begrenzte Anzahl zufälliger Züge und spielt den Besten. Stärkere " +"Wählt eine begrenzte Anzahl zufälliger Züge und spielt den besten. Stärkere " "Einstellungen wählen den besten Zug aus einer grösseren Auswahl. Da es " "keinen 0 Kyu/Dan gibt, ist 3 Dan = -2 Kyu." @@ -567,23 +567,23 @@ msgstr "Details" msgid "Kata exe not found" msgstr "" -"KataGo binary {exe} nicht gefunden, bitte prüfe Allgemeine Einstellungen." +"KataGo-Binary {exe} nicht gefunden, bitte prüfe allgemeine Einstellungen." msgid "Kata config not found" msgstr "" -"KataGo config Datei {config} nicht gefunden, bitte prüfe Allgemeine " +"KataGo-Konfigurationsdatei {config} nicht gefunden, bitte prüfe allgemeine " "Einstellungen." msgid "Kata exe not found in path" msgstr "" -"KataGo binary {exe} nicht im PATH gefunden, prüfe deine Umgebungs- variablen" -" oder benutze den vollen Pfad in den Allgemeinen Einstellungen. Wenn unter " -"MacOS, konsultiere das Handbuch wie brew verwendet werden soll, um KataGo zu" +"KataGo-Binary {exe} nicht im PATH gefunden, prüfe deine Umgebungsvariablen" +" oder benutze den vollen Pfad in den allgemeinen Einstellungen. Wenn unter " +"MacOS, konsultiere das Handbuch, wie brew verwendet werden soll, um KataGo zu" " installieren." msgid "Kata model not found" msgstr "" -"KataGo model {model} nicht gefunden, bitte prüfe Allgemeine Einstellungen." +"KataGo-Modell {model} nicht gefunden, bitte prüfe allgemeine Einstellungen." msgid "extra analysis" msgstr "Erweiterte Analyse wird ausgeführt mit {visits} Visits" @@ -616,12 +616,12 @@ msgid "analysis:continuous" msgstr "Kontinuierliche Analyse ein/aus" msgid "ai:handicap" -msgstr "KataHandicap" +msgstr "Kata-Vorgabesteine" msgid "aihelp:handicap" msgstr "" -"Optimiertes KataGo für höhere Handicap Spiele.Die pda Einstellungentspricht " -"playoutDoublingAdvantage in KataGo, aus Sicht von Schwarz.Wenn automatic " +"Optimiertes KataGo für höhere Vorgabe-Spiele. Die Einstellung `pda` entspricht " +"`playoutDoublingAdvantage` in KataGo, aus Sicht von Schwarz. Wenn `automatic` " "eingestellt ist, wird KaTrain automatischeinen geeigneten Wert finden." msgid "estimated strength" @@ -644,7 +644,7 @@ msgstr "Farbschema" msgid "engine:altcommand:hint" msgstr "" -"Kompletter Befehl um die Engine zu starten. Alle anderen Modelloptionen " +"Kompletter Befehl, um die Engine zu starten. Alle anderen Modelloptionen " "werden ignoriert." msgid "engine:altcommand" @@ -664,8 +664,8 @@ msgstr "Alle verfügbaren Programme wurden bereits heruntergeladen" msgid "Engine missing DLL" msgstr "" -"Konnte KataGo wegen fehlender DLL nicht starten. Überprüf die Anforderungen " -"in der KataGo-Dokumentation oder versuch, KataGo alleine zu starten, um " +"Konnte KataGo wegen fehlender DLL nicht starten. Überprüfe die Anforderungen " +"in der KataGo-Dokumentation oder versuche, KataGo alleine zu starten, um " "Einzelheiten zu erfahren." msgid "teaching undo message" @@ -689,20 +689,20 @@ msgstr "Suche nach alternativen Zügen" #. TODO - ignore moves if timer is on and less than this is used msgid "minimal time use" -msgstr "Minimal time use in byo-yomi (s)" +msgstr "Mindest-Zeitnutzung im Byo-Yomi (s)" msgid "move too fast" msgstr "Denke mindestens {num} Sekunden nach, bevor Du setzt." msgid "main time" -msgstr "Hauptbedenkzeit (Min.)" +msgstr "Hauptbedenkzeit (min)" msgid "aihelp:simple" msgstr "" "Spielt Züge, die dazu zu einer Vereinfachung des Brettzustandes führen. Von " -"Zügen,die höchstens 'max_points_lost' Punkte verlieren und mit wenigstens " +"Zügen, die höchstens 'max_points_lost' Punkte verlieren und mit wenigstens " "'min_visits' Visits, bevorzuge die Züge, die weniger Punkte verlieren " -"undeigenes Gebiet mehr sichern." +"und eigenes Gebiet mehr sichern." msgid "ai:simple" msgstr "Einfacher Stil" @@ -718,105 +718,105 @@ msgstr "" msgid "Make Main Branch" msgstr "Zum Hauptzweig machen" -#. TODO - setting: what to show on top move (e.g. point loss, visits, ...) +#. setting: what to show on top move (e.g. point loss, visits, ...) msgid "stats on top move" -msgstr "Stats on top moves" +msgstr "Anzeige für den besten Zug" #. TODO - Dropdown menu option msgid "top_move_delta_winrate" -msgstr "Change in Win Rate" +msgstr "Änderung der Gewinnrate" -#. TODO - Dropdown menu option +#. Dropdown menu option msgid "top_move_visits" msgstr "Visits" -#. TODO - Dropdown menu option +#. Dropdown menu option msgid "top_move_score" msgstr "Score" -#. TODO - Dropdown menu option +#. Dropdown menu option msgid "top_move_nothing" -msgstr "(nothing)" +msgstr "(nichts)" -#. TODO - Dropdown menu option +#. Dropdown menu option msgid "top_move_winrate" -msgstr "Win Rate" +msgstr "Gewinnrate" -#. TODO - Dropdown menu option +#. Dropdown menu option msgid "top_move_delta_score" -msgstr "Change in Score" +msgstr "Punktänderung" -#. TODO - top move stats show threshold description +#. top move stats show threshold description msgid "show stats if" -msgstr "Show stats if more than ... visits" +msgstr "Zeige Bewertung wenn mehr als ... Visits" -#. TODO - analysis option +#. analysis option msgid "cache analysis to sgf" -msgstr "Cache analysis in SGF" +msgstr "Cache-Analyse in SGF" -#. TODO +#. Speichern als msgid "menu:save-as" -msgstr "Save Game As..." +msgstr "Spiel speichern als..." -#. TODO +#. Laden # sgf load button msgid "Load File" -msgstr "Load File" +msgstr "Spiel laden" -#. TODO +#. Save SGF (Popup) # sgf save popup msgid "save sgf title" -msgstr "Save SGF File" +msgstr "SGF-Datei speichern" -#. TODO -# sgf save as button +#. Save button +# sgf save button msgid "Save File" -msgstr "Save File" +msgstr "Datei speichern" -#. TODO - status message on starting insert mode +#. Status message on starting insert mode msgid "starting insert mode" -msgstr "Starting insert mode, press 'i' to finish inserting." +msgstr "Starte Einfüge-Modus; drücke 'i' zum beenden" -#. TODO - status message on ending insert mode and copying the moves +#. Status message on ending insert mode and copying the moves msgid "ending insert mode" -msgstr "Inserting exchange(s) done, copied {num_copied} following moves." +msgstr "Einfügen beendet, {num_copied} Züge kopiert" -#. TODO - when a user tries to go to a different move/node while in insert +#. When a user tries to go to a different move/node while in insert #. mode msgid "finish inserting before navigating" msgstr "" -"Navigation is disabled in insert mode, finish insert mode by pressing 'i'. " +"Navigation ist im Einfüge-Modus deaktiviert, beende erst Einfüge-Modus durch Drücken von 'i'" -#. TODO - in new game options +#. In new game options msgid "player names" -msgstr "Player Names" +msgstr "Spielernamen" -#. TODO - Option in dropdown to insert some moves between the current and next +#. Option in dropdown to insert some moves between the current and next msgid "analysis:insert" -msgstr "Insert moves" +msgstr "Züge einfügen" -#. TODO - Status message +#. Status message msgid "analysis:region:start" msgstr "" -"Drag to select the region of interest. Select a single point to cancel the " -"region." +"Ziehen, um einen Bereich zu markieren. Wähle einen einzelnen Punkt, um die Bereichsauswahl " +"abzubrechen." -#. TODO - Restrict analysis to a specific region +#. Restrict analysis to a specific region msgid "analysis:region" -msgstr "Set region of interest" +msgstr "Bereich auswählen" -#. TODO - on move tree editing +#. on move tree editing msgid "Toggle Collapse Branch" -msgstr "Expand/Collapse" +msgstr "Aus-/Einklappen" -#. TODO - Menu option +#. Menu option msgid "analysis:playtoend" -msgstr "Fast playout to game end" +msgstr "Schnelles Ausspielen bis Spielende" -#. TODO - hint on player name input +#. Hint on player name input msgid "black player name hint" -msgstr "Black player's name" +msgstr "Name von Schwarz" -#. TODO - hint on player name input +#. Hint on player name input msgid "white player name hint" -msgstr "White player's name" +msgstr "Name von Weiß" From d8cbbdd9b6e14ece21d3e6cff915422e2530ecb3 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Thu, 17 Dec 2020 11:28:37 +0100 Subject: [PATCH 67/73] run i18n for deutsch --- .../i18n/locales/de/LC_MESSAGES/katrain.mo | Bin 16330 -> 16437 bytes .../i18n/locales/de/LC_MESSAGES/katrain.po | 72 +++++++++--------- 2 files changed, 37 insertions(+), 35 deletions(-) diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo index fc289047d557ae35caf0739567d6fc9783f784db..240981d4c9c44a0bdbed81e3d7348f1485030df7 100644 GIT binary patch delta 3561 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 diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po index a7fba5c..a54b0f3 100644 --- a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po @@ -107,8 +107,8 @@ msgstr "Passen" msgid "ai-ponder" msgstr "" -"Zeigt den Enginestatus an von grün (Leerlauf) bis orange (Zugberechnung). Ist" -" rot, wenn die Engine abgestürzt ist oder nicht starten konnte." +"Zeigt den Enginestatus an von grün (Leerlauf) bis orange (Zugberechnung). " +"Ist rot, wenn die Engine abgestürzt ist oder nicht starten konnte." #. undo button on the right msgid "undo-button-text" @@ -178,8 +178,8 @@ msgstr "Punkte gewonnen" #. SGF and move comment messages msgid "SGF start message" msgstr "" -"Züge, die mit 'X' markiert sind, sind die besten Züge für KataGo; die " -"mit einem Quadrat sind Züge, die weniger als 0.5 Punkte verlieren." +"Züge, die mit 'X' markiert sind, sind die besten Züge für KataGo; die mit " +"einem Quadrat sind Züge, die weniger als 0.5 Punkte verlieren." msgid "Info:score" msgstr "Ergebnis: {score}" @@ -448,8 +448,8 @@ msgstr "" msgid "Engine died unexpectedly" msgstr "" -"Engine ist unerwartet abgestürzt, ohne Ausgabe zu senden, wahrscheinlich wegen" -" zu wenig Speicher: {error}" +"Engine ist unerwartet abgestürzt, ohne Ausgabe zu senden, wahrscheinlich " +"wegen zu wenig Speicher: {error}" #. AI names, help etc msgid "strength:kyu" @@ -463,8 +463,8 @@ msgstr "KataGo" msgid "aihelp:default" msgstr "" -"Spielstärkste KataGo-AI. Spielstärke wird von `max visits` und `model` in den" -" allgemeinen Einstellungen im Bereich `engine` und dem Engine-" +"Spielstärkste KataGo-AI. Spielstärke wird von `max visits` und `model` in " +"den allgemeinen Einstellungen im Bereich `engine` und dem Engine-" "Konfigurationsfile bestimmt. Hier gibt es sonst keine Optionen." msgid "ai:jigo" @@ -510,17 +510,17 @@ msgstr "Blinde Policy" msgid "aihelp:p:pick" msgstr "" "Wählt `pick_n + pick_frac * ` gewichtete Züge " -"zufällig und spielt den besten. Spielt wie die AI `Policy`, wenn `pick_frac=1`." -" Spielt besten Zug, wenn Policy-Wert höher als `pick_override` ist, um " -"offensichtliche Fehler zu vermeiden." +"zufällig und spielt den besten. Spielt wie die AI `Policy`, wenn " +"`pick_frac=1`. Spielt besten Zug, wenn Policy-Wert höher als `pick_override`" +" ist, um offensichtliche Fehler zu vermeiden." msgid "ai:p:local" msgstr "Lokaler Stil" msgid "aihelp:p:local" msgstr "" -"Wählt `pick_n + pick_frac * ` gewichtete Züge nahe dem" -" letzten Zug und spielt den besten. Spielt besten Zug, wenn Policy-Wert " +"Wählt `pick_n + pick_frac * ` gewichtete Züge nahe " +"dem letzten Zug und spielt den besten. Spielt besten Zug, wenn Policy-Wert " "höher als`pick_override` ist, um offensichtliche Fehler zu vermeiden." msgid "ai:p:tenuki" @@ -528,10 +528,10 @@ msgstr "Tenuki-Stil" msgid "aihelp:p:tenuki" msgstr "" -"Wählt `pick_n + pick_frac * ` gewichtete Züge " -"fern vom letzten Zug und spielt den besten. Spielt besten Zug, wenn Policy-" -"Wert höher als`pick_override` ist, um offensichtliche Fehler zu vermeiden. " -"Eine höhere `stddev` führt zu weiter entfernten Zügen." +"Wählt `pick_n + pick_frac * ` gewichtete Züge fern " +"vom letzten Zug und spielt den besten. Spielt besten Zug, wenn Policy-Wert " +"höher als`pick_override` ist, um offensichtliche Fehler zu vermeiden. Eine " +"höhere `stddev` führt zu weiter entfernten Zügen." msgid "ai:p:influence" msgstr "Einflussstil" @@ -539,8 +539,8 @@ msgstr "Einflussstil" msgid "aihelp:p:influence" msgstr "" "Wählt Züge oberhalb des Grenzwertes und spielt den Besten. Erhöhe " -"`line_weight`, um Züge nahe der Ecken mehr zu bestrafen. Stoppt die Strategie " -"nachdem der 'endgame'-Anteil des Brettes gefüllt ist." +"`line_weight`, um Züge nahe der Ecken mehr zu bestrafen. Stoppt die " +"Strategie nachdem der 'endgame'-Anteil des Brettes gefüllt ist." msgid "ai:p:territory" msgstr "Gebietsstil" @@ -548,8 +548,8 @@ msgstr "Gebietsstil" msgid "aihelp:p:territory" msgstr "" "Wählt Züge unterhalb des Grenzwertes und spielt den besten. Erhöhe " -"`line_weight`, um Züge nahe der Mitte mehr zu bestrafen. Stoppt die Strategie " -"nachdem der 'endgame'-Anteil des Brettes gefüllt ist." +"`line_weight`, um Züge nahe der Mitte mehr zu bestrafen. Stoppt die " +"Strategie nachdem der 'endgame'-Anteil des Brettes gefüllt ist." msgid "aihelp:p:rank" msgstr "" @@ -576,10 +576,10 @@ msgstr "" msgid "Kata exe not found in path" msgstr "" -"KataGo-Binary {exe} nicht im PATH gefunden, prüfe deine Umgebungsvariablen" -" oder benutze den vollen Pfad in den allgemeinen Einstellungen. Wenn unter " -"MacOS, konsultiere das Handbuch, wie brew verwendet werden soll, um KataGo zu" -" installieren." +"KataGo-Binary {exe} nicht im PATH gefunden, prüfe deine Umgebungsvariablen " +"oder benutze den vollen Pfad in den allgemeinen Einstellungen. Wenn unter " +"MacOS, konsultiere das Handbuch, wie brew verwendet werden soll, um KataGo " +"zu installieren." msgid "Kata model not found" msgstr "" @@ -620,9 +620,10 @@ msgstr "Kata-Vorgabesteine" msgid "aihelp:handicap" msgstr "" -"Optimiertes KataGo für höhere Vorgabe-Spiele. Die Einstellung `pda` entspricht " -"`playoutDoublingAdvantage` in KataGo, aus Sicht von Schwarz. Wenn `automatic` " -"eingestellt ist, wird KaTrain automatischeinen geeigneten Wert finden." +"Optimiertes KataGo für höhere Vorgabe-Spiele. Die Einstellung `pda` " +"entspricht `playoutDoublingAdvantage` in KataGo, aus Sicht von Schwarz. Wenn" +" `automatic` eingestellt ist, wird KaTrain automatischeinen geeigneten Wert " +"finden." msgid "estimated strength" msgstr "Geschätzte Spielstärke" @@ -664,8 +665,8 @@ msgstr "Alle verfügbaren Programme wurden bereits heruntergeladen" msgid "Engine missing DLL" msgstr "" -"Konnte KataGo wegen fehlender DLL nicht starten. Überprüfe die Anforderungen " -"in der KataGo-Dokumentation oder versuche, KataGo alleine zu starten, um " +"Konnte KataGo wegen fehlender DLL nicht starten. Überprüfe die Anforderungen" +" in der KataGo-Dokumentation oder versuche, KataGo alleine zu starten, um " "Einzelheiten zu erfahren." msgid "teaching undo message" @@ -701,8 +702,8 @@ msgid "aihelp:simple" msgstr "" "Spielt Züge, die dazu zu einer Vereinfachung des Brettzustandes führen. Von " "Zügen, die höchstens 'max_points_lost' Punkte verlieren und mit wenigstens " -"'min_visits' Visits, bevorzuge die Züge, die weniger Punkte verlieren " -"und eigenes Gebiet mehr sichern." +"'min_visits' Visits, bevorzuge die Züge, die weniger Punkte verlieren und " +"eigenes Gebiet mehr sichern." msgid "ai:simple" msgstr "Einfacher Stil" @@ -785,7 +786,8 @@ msgstr "Einfügen beendet, {num_copied} Züge kopiert" #. mode msgid "finish inserting before navigating" msgstr "" -"Navigation ist im Einfüge-Modus deaktiviert, beende erst Einfüge-Modus durch Drücken von 'i'" +"Navigation ist im Einfüge-Modus deaktiviert, beende erst Einfüge-Modus durch" +" Drücken von 'i'" #. In new game options msgid "player names" @@ -798,8 +800,8 @@ msgstr "Züge einfügen" #. Status message msgid "analysis:region:start" msgstr "" -"Ziehen, um einen Bereich zu markieren. Wähle einen einzelnen Punkt, um die Bereichsauswahl " -"abzubrechen." +"Ziehen, um einen Bereich zu markieren. Wähle einen einzelnen Punkt, um die " +"Bereichsauswahl abzubrechen." #. Restrict analysis to a specific region msgid "analysis:region" From 99976d24fe08899afa2bb4f8ae0016f964f9db5d Mon Sep 17 00:00:00 2001 From: Sander Land Date: Thu, 17 Dec 2020 11:30:26 +0100 Subject: [PATCH 68/73] contrib --- CONTRIBUTIONS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTIONS.md b/CONTRIBUTIONS.md index 61e4cbb..417aa06 100644 --- a/CONTRIBUTIONS.md +++ b/CONTRIBUTIONS.md @@ -57,7 +57,7 @@ Many thanks to the following contributors for translations. * French: "Dontbtme" with contributions from "wonderingabout" * Korean: "isty2e" -* German: "nimets123" with contributions from "trohde" +* German: "nimets123", "trohde", and "Harleqin" * Spanish: Sergio Villegas ("serpiente") with contributions from the Spanish OGS community * Russian: Dmitry Ivankov and Alexander Kiselev * Simplified Chinese: Qing Mu with contributions from "Medwin" and Viktor Lin From b6eb45ecc45efe4eaaa606bb770b849a76ccd91f Mon Sep 17 00:00:00 2001 From: Sander Land Date: Fri, 18 Dec 2020 16:39:59 +0100 Subject: [PATCH 69/73] no print --- katrain/__main__.py | 1 + katrain/core/game.py | 1 - katrain/gui/widgets/graph.py | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) diff --git a/katrain/__main__.py b/katrain/__main__.py index d957e19..dc1f76a 100644 --- a/katrain/__main__.py +++ b/katrain/__main__.py @@ -3,6 +3,7 @@ import json import os import kivy + kivy.require("2.0.0") os.environ["KCFG_KIVY_LOG_LEVEL"] = os.environ.get("KCFG_KIVY_LOG_LEVEL", "warning") diff --git a/katrain/core/game.py b/katrain/core/game.py index 48f182a..dcf8401 100644 --- a/katrain/core/game.py +++ b/katrain/core/game.py @@ -203,7 +203,6 @@ class Game: already_inserted_moves = [ n.move for n in copy_to_node.nodes_from_root if n not in above_insertion_root and n.move ] - print(already_inserted_moves) try: while True: if copy_from_node.move not in already_inserted_moves: diff --git a/katrain/gui/widgets/graph.py b/katrain/gui/widgets/graph.py index 254ea4a..a7162ef 100644 --- a/katrain/gui/widgets/graph.py +++ b/katrain/gui/widgets/graph.py @@ -77,7 +77,6 @@ class ScoreGraph(Graph): def on_touch_down(self, touch): if self.collide_point(*touch.pos) and "scroll" not in getattr(touch, "button", ""): - print(touch) ix, _ = min(enumerate(self.score_points[::2]), key=lambda ix_v: abs(ix_v[1] - touch.x)) self.navigate_move = [ self.nodes[ix], From 4c482db52ced9dacfc6d4825f207e63ae53580ff Mon Sep 17 00:00:00 2001 From: Sander Land Date: Fri, 18 Dec 2020 18:38:22 +0100 Subject: [PATCH 70/73] visits fmt --- katrain/core/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/katrain/core/utils.py b/katrain/core/utils.py index 048ebd2..9bd5738 100644 --- a/katrain/core/utils.py +++ b/katrain/core/utils.py @@ -67,7 +67,7 @@ def unpack_floats(str, num): def format_visits(n): if n < 1000: return str(n) - if n < 1e6: + if n < 1e5: return f"{n/1000:.1f}k" if n < 1e6: return f"{n/1000:.0f}k" From 60bf0f80a7db7d3e981c81c2e8e4b60a996eaf75 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Fri, 18 Dec 2020 18:46:41 +0100 Subject: [PATCH 71/73] readme --- README.md | 52 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 68f80b1..661ab65 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ # KaTrain -[![Latest Release](https://img.shields.io/github/release/sanderland/katrain?label=download)](https://github.com/sanderland/katrain/releases) -[![License:MIT](https://img.shields.io/pypi/l/katrain)](https://en.wikipedia.org/wiki/MIT_License) -[![GitHub Downloads](https://img.shields.io/github/downloads/sanderland/katrain/total?color=%23336699&label=github%20downloads)](https://github.com/sanderland/katrain/releases) -[![PyPI Downloads](https://pepy.tech/badge/katrain)](https://pepy.tech/project/katrain) -[![Github sponsors](https://img.shields.io/static/v1?label=sponsor&message=%E2%9D%A4&logo=GitHub&color=dcb424&link=https://github.com/sponsors/sanderland/)](https://github.com/sponsors/sanderland) -[![Discord](https://img.shields.io/discord/417022162348802048?logo=discord)](https://discord.com/channels/417022162348802048/629446365688365067) +[![Latest Release](http://img.shields.io/github/release/sanderland/katrain?label=download)](http://github.com/sanderland/katrain/releases) +[![License:MIT](http://img.shields.io/pypi/l/katrain)](http://en.wikipedia.org/wiki/MIT_License) +[![GitHub Downloads](http://img.shields.io/github/downloads/sanderland/katrain/total?color=%23336699&label=github%20downloads)](http://github.com/sanderland/katrain/releases) +[![PyPI Downloads](http://pepy.tech/badge/katrain)](http://pepy.tech/project/katrain) +[![Github sponsors](http://img.shields.io/static/v1?label=sponsor&message=%E2%9D%A4&logo=GitHub&color=dcb424&link=http://github.com/sponsors/sanderland/)](http://github.com/sponsors/sanderland) +[![Discord](http://img.shields.io/discord/417022162348802048?logo=discord)](http://discord.com/channels/417022162348802048/629446365688365067)
@@ -24,14 +24,14 @@ -English -German -French -Russian +English +German +French +Russian
-Chinese -Korean -Japanese +Chinese +Korean +Japanese
@@ -51,16 +51,16 @@ but has since grown to include a wide range of features, including: ## Preview and Youtube Videos -![screenshot](https://raw.githubusercontent.com/sanderland/katrain/master/screenshots/analysis.png) +![screenshot](http://raw.githubusercontent.com/sanderland/katrain/master/screenshots/analysis.png) -| **New Features in v1.4** | **Analysis Tutorial** | **Teaching Game Tutorial** | +| **Local Joseki Analysis** | **Analysis Tutorial** | **Teaching Game Tutorial** | |:-----------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------:| -| [![New Features Video](https://i.imgur.com/IXNwTHL.png)](https://www.youtube.com/watch?v=ujjRWGSZJrQ&feature=youtu.be) | [![Analysis Tutorial](https://i.imgur.com/3EP4IEr.png)](https://www.youtube.com/watch?v=qjxkcKgrsbU) | [![ Teaching Game Tutorial](https://i.imgur.com/jAdcSL5.png)](https://www.youtube.com/watch?v=wFl4Bab_eGM) | +| [![New Features Video](http://i.imgur.com/YcpmSBx.png)](http://www.youtube.com/watch?v=ujjRWGSZJrQ&feature=youtu.be) | [![Analysis Tutorial](http://i.imgur.com/3EP4IEr.png)](http://www.youtube.com/watch?v=qjxkcKgrsbU) | [![ Teaching Game Tutorial](http://i.imgur.com/jAdcSL5.png)](http://www.youtube.com/watch?v=wFl4Bab_eGM) | ## Installation -* See the [releases page](https://github.com/sanderland/katrain/releases) for downloadable executables for Windows. +* See the [releases page](http://github.com/sanderland/katrain/releases) for downloadable executables for Windows. * Alternatively use `pip3 install -U katrain` to install the latest version from PyPI on any 64-bit OS. * [This page](INSTALL.md) has detailed instructions for Window, Linux and MacOS, as well as troubleshooting and setting up KataGo to use multiple GPUs. @@ -110,7 +110,7 @@ This estimate should be reasonably accurate as long as you have not changed the * **KataGo** is full KataGo, above professional level. The analysis and feedback given is always based on this full strength KataGo AI. * **Calibrated Rank Bot** was calibrated on various bots (e.g. GnuGo and Pachi at different strength settings) to play a balanced game from the opening to the endgame without making serious (DDK) blunders. Further discussion can be found - [here](https://github.com/sanderland/katrain/issues/44) and [here](https://github.com/sanderland/katrain/issues/74). + [here](http://github.com/sanderland/katrain/issues/44) and [here](http://github.com/sanderland/katrain/issues/74). * **Simple Style** Prefers moves that solidify both player's territory, leading to relatively simpler moves. * **ScoreLoss** is KataGo analyzing as usual, but choosing from potential moves depending on the expected score loss, leading to a varied style with mostly small mistakes. @@ -128,7 +128,7 @@ This estimate should be reasonably accurate as long as you have not changed the The Engine based AIs (KataGo, ScoreLoss, KataJigo) are affected by both the model and choice of visits and maximum time, while the policy net based AIs are affected by the choice of model file, but work identically with 1 visit. -Further technical details and discussion on these AIs can be found on [this](https://lifein19x19.com/viewtopic.php?f=10&t=17488&sid=b11e42c005bb6f4f48c83771e6a27eff) thread at the life in 19x19 forums. +Further technical details and discussion on these AIs can be found on [this](http://lifein19x19.com/viewtopic.php?f=10&t=17488&sid=b11e42c005bb6f4f48c83771e6a27eff) thread at the life in 19x19 forums. ## Analysis @@ -203,19 +203,19 @@ In addition to shortcuts mentioned above and those shown in the main menu: * If still encountering problems, please start KataGo by itself to check for any errors it gives. * Note that if you don't have a GPU, or your GPU does not support OpenCL, you should use the 'eigen' binaries which run on CPU only. * The font size is too small - * On some ultra-high resolution monitors, font scale is not set correctly. Please see [these](https://github.com/sanderland/katrain/issues/250) instructions to adjust them. + * On some ultra-high resolution monitors, font scale is not set correctly. Please see [these](http://github.com/sanderland/katrain/issues/250) instructions to adjust them. ## Support / Contribute -[![GitHub issues](https://img.shields.io/github/issues/sanderland/katrain)](https://github.com/sanderland/katrain/issues) -[![Contributors](https://img.shields.io/static/v1?label=contributors&message=24&color=dcb424)](CONTRIBUTIONS.md) -[![Github sponsors](https://img.shields.io/static/v1?label=sponsor&message=%E2%9D%A4&logo=GitHub&color=dcb424&link=https://github.com/sponsors/sanderland/)](https://github.com/sponsors/sanderland) +[![GitHub issues](http://img.shields.io/github/issues/sanderland/katrain)](http://github.com/sanderland/katrain/issues) +[![Contributors](http://img.shields.io/static/v1?label=contributors&message=24&color=dcb424)](CONTRIBUTIONS.md) +[![Github sponsors](http://img.shields.io/static/v1?label=sponsor&message=%E2%9D%A4&logo=GitHub&color=dcb424&link=http://github.com/sponsors/sanderland/)](http://github.com/sponsors/sanderland) * Ideas, feedback, and contributions to code or translations are all very welcome. - * For suggestions and planned improvements, see [open issues](https://github.com/sanderland/katrain/issues) on github to check if the functionality is already planned. + * For suggestions and planned improvements, see [open issues](http://github.com/sanderland/katrain/issues) on github to check if the functionality is already planned. * I am looking for contributors of more translations of both this manual and the program itself. The best way to help with this is to contact me on discord. -* You can contact me on [discord](https://discord.gg/AjTPFpN) (Sander#3278) or [Reddit](http://reddit.com/u/sanderbaduk) to get help, discuss improvements, or simply show your appreciation. -* You can also donate to the project through [Github Sponsors](https://github.com/sponsors/sanderland). +* You can contact me on [discord](http://discord.gg/AjTPFpN) (Sander#3278) or [Reddit](http://reddit.com/u/sanderbaduk) to get help, discuss improvements, or simply show your appreciation. +* You can also donate to the project through [Github Sponsors](http://github.com/sponsors/sanderland). From 8a213c4dd067e0cc542a4374e4db33beaae4d6dc Mon Sep 17 00:00:00 2001 From: Sander Land Date: Fri, 18 Dec 2020 19:50:33 +0100 Subject: [PATCH 72/73] cn --- README.md | 2 +- .../i18n/locales/cn/LC_MESSAGES/katrain.mo | Bin 14229 -> 14052 bytes .../i18n/locales/cn/LC_MESSAGES/katrain.po | 136 +++++++++--------- .../i18n/locales/de/LC_MESSAGES/katrain.po | 4 +- 4 files changed, 68 insertions(+), 74 deletions(-) diff --git a/README.md b/README.md index 661ab65..1957b9a 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ but has since grown to include a wide range of features, including: | **Local Joseki Analysis** | **Analysis Tutorial** | **Teaching Game Tutorial** | |:-----------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------:| -| [![New Features Video](http://i.imgur.com/YcpmSBx.png)](http://www.youtube.com/watch?v=ujjRWGSZJrQ&feature=youtu.be) | [![Analysis Tutorial](http://i.imgur.com/3EP4IEr.png)](http://www.youtube.com/watch?v=qjxkcKgrsbU) | [![ Teaching Game Tutorial](http://i.imgur.com/jAdcSL5.png)](http://www.youtube.com/watch?v=wFl4Bab_eGM) | +| [![Local Joseki Analysi Video](http://i.imgur.com/YcpmSBx.png)](http://www.youtube.com/watch?v=ujjRWGSZJrQ&feature=youtu.be) | [![Analysis Tutorial](http://i.imgur.com/3EP4IEr.png)](http://www.youtube.com/watch?v=qjxkcKgrsbU) | [![ Teaching Game Tutorial](http://i.imgur.com/jAdcSL5.png)](http://www.youtube.com/watch?v=wFl4Bab_eGM) | diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.mo index afa981151784499d498be55a53c58fe1bea19f48..469ca4a4bd3be335a2537d52162400691b90247c 100644 GIT binary patch delta 2076 zcmZY7Z%oxy7{KuZB?!BKf%IoG2bl_iNP_5a%c3&fs->jWc%eyIl1MEqE#o4H{JA93 z6;OhZLbz7qb=Qc07q;@1`J!cIYo%`9-|s@RKbw`woBBTeo)>Jr`kd!E&pFRI=l5$Z z50&}PM!TboF|Jf&5-|xAaFNFO7(=`cpTr`KdoiAP0QX`L--1tFZ$Q;ScD? zm+vv=OH5hlHpatXa-lKbW5pt;@bSgQ^bude7OYJ-W-H#2Va#_C#=MDg!}XcQ+=*Lo zHts=r$!fI~<;Fgg3l6GZ==@i126B_DC{OaU7W|2K5l3b@3sZ0jaRy3*r%^U8Rd=J* zA3)jf7`m_@rS1&Mr~Djc{ye(SeL)jfG!a(+Kxq^~S6X_@mgW}vKJhSG4g#%t6fbjyvlXrfeoL*0+EVGGIz{U`?*KxsUVa?^{Nzm6%y zx8yo?sVFa)gL06KDE+o-yd#(Qk0h~&gf!Tz)?gxWBgz4~G#^0u<|8N@{-{o&Z2T9> z&t~$RgJh!Atws6AHllo@N|b%N@_2t~G@*rGtCvv@bWOdkPOA~iou6nnN?o41N-acb zyiVPu`4Y7hdpwYwnjR5nA0D@Q`inSX&X0q-htI^S_MEUz zS54LUjO}S-@0qEqRn=5kb)#%+f6`+$x7maBT5U~yJXO_g)%wEkd3{;;M@@~k*lok! zn_0yPR{a6{{X^j~uXXZ>Rqyw1TXG}aIU=XAPqqFw)|6`XzGKx7zO{2#+2)e+SGK?K z{M#Jc{?HTX%8rRFuut|{jop(qL95f}th9YS)>yOMe#{QEhJq8}!#>%?ZfZ!~o*EwY z+FjjFUEuee#K@S?L>Ik7LnGe!+{-SuW%JNPkG=1d_hxRTP8U78#=AeyT{Jn+6CP-{ zKRa!W^krvfhenTwh8pemLHo#fxOc?N>`%}Cw=^@KG(6hPeu1*(B@qSk4y}GW@ByE~ hOxARU57udr&P6heGjC@0*D`P7it_02(I78s{soNE+k^lB delta 2241 zcmZwGe@s^fK z+p;WX$?l@E)U}$lTH9s(ZR1B)^N(z<&1Lp|?s;0e_1EWppZC}E zKJPgT{jb@{+01wr5&0C69~Qt|ST6ksA&|;p;GS9nm&; z93F-jU=l{x6MYGbisM9MXk02L`W}vycoW-7iB6zD569ulWkj8DZ8_0g8c`hb4cqT0 zS_L({6^=r#Cz0PV_f;AN*VT~vb;$Ofj#Lqz#gL2S8k!dsZ;e6^sgKy}-TsQ%rfF~dyco}l3?tH+z z;d;pZfVc&6r5=Nvz;3t(?t?4gn=<}^cnb0p%t0T{rytSa8~qA%U`Dk!;daOetrCkN zCs-}kLtfVg@%>UC~Ap!6DVLqFsV${@!p zAs@UA@=c$XxC_^!|Gf0yfn32U$cfBB{zm4df2jubPecvIqe95z zwUFO@3*-%ViM^03Hw5`(I{-P6q>O(J@dwinke@nZBldzN8&Q8h8aol-4J~mmo5l<#k>qbK+5y#ytmJW+|Pq6;9ZdSFNgWC4)Xr~7Bsk|dte@XZqxMXoO*v&i*1Be zqZ!fDepQy1`{;1gu)>uMb|hj%9X;Jt^mcaDyDm6<3)3GXlx-V!9YSqN0eb`AHs=nZBMa6YY?Lf#$ z4A+e2q-F%08dL9>xLy9e?cXUEHjQ;DRJSt|mn#wHO?ZGDH6iiKN Y_tNN)@q|@p-_g-yx_Il<{p7vqAH8vzfB*mh diff --git a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po index dbf5447..e6e997a 100644 --- a/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/cn/LC_MESSAGES/katrain.po @@ -668,105 +668,99 @@ msgstr "" msgid "Make Main Branch" msgstr "设为实战变化" -#. TODO - setting: what to show on top move (e.g. point loss, visits, ...) -msgid "stats on top move" -msgstr "Stats on top moves" - -#. TODO - Dropdown menu option -msgid "top_move_delta_winrate" -msgstr "Change in win rate" - -#. TODO - Dropdown menu option -msgid "top_move_visits" -msgstr "Visits" - -#. TODO - Dropdown menu option -msgid "top_move_score" -msgstr "Score" - -#. TODO - Dropdown menu option -msgid "top_move_nothing" -msgstr "(nothing)" - -#. TODO - Dropdown menu option -msgid "top_move_winrate" -msgstr "Win rate" - -#. TODO - Dropdown menu option -msgid "top_move_delta_score" -msgstr "Change in score" - -#. TODO - top move stats show threshold description -msgid "show stats if" -msgstr "Show stats if more than ... visits" - -#. TODO - analysis option -msgid "cache analysis to sgf" -msgstr "Cache analysis in SGF" - -#. TODO +#. save as msgid "menu:save-as" -msgstr "Save Game As..." +msgstr "保存为..." -#. TODO -# sgf load button +#. sgf load button msgid "Load File" -msgstr "Load File" +msgstr "载入" -#. TODO -# sgf save popup +#. sgf save popup msgid "save sgf title" -msgstr "Save SGF File" +msgstr "保存SGF" -#. TODO -# sgf save as button +#. sgf save as button msgid "Save File" msgstr "Save File" -#. TODO - status message on starting insert mode +#. status message on starting insert mode msgid "starting insert mode" -msgstr "Starting insert mode, press 'i' to finish inserting." +msgstr "嵌入模式,按 i 结束嵌入" -#. TODO - status message on ending insert mode and copying the moves +#. status message on ending insert mode and copying the moves msgid "ending insert mode" -msgstr "Inserting exchange(s) done, copied {num_copied} following moves." +msgstr "嵌入完毕, 复制{num_copied}手棋" -#. TODO - when a user tries to go to a different move/node while in insert +#. when a user tries to go to a different move/node while in insert #. mode msgid "finish inserting before navigating" -msgstr "" -"Navigation is disabled in insert mode, finish insert mode by pressing 'i'. " +msgstr "此功能在嵌入模式无法使用, 按 i 结束嵌入 " -#. TODO - in new game options +#. in new game options msgid "player names" -msgstr "Player Names" +msgstr "棋手信息" -#. TODO - Option in dropdown to insert some moves between the current and next +#. Option in dropdown to insert some moves between the current and next msgid "analysis:insert" -msgstr "Insert moves" +msgstr "嵌入" -#. TODO - Status message +#. Status message msgid "analysis:region:start" -msgstr "" -"Drag to select the region of interest. Select a single point to cancel the " -"region." +msgstr "拖放选择局部。点击一次取消局部" -#. TODO - Restrict analysis to a specific region +#. Restrict analysis to a specific region msgid "analysis:region" -msgstr "Set region of interest" +msgstr "选择局部" -#. TODO - on move tree editing +#. on move tree editing msgid "Toggle Collapse Branch" -msgstr "Expand/Collapse" +msgstr "放大/缩小" -#. TODO - Menu option +#. Menu option msgid "analysis:playtoend" -msgstr "Fast playout to game end" +msgstr "自动下完" -#. TODO - hint on player name input +#. hint on player name input msgid "black player name hint" -msgstr "Black player's name" +msgstr "黑方" -#. TODO - hint on player name input +#. hint on player name input msgid "white player name hint" -msgstr "White player's name" +msgstr "白方" + +#. setting: what to show on top move (e.g. point loss, visits, ...) +msgid "stats on top move" +msgstr "最佳选点统计" + +#. Dropdown menu option +msgid "top_move_delta_winrate" +msgstr "胜率波动" + +#. Dropdown menu option +msgid "top_move_visits" +msgstr "计算深度" + +#. Dropdown menu option +msgid "top_move_score" +msgstr "分数" + +#. Dropdown menu option +msgid "top_move_nothing" +msgstr "(无)" + +#. Dropdown menu option +msgid "top_move_winrate" +msgstr "胜率" + +#. Dropdown menu option +msgid "top_move_delta_score" +msgstr "分数波动" + +#. top move stats show threshold description +msgid "show stats if" +msgstr "计算深度...以上时显示" + +#. analysis option +msgid "cache analysis to sgf" +msgstr "分析缓存到SGF" diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po index a54b0f3..cd7890c 100644 --- a/katrain/i18n/locales/de/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/de/LC_MESSAGES/katrain.po @@ -688,7 +688,7 @@ msgstr "Finde alternative Züge" msgid "alternative analysis" msgstr "Suche nach alternativen Zügen" -#. TODO - ignore moves if timer is on and less than this is used +#. ignore moves if timer is on and less than this is used msgid "minimal time use" msgstr "Mindest-Zeitnutzung im Byo-Yomi (s)" @@ -723,7 +723,7 @@ msgstr "Zum Hauptzweig machen" msgid "stats on top move" msgstr "Anzeige für den besten Zug" -#. TODO - Dropdown menu option +#. Dropdown menu option msgid "top_move_delta_winrate" msgstr "Änderung der Gewinnrate" From 4cced544a111c56611fabe090b9da67e68a49da3 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Fri, 18 Dec 2020 20:02:58 +0100 Subject: [PATCH 73/73] flake and fix and typos --- CONTRIBUTIONS.md | 2 +- LICENSE | 1 - THEMES.md | 4 ++-- katrain/config.json | 2 +- katrain/gui/widgets/graph.py | 2 +- 5 files changed, 5 insertions(+), 6 deletions(-) diff --git a/CONTRIBUTIONS.md b/CONTRIBUTIONS.md index 417aa06..c3bcd76 100644 --- a/CONTRIBUTIONS.md +++ b/CONTRIBUTIONS.md @@ -14,7 +14,7 @@ This is not enforced, and contributions with incorrect formatting will be accept ### Contributing to an existing translation * Go [here](https://github.com/sanderland/katrain/blob/master/katrain/i18n/locales/) and locate the `.po` file for your language. - Alternatively, find the same file in the branch for the next version. + * Alternatively, find the same file in the branch for the next version. * Correct the relevant `msgstr` entries. ### Adding a translation diff --git a/LICENSE b/LICENSE index a652d7a..35f4d75 100644 --- a/LICENSE +++ b/LICENSE @@ -5,7 +5,6 @@ For on related licenses for these binaries and libraries see https://github.com/ 2. Icons from www.flaticon.com, used with permission with the following attributions: - Equalize icon and Thrash Icon: derived from work by bqlqn from www.flaticon.com -- Local search icon, Insert icon: derived from work by Pixel Perfect from www.flaticon.com - Other Menu icons, Finish, and Flag icons: derived from work by Freepik from www.flaticon.com - Collapse branch icon: derived from work by Kirill Kazachek from www.flaticon.com diff --git a/THEMES.md b/THEMES.md index 97f1f90..e1e66b9 100644 --- a/THEMES.md +++ b/THEMES.md @@ -2,10 +2,10 @@ Version 1.7 brings basic support for themes. * Look at the `Theme` class in `katrain/gui/theme.py`. -* Make a `theme.json` file in your `~/.katrain` directory and specify any variables from the above class you want to override, e.g. +* Make a `theme.json` file in your `/.katrain` directory and specify any variables from the above class you want to override, e.g. ```json { "BACKGROUND_COLOR": [1,0,0,1] } ``` -* All resources (including icons which can not be renamed for now) will be looked up in `~/.katrain` first, so files with identical names there can be used to override sounds and images. \ No newline at end of file +* All resources (including icons which can not be renamed for now) will be looked up in `/.katrain` first, so files with identical names there can be used to override sounds and images. \ No newline at end of file diff --git a/katrain/config.json b/katrain/config.json index 22ad83d..5833713 100644 --- a/katrain/config.json +++ b/katrain/config.json @@ -67,7 +67,7 @@ true, true ], - "save_analysis": true, + "save_analysis": false, "low_visits": 25, "eval_off_show_last": 3, "top_moves_show": "top_move_delta_score", diff --git a/katrain/gui/widgets/graph.py b/katrain/gui/widgets/graph.py index a7162ef..642fa26 100644 --- a/katrain/gui/widgets/graph.py +++ b/katrain/gui/widgets/graph.py @@ -159,7 +159,7 @@ class ScoreGraph(Graph): Builder.load_string( """ -#:import Theme katrain.gui.theme.Theme +#:import Theme katrain.gui.theme.Theme : background_color: Theme.BOX_BACKGROUND_COLOR