This commit is contained in:
Sander Land committed 2020-12-13 18:02:22 +01:00
1 parent 6be16eb3eb
commit 485bd26b36
3 files changed
+13 -5

No files matched your search

+1 -1
View File
@@ -569,7 +569,7 @@ class KaTrainGui(Screen, KaTrainBase):
self("redo", 9999) self("redo", 9999)
elif keycode[1] == "pageup": elif keycode[1] == "pageup":
self.controls.move_tree.make_selected_node_main_branch() self.controls.move_tree.make_selected_node_main_branch()
elif keycode[1] == "n": elif keycode[1] == "n" and not ctrl_pressed:
self("find-mistake", "undo" if shift_pressed else "redo") self("find-mistake", "undo" if shift_pressed else "redo")
elif keycode[1] == "delete" and ctrl_pressed: elif keycode[1] == "delete" and ctrl_pressed:
self.controls.move_tree.delete_selected_node() self.controls.move_tree.delete_selected_node()
+9 -4
View File
@@ -103,8 +103,10 @@ class KataGoEngine:
i18n._("Starting Kata failed").format(command=self.command, error=e), OUTPUT_ERROR, i18n._("Starting Kata failed").format(command=self.command, error=e), OUTPUT_ERROR,
) )
return # don't start return # don't start
self.analysis_thread = threading.Thread(target=self._analysis_read_thread, daemon=True).start() self.analysis_thread = threading.Thread(target=self._analysis_read_thread, daemon=True)
self.stderr_thread = threading.Thread(target=self._read_stderr_thread, daemon=True).start() self.stderr_thread = threading.Thread(target=self._read_stderr_thread, daemon=True)
self.analysis_thread.start()
self.stderr_thread.start()
def on_new_game(self): def on_new_game(self):
self.base_priority += 1 self.base_priority += 1
@@ -201,18 +203,21 @@ class KataGoEngine:
self.katrain.log(f"{analysis} received from KataGo", OUTPUT_ERROR) self.katrain.log(f"{analysis} received from KataGo", OUTPUT_ERROR)
elif "warning" in analysis: elif "warning" in analysis:
self.katrain.log(f"{analysis} received from KataGo", OUTPUT_DEBUG) self.katrain.log(f"{analysis} received from KataGo", OUTPUT_DEBUG)
elif "terminateId" in analysis:
self.katrain.log(f"{analysis} received from KataGo", OUTPUT_DEBUG)
else: else:
partial_result = analysis.get("isDuringSearch", False) partial_result = analysis.get("isDuringSearch", False)
if not partial_result: if not partial_result:
del self.queries[query_id] del self.queries[query_id]
time_taken = time.time() - start_time time_taken = time.time() - start_time
results_exist = not analysis.get("noResults", False)
self.katrain.log( self.katrain.log(
f"[{time_taken:.1f}][{query_id}][{'....' if partial_result else 'done'}] KataGo analysis received: {len(analysis.get('moveInfos',[]))} candidate moves, {analysis['rootInfo']['visits']} visits", f"[{time_taken:.1f}][{query_id}][{'....' if partial_result else 'done'}] KataGo analysis received: {len(analysis.get('moveInfos',[]))} candidate moves, {analysis['rootInfo']['visits'] if results_exist else 'n/a'} visits",
OUTPUT_DEBUG, OUTPUT_DEBUG,
) )
self.katrain.log(line, OUTPUT_EXTRA_DEBUG) self.katrain.log(line, OUTPUT_EXTRA_DEBUG)
try: try:
if callback and not analysis.get("noResults", False): if callback and results_exist:
callback(analysis, partial_result) callback(analysis, partial_result)
except Exception as e: except Exception as e:
self.katrain.log(f"Error in engine callback for query {query_id}: {e}", OUTPUT_ERROR) self.katrain.log(f"Error in engine callback for query {query_id}: {e}", OUTPUT_ERROR)
+3
View File
@@ -226,12 +226,15 @@ class MoveTree(ScrollView, BackgroundMixin):
def delete_selected_node(self): def delete_selected_node(self):
self.move_tree_canvas.delete_selected_node() self.move_tree_canvas.delete_selected_node()
self.redraw_tree_trigger()
def make_selected_node_main_branch(self): def make_selected_node_main_branch(self):
self.move_tree_canvas.make_selected_node_main_branch() self.move_tree_canvas.make_selected_node_main_branch()
self.redraw_tree_trigger()
def toggle_selected_node_collapse(self): def toggle_selected_node_collapse(self):
self.move_tree_canvas.toggle_selected_node_collapse() self.move_tree_canvas.toggle_selected_node_collapse()
self.redraw_tree_trigger()
def scroll_to_pixel(self, x, y): def scroll_to_pixel(self, x, y):
if not self._viewport: if not self._viewport: