From 8a444f9c8c0478c3d149d5d67b005188f6ec859b Mon Sep 17 00:00:00 2001 From: Sander Land Date: Fri, 3 Jul 2020 23:48:35 +0200 Subject: [PATCH] bugs and german --- katrain/core/ai.py | 2 +- katrain/gui/badukpan.py | 2 + katrain/gui/popups.py | 11 +++++- .../i18n/locales/de/LC_MESSAGES/katrain.mo | Bin 12946 -> 12989 bytes .../i18n/locales/de/LC_MESSAGES/katrain.po | 37 ++++++------------ 5 files changed, 24 insertions(+), 28 deletions(-) diff --git a/katrain/core/ai.py b/katrain/core/ai.py index c1d83a4..9d0bc6b 100644 --- a/katrain/core/ai.py +++ b/katrain/core/ai.py @@ -272,7 +272,7 @@ def generate_ai_move(game: Game, ai_mode: str, ai_settings: Dict) -> Tuple[Move, candidate_ai_moves = handicap_analysis["moveInfos"] top_cand = Move.from_gtp(candidate_ai_moves[0]["move"], player=cn.next_player) - if top_cand.is_pass and not ai_mode not in [AI_DEFAULT, AI_HANDICAP]: # don't play suicidal to balance score + if top_cand.is_pass and ai_mode not in [AI_DEFAULT, AI_HANDICAP]: # don't play suicidal to balance score aimove = top_cand ai_thoughts += f"Top move is pass, so passing regardless of strategy. " else: diff --git a/katrain/gui/badukpan.py b/katrain/gui/badukpan.py index d9d5f75..caa8db9 100644 --- a/katrain/gui/badukpan.py +++ b/katrain/gui/badukpan.py @@ -234,6 +234,8 @@ class BadukPanWidget(Widget): return katrain = self.katrain 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: + return # race condition show_n_eval = self.trainer_config["eval_off_show_last"] with self.canvas: diff --git a/katrain/gui/popups.py b/katrain/gui/popups.py index 95267fb..50a98be 100644 --- a/katrain/gui/popups.py +++ b/katrain/gui/popups.py @@ -149,8 +149,11 @@ class LabelledSelectionSlider(BoxLayout): def input_value(self): if self.textbox.text: return float(self.textbox.text) - return self.slider.values[self.silder.index][0] + return self.slider.values[self.slider.index][0] + @property + def raw_input_value(self): + return self.textbox.text class InputParseError(Exception): pass @@ -320,7 +323,11 @@ class ConfigAIPopup(QuickConfigGui): def estimate_rank_from_options(self, *_args): strategy = self.ai_select.selected[1] - options = self.collect_properties(self) # [strategy] + try: + options = self.collect_properties(self) # [strategy] + except InputParseError: + self.estimated_rank_label.text = "??" + return prefix = f"ai/{strategy}/" options = {k[len(prefix) :]: v for k, v in options.items() if k.startswith(prefix)} dan_rank, model_based = ai_rank_estimation(strategy, options) diff --git a/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/de/LC_MESSAGES/katrain.mo index 6f262ecd73166e3909d517aa1ec43bf269f76f04..6b9a4e4f3e58592427a7418e0e1ae2e59988dc1c 100644 GIT binary patch delta 1924 zcmYk+TTEO<7{Kw5R)unDtwIGvm|mn*V7Vx2ZA>hcVnM)21>=i3-5qw1E@$aEXCWfG zu_hYP_CabI6QjmZV~lA`)|hzLkSM~7(PEl-sketpVp27x@$%sRgM;yf-^`quZ|3`E zmZ$A|_VuSO&b5iisS1%T_#IZ^1x(>)1_y8wJ8%K@yIdhs1l70|w__7_p~my^TAanr zcqZyEV+;M-N|CFuzfy9-UXo_uB0PeF_&E09SNI#&vuiI_Rj(e@BC%u&ufgLujUV7H z?733pLkw{}cGQT_l-+m~@4`#)$C{i-DUD?YG@}cseLbF9hGkfdnn?qe;7yVH@lyJC zq6UnkuDcHxaRR@=eYGM9+*&6xkB{NkIFK{^EuehVafxR0Hj#4r>$i)1O22Xklj#3| zztC^57kLuR&ee@xLp{J-NK9G4VqC@s`~x>(Eggy@G2Dm;P!F2Bn+8dXMa}RCYKF&= zwelkB#QA7^2{qI2u@KLpZg4*8YyI_&6rql9Lp@MCYMh%<-&zk+*_=4hhYXUuOkoke zfO?QuP~XTKSdI&*2R@7XnEr{rH}McCnsg%1Mn>>z%%R@>Nz_Vxgx&Z#wz0odH;UZC z!0o6DkKzsZGU|rkVmtnhTDtnC)i=?B8|d#tUDt zko~2Lh6d_G-EbK7*O10yJd7G>3NOPGs2RPABrhMMW_BKRenCv+axBGCG^iDA#uB_9 z%diu3y6_Gfnt_8GaT0aICs40s7B$c(sDV$TR_Gk+dc!^Fn`pyzcw^MxgZf4~QQt&Q zWCE|F|8NWS*M)foG|<~f60(R?Oa4SXaeXT<7u#_YI+2G_GkXLz^J(PABF{vgK>dgG zENVp;Q4jPPYTPre$<@q$VqhZ!zoG`zRT^*u^2?KQJc+weOMezM;NQqkd*y-XcpVQ# z-@qQ!O5KYGFv$O0JYO8MX59KCbMGb(IllEwUnXJGX=@Hy-@0L7Qr6FUq4kqC?If(1 zU#dtH^$(1N?x<`1&<3X037zhYA%bsGb8j-=n%f*N;l`aYGdSkjw2j^BS~He#Oqc5g zA>p%L(t2Sq=DYD!Xl9PpR_2WBMWLFElMT$^%BS&+X9nY`3CEv|4O`FSQcz-$xOI@f)EFNhfr(tf_RFFudDgr<^6YeNjs9&>}H;eJzurgn{-lX;`wH1WvLnSGv=Ob VGC$ZdQBabMj>DDYPq)5b@GlPtSPTFF delta 1886 zcmZA1PfQ$D9Ki8Mt3oM-ErMN?!qZ|G3SAb9X|x`QR=^V5#A2Jq%MLql*^$|ub!T>w z8oC~O0X5MQFGd?1gNYspan*zIZ#3H4M6C%XRa5a|tO=LKaA-{9_s32>c;Pee?Y!Un z{eJHapO`ad`NdnyF{RW}t5SF1PuPZQn88{mk6<3}$InrIU&lI(>`>}%Y{Nc0fCHGp zefSz~$M3@ND)uvOi7K@d4@Om4v6q@);ud@skK!yI!b^A!+u3yto9?V8`VtyE z<2-(VJvek1$>P(v8GGB6;!*YEOE`wN;pO(SQVl$;G9eYMp^Vo-Gl#S6&rOx9l{))q8&EFcOcG1Tb9=q3=w^A?Q4$e(BdJ83iWxO4~zSPt_>S;AIkdj!#q%|I)YN6 zi&Eh!WUZPP?i&zD0Te7nHm32R7h!l#bR? z#a4{qHf+bTEZoC`RB!+raU5mC6moIZDU?8Opagywr9+>htY1gD6SbVjCTv6*Z%4T! zQItEOLm$LJ#^e3;UtXMJLIS;vB&*IL-BI78Wc&}ZhpJ0d@527j5tPb~qg0+mJ{C0< znnn4C746Xwy`U}wc2%0 zj#+^<;%P4*I9cbUv31%j=)7yqIJrrkaV9gSpfgs^c2ZVePg+^y$Hy~9C-b(I)V>J< zc`xM^3dYZSIosEPr;`h>bVSQZ?c{Vde4kDiysVyZt<+S^*LhR$^ClHIB@@@jGbX2# zRx$9hR^X&qiH z=t{iv^}6Oqyc`)8y&@gRS?-MQEc_W8ZaZiUN$7Nu&{EXRAN|T`w_DS6Fl>^3e4}}l z3q4=eG(YOoA}gRpM}vaNO$M2T#oog`Pnf+Mkxxn^47(LfHDuA3ndeH5?*#s=E>(2j z{HEyt4yN1hq2tAzz3_GXY}?^tc7n9Lw63m_PH})GQ