From fd706d59ba62decda8c21ebd3e9d55176f74183a Mon Sep 17 00:00:00 2001 From: El Mau Date: Wed, 9 Feb 2022 11:12:23 -0600 Subject: [PATCH] search in horizontale --- extension/ZAZFunctions_v0.2.0.oxt | Bin 54240 -> 54243 bytes source/ZAZFunctions.py | 29 ++++++++++++++++------------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/extension/ZAZFunctions_v0.2.0.oxt b/extension/ZAZFunctions_v0.2.0.oxt index 7fa668cf281c9a4791209b785f70d50019032a98..648882bf06536fa8e095df7943284667b31b2d9f 100644 GIT binary patch delta 1027 zcmaE`ocZx`X5IjAW)=|!1_lm>GXb6(c_%a19}n;hDR11~+0Mkk(9h1mzz>v-a*T2- z%}XxH%+D*g)g5Kw$6l@SZL0YC#t?h%Xc(PriFkcus(rxA z_4hp=shR0+xb*D8ug81M&wsmdcz5q5v3WZWo>HrMW4W>^tvjjNDs#&#hef&pC1*sf zw`oh&t81U0YVzRXcYbmH>%R}GcwP&C`s!a^Y4PrVmCVmK{Ak$ckr%$dZoPhZi>LV1 zS6q)%5_K-OW=^yaFWoz>+eZ1MmqD^Z&tyNj?)PUBJ5j;qLaCi%h+5e zJEv|p;r{pfIG2y$11ys@GnW<5d$EVJiNU;JvC6q>f!Pc8 zTJX+nT>AKmKmlL+=K9wcAN+Kf>E2tk>s9;VxmxRHq>9&O9}2YEmr!r?P>yW}=MAm1 zMbAdZMHjzpd9(4Ne|?G6lmAaXv;No}vV8LENbhSm;_K}?qh~LZ zky_e#`R@y1&ZVydjJvDjp!=fiz|iF9}0e6xb|bK&awSLpQm4| zGXB_lnos0gGNS$u-e~q8)Zml(yIHaEZ2eEpy)tS7KW7!cxNvF7kGM|>jqh9S zzY5De=J<4+!{^$?+oIj)$`*asMI+z#s^uU|>n3 z*W?Ko6~JoPWV@V~FfuR{0@Z=?3=Ax3d^h?0MLDnyA1+EW?w`zaNe!&SmtT2y^ehI3 z?)yv(;xOevdP(EG$$^(#nDS0fesD=*^7>2qjE0l%U(x~_!E;%f>C3svyywLyJ6z@g q3;AD`W(=9U;j-xDhRcFrlfQ>F7Dxe20%25>7XsC3v3&pSOf@=j*1|FF{|MCI27o)#tshQsU(4E#XZD90$b z(!Au7%>2A!y@JZQp{Mh18wl)qtu6NApwI%2vsWGXG9NA4x5Pn6#IeaCVM(aZ6eU)> zAocdT>giPxQ*sYFmToxu^i0tXnZnAu8o3W!rFC+S?4CGTtK#m0i~#qkVWu8iB)ewq zeA8T8pE7lF>r*eO7Z>^ar}y7)PY`i^{krCB!Tw!4qyO(|IVLHy#~SKqGx%5t4i z5xBz2*e~sv(cGE5LeDqpTrZlaHf58*83~T-o#j%S^Uow$g-+C2%<)2VW0TGENw;nK zdAqb)59MWw{W^Z!h-)I-FIi7{srv!aZ#?sTEO;`cdWGw!dAvPxxu~-2pNvn`^3;CL zAf-nCr`d*g-<+(8UU(({`WMaJj`xbnm6w@T`~T)S+!4Mr#BBYP$*H@dm!@sI@nox3 zXYPcTbp|1q?Due`H%RXY6gnPT!Ya!sUSKyVI#J})6vJPv@60*Q?!K$>vixX`q?JbI zk{q!eEr%q%?bf(WuJ8S`|3Zdd?w%b%hpwiqe)(*(ozH*2TTdiDhW)in_<6%Y^6a8H zdVl29E@Y?OTv~to;fX`*U-%oZscx99{eo3AC(2jP`^&v4JGK^{Sr{Z`ar3x1>(bSM z#@=$drK)y!Z(qKiK3~1WdD1pl`R{#?3Lb9$AGPzp*D1$CnY<70?KbVZRo{{J_h`3#~iTE32bVD!EJ1R)xifn=Z^~AKP&Asne^G`XSBCB=h?xD!<)3g8W z+E{z-rF-p)d({;`);u~_;vaj>*rMK#pVR%|?*rFlgMZEs)8FuG&5y}Z0WZ;O)~EM_LA z_3XN%BG=xl)4E~yvJ2bKsQh9_NxhrH*%q=e1C#OQ-(2Sy!HhFJGAdxkYXjkVU^fywJG_<`yF7c6*DlKy0uiw5;T6(N)4SlLTifVsehfk6;R!N8J6cQyuw z2$Z~0l#&$S&B!Fe49`;`Y_eU>OBfj#3V}v|@)8UzX?)Gaz>tz!oLrPy0Loc<6}dTR znq@-zy1Ku-Qf6Ry3dG_ttw4H7f z?0Z&X@}^7rOnPU5Oxa17dBA?=zbwu4@!VvA^Wr*a7Kcb$goR1~?Ezs_djl^_F1R2$ lx#KdA0?6|3A&mu6Kt&*os&F1ip~&PDmqpp$UI5B6002NN-A(`i diff --git a/source/ZAZFunctions.py b/source/ZAZFunctions.py index 200c0d9..b1de2ab 100644 --- a/source/ZAZFunctions.py +++ b/source/ZAZFunctions.py @@ -32,23 +32,23 @@ class ZAZFunctions(unohelper.Base, XZAZFunctions): value = None - # ~ print('Columns', lookup_array.Columns.Count) - # ~ print('Rows', lookup_array.Rows.Count) - source = lookup_array.DataArray target = return_array.DataArray - if search_mode == 1: - index = next((i for i, v in enumerate(source) if v[0] == lookup_value), None) - elif search_mode == -1: - index = next((i for i, v in enumerate(reversed(source)) if v[0] == lookup_value), None) + horizontal = False + if lookup_array.Columns.Count == 1: + source = tuple(map(lambda x: x[0], source)) + else: + horizontal = True + source = source[0] + target = target[0] + + if search_mode == -1: + source = tuple(reversed(source)) + + index = next((i for i, v in enumerate(source) if v == lookup_value), None) if index is None: - if match_mode in (-1, 1, 2): - source = map(lambda x: x[0], source)) - if search_mode == -1: - source = reversed(source) - source = tuple(source) if match_mode == -1: index = bisect.bisect_right(source, lookup_value) value = (target[index - 1],) @@ -56,7 +56,10 @@ class ZAZFunctions(unohelper.Base, XZAZFunctions): index = bisect.bisect_left(source, lookup_value) value = (target[index],) else: - value = (target[index],) + if horizontal: + value = ((target[index],),) + else: + value = (target[index],) if value is None and if_not_found: value = ((if_not_found,),)