From 009cdd9f6c947072f63b47438aa8bcfdbcffbca6 Mon Sep 17 00:00:00 2001 From: Airah Yusuff Date: Sun, 22 Feb 2026 11:09:06 +0000 Subject: [PATCH 1/2] updates --- tools/automation_mentors.py | 48 ++++++++++++++++++------------------ tools/samples/mentors.xlsx | Bin 28208 -> 13106 bytes 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/tools/automation_mentors.py b/tools/automation_mentors.py index b2345d2c..42f6e094 100644 --- a/tools/automation_mentors.py +++ b/tools/automation_mentors.py @@ -25,12 +25,12 @@ TELEGRAM = 'telegram' # Indexes for creating yaml sequences of data -AREAS_START_INDEX = 14 -AREAS_END_INDEX = 18 -FOCUS_START_INDEX = 19 -FOCUS_END_INDEX = 23 -PROG_LANG_START_INDEX = 24 -PROG_LANG_END_INDEX = 28 +AREAS_START_INDEX = 13 +AREAS_END_INDEX = 17 +FOCUS_START_INDEX = 18 +FOCUS_END_INDEX = 22 +PROG_LANG_START_INDEX = 23 +PROG_LANG_END_INDEX = 27 type_ad_hoc = ("ad-hoc", "ad hoc") type_long_term = ("long-term", "long term") @@ -263,7 +263,7 @@ def get_num_mentee_from_row(mentor_row): """ Gets the 'num_mentee' value for a new mentor from mentor_row, or use a default value if invalid. """ - val = mentor_row.iloc[44] + val = mentor_row.iloc[31] return int(val) if pd.notna(val) else 0 @@ -271,10 +271,10 @@ def get_mentor_position(mentor_row): """ Returns formatted value for mentor role and company """ - if not pd.isna(mentor_row.iloc[9]): - return f"{mentor_row.iloc[8].strip()}, {mentor_row.iloc[9].strip()}" + if not pd.isna(mentor_row.iloc[5]): + return f"{mentor_row.iloc[4].strip()}, {mentor_row.iloc[5].strip()}" else: - return mentor_row.iloc[8].strip() + return mentor_row.iloc[4].strip() def xlsx_to_yaml_parser(mentor_row, @@ -291,11 +291,11 @@ def xlsx_to_yaml_parser(mentor_row, focus = get_yaml_block_sequence(mentor_row, FOCUS_START_INDEX, FOCUS_END_INDEX) programming_languages = get_yaml_block_sequence(mentor_row, PROG_LANG_START_INDEX, PROG_LANG_END_INDEX) - mentor_image = f"{IMAGE_FILE_PATH}/{mentor_row.iloc[2].strip().lower().replace(' ', '_')}{IMAGE_SUFFIX}" + mentor_image = f"{IMAGE_FILE_PATH}/{mentor_row.iloc[0].strip().lower().replace(' ', '_')}{IMAGE_SUFFIX}" # Format mentor role and company mentor_position = get_mentor_position(mentor_row) - mentor_type = get_mentorship_type(mentor_row.iloc[4]) + mentor_type = get_mentorship_type(mentor_row.iloc[6]) # If mentor is new i.e mentor_sort is 0 (from default input), get the correct num_mentees and sort values if mentor_sort == 0: @@ -303,7 +303,7 @@ def xlsx_to_yaml_parser(mentor_row, mentor_sort = get_sort(mentor_type, current_period, num_mentee) mentor = { - 'name': mentor_row.iloc[2].strip(), + 'name': mentor_row.iloc[0].strip(), 'disabled': mentor_disabled, 'matched': mentor_matched, 'sort': mentor_sort, @@ -311,22 +311,22 @@ def xlsx_to_yaml_parser(mentor_row, 'hours': extract_numbers_from_string(mentor_row.iloc[30]), 'type': mentor_type, 'index': mentor_index, - 'location': mentor_row.iloc[6], + 'location': mentor_row.iloc[3], 'position': mentor_position, - 'bio': get_multiline_string(mentor_row.iloc[11]), + 'bio': get_multiline_string(mentor_row.iloc[10]), 'image': get_multiline_string(mentor_image), - 'languages': mentor_row.iloc[7], - 'availability': add_availability(mentor_row.iloc[40]), + 'languages': mentor_row.iloc[8], + 'availability': add_availability(mentor_row.iloc[7]), 'skills': { - 'experience': mentor_row.iloc[10], - 'years': extract_numbers_from_string(mentor_row.iloc[10]), - 'mentee': get_multiline_string(mentor_row.iloc[29]), + 'experience': mentor_row.iloc[9], + 'years': extract_numbers_from_string(mentor_row.iloc[9]), + 'mentee': get_multiline_string(mentor_row.iloc[28]), 'areas': areas, 'languages': ', '.join(programming_languages), 'focus': focus, - 'extra': get_multiline_string(mentor_row.iloc[12]) + 'extra': get_multiline_string(mentor_row.iloc[11]) }, - 'network': get_social_media_links(mentor_row.iloc[31], mentor_row.iloc[32]), + 'network': get_social_media_links(mentor_row.iloc[32], mentor_row.iloc[33]), } return mentor @@ -385,7 +385,7 @@ def get_all_mentors_in_yml_format(yml_file_path, xlsx_file_path, current_period, mentors = [] for row in range(0, len(df_mentors)): - mentor_name = df_mentors.iloc[row].values[2].strip().lower() + mentor_name = df_mentors.iloc[row].values[0].strip().lower() df_yml_row = df_yml.loc[df_yml.Name == mentor_name] @@ -432,7 +432,7 @@ def get_new_mentors_in_yml_format(yml_file_path, xlsx_file_path, current_period, if df_mentors.iloc[row].isnull().all(): break - mentor_name = df_mentors.iloc[row].values[2].strip().lower() + mentor_name = df_mentors.iloc[row].values[0].strip().lower() if df_yml.loc[df_yml.Name == mentor_name].empty: mentor = xlsx_to_yaml_parser(df_mentors.iloc[row], new_index, current_period) diff --git a/tools/samples/mentors.xlsx b/tools/samples/mentors.xlsx index 8fc504554c76050c890f5cde680c5719a8d67ffd..a404250e471c6a4d7aa8b0de981c6bda4c5bc09e 100644 GIT binary patch literal 13106 zcmeHO1y>zgvc~n`?(Xiv0|a+>cXxMpcMA?7xVyUt2<{MqyZa;e&a69=x$_I&^jT;3 zk*;s8u3g`*+EvwZlAvIyKoCGsKtMo5K**TuYev98K$ze_Kqx>^Aeut9HcrMiPP$6& zcE*m{^lsKxg!y0~l(|44@7MqD_i3ca-|~9CZjY;aNjE~M_~=* zFt!lM3~2;hU{el`UPdu|(8uK>d7P&wAA3WDp`$?)nlQ6=8sV<}aDdisgZ-64yKK%C zcRUeQN%9T6L=7Bck%oSvNYhBu=#qW=;(}PEnnNo!u8~h5LUY9%TTGoEUAU1s8wa&97bH>!A*-X z%cZ+<1`%s#^VS|#^iuCei^4^O*yZDOl=?6otanRdBN5Ip2K3|MCHOPbVd|?=;8b(F z5e3Z4fxpxUYeb4*HSO_j<^;$W7y0VP-Fk`Ne~Rhhw@2LIjyrJop-LE!4JT(rR&6`S&W%6|77y^^uv{p5bNNAK=dzTS z&4TR|+9c&@ef>_qw>MBAxql;PgEAw@^}EGMy>k!tot(N3##W9D^uNack@EjB6aVGb z%M+w!`xpTsXJXHx!*_FQafpJFt^#6hL`pt>;;RS^(FLS9Yh4t$h)URjprXDVKF^~o zYdq11!$h~+tmTo&sN5utt`#AvkM_=x)Z`8+BKGB5{YWlzH*>e?q7v?uE*-JdWzApm zBu6$#L}o8O)gVsMt71c=6yb)T^QQZ23`(o78{Ag{&j~7?RD@JFapWE*PG$Noq!b^( z@rQ9r9nYkr4Lcf`E>(IBTM^wnU@I${ahg{fe0Ja>cGoqs>c0Av*@g1rMJJOrtU%0) ze9t^3Iz*OxKuS2lb;5)eu7W&Pbx{U=E(nL9qVzY|0s0tg7y{KQUv z&UeFJFgGdH1_w!(`Sv0`eP`>@BvZWp=Q33C(1+%8rfp8e@ZnS@AFnhw?Wm|Ccfq1j z_bAuZ&CJ(3+Xb8=RmUO~C?E%vo$t%U#QoJtrr))`1nlXlQ)bJ!cbV$ z29J;*%s*gO&6p%>?ttSmE8D{8#kv1hpOM(@c9 zej*~@ee4-fVzJvM*TZe!hb$I6@F|8ZBj%RNm%If$gdrWz#m;MpwewLN1dk5;l7&{Q z4Hw-WEIbjZ>6zlEaqfN0CZY+`V(wOJT7QCMV$K=2i@VspM^|Y>PiOcx>^su?L0q=& zVl!?O_k8wb(KeISi=HlNoX0_sO_Wf%?R~)CYnurVNO!*0jUZx8z z$KH_kJVj-NT;&_es_zKcA3>?6b1CaJuE5s(MUq2m)hfOU#>B_0mU?7>P4+cC-HlDN z7D#@%9@3UOg>TbHM$Fj3N*-Us-p6g%#me*zedT{QI$M=6kL4kmHAdc`zu^2B+)jYs0VPDNRZ3)Z@vIoSZCb0@2MM;O+?(s~Dv z7A00)LC?TGwP-0LYt;6Uxb%a9UV2|(l9DDat1(}$Wa{9MfFrgcO<*NLtFZddhwP{> zw%iQ!h-`U8*Pqz^K7f%2Tk8#0?daG}ADnL&Sg<4Eu!*@bbhQEI&pPPpAmHww^RyDT z`i4N&Kk?b)s*;vSwty)-17f`oA8Tk>C-`q2 zRNf9@|ITvm_U*k`-&j>+^fA`0J$JqPZ3 zACU&b3Adr>z(&X zKu`KI*90hEE7ny7sE#v(`9Lix7V|_=o~GcbjQ(P43P`aEEo)kJ@CP{_y_e4TijC>| z58x#&nGDOHt6POXQ6&R1;U&V+A9lvoh9rZ%t7c*8hnKg~x7Zd(oE}KX=z{Ck=ksEX z8Y>=}Uo2fFnimsep7@~?br>Nfu{h5CMqgDGJX%bRAs07us<-gb`BTR*YN_{CFFmi% zKMxXd0@_+^x$u>dT|c-8<9-M4kiKe51vcK1H_dg0rg@_v_fKWW{Rs9kJ}F^;YG&D8 z>prX$EWT3{FyI~C~AeKvGnkvxRNt|kvTq?>wO91PyEvAeHDq9Onj;sktR*G zO;;3_oJ2e+AAu=MwH+y2L`N?dG2X6V)SFCvRgRjjQ#4#oEljRR#T+UTU#b`}o~B@w zpG16BfSQh8G;BpFOfEp>a4He6s1m_B+sHR-;Ul}KjefawP7k|FmiKh|SWn3SJ)liA z36dIYkZhu)c$Ny_nWv9`#;)}QH`bd|Y?A=7jfoLH^vgm5vju?l&;$xw$bAt-WIO;D z=srpX^Y74#Kj~dLX#J$HroDIycR-JNnAq_#Z-tSWFnAN_w6_eLp*~f9etrfCb4wGYQHaC7}S_6X+LQEF0 zo-`s^F#6;86N7O?FvDLz8MR@u{COSpAYci0Pzn<(P7sr2OF2Z}=o5_oc-*}HuS?0b z%&!s zK8_!89t&GXQb6aC0uQW+JlU5FZfReqmkiQsyDwzZ4-m2SC0wLh zD4n{T@FKiC+|HG|orUJ{uWM$quOwAjJ6SyXG^g4xE}7=srLq_4-~6#K{k~(R)LvF7 ze-Flk-uJWr#nUkV>1niO`v_4(&ZM6af}WxqXN5CeM6}U6SO%*!MPyZ(`KYU_FyGoj zC#}ib)Jah(gZA1Xbs{nwRE(e}B`qZ~Zc!wprVi)8ts{m%Ojs{|So5ou zpMKbr?j3!@N;DfPZMbSa57S2`b(15^XM!5CfxgQ{4Umg^TV;lP7&2OwU&806hTqW+ z6W`mW5G`Kq>rg(cg@NP4@S;Qe?v>YDr_Jk^#RhB|nr2-usbf933I2$BbIpSKo_YAE zm#L+i6qBa27pE1kucI1eP^GL@W>!+5q!$~ffv7EyNLG2gzJcV^fqo6vG_i^@ z!Ky7RC2|>y60Zh)LEmC=8jB;7j{ZhFD+)&S7ss@srD1v*5reCce*z5>3&%CegE zfKX*W=T3Yd3B%t|8Wwat^K8#CVS{G~dB5$oX$jb;H6&EXy-0M8E*m%tVk8Y1cUG25 z5lFcdF_`^IXnN!w9!8WBU8RE_GtK?7Sx$@{$MiVSrETxlZSFUfIEw3y5FezC1kt3^ zKa}#jg)<_AS)RPdQtNoX5~hE|Qch;Z*2WBfjDLht$Lf-{I2?$b82i42x1ZH&$%fd8 zAya6{thf8ClTkSp+P>2po;nC9G&<8H82W<<&*rCsblk|*!^Hu06m|_-N3ermVsMeF zmK6y_5$)! zY^+u*qhlycGXWm8gRwdTgtC%;sZxhHLiwo;(UhL>C@|b#X(Eja6BvDah)pz9+XuEh zRF2log~Y#~D1=5BQWStuk!#}9)B89F-mZek#1`5pxWLjCP)Qhei$0M-jGq)a?-@Nu zlS$?as%L?|aN@$f<}oq_WQQ40tdc@KC1P8&{`tJz?|7H?Or}EJviTn7tq3b!b>+mx zu_11NnT^nMDXpjKdkPLtB>cJ`Z6{}-Z9NB9wlSpbNAxb9z%y-iZJTB{PzlV5Ta$0g zc^x`E9YFxjwyoeQAg>~o?h?wd5a!lvWTDTc?lmdfkXqM3x&8o}3?jD45yVi$0lX}D zumKO?b`iVXXm8ZfbWsmFQXv7yIT*fiCZqnOjk3LsE{|8#4v*I#`&)Gdq5OEf9!}Ti zqGMx3?f!Mm68D!YQ?JjDhSx*0wmN*Ty|Jmv&sF?hmt#{oPyTTNis3q54?mhrWp%u6 z4$d}sZ@W3b@Rhc_Gmyh=5<%rDwV`~??nlY8_xiQb4=1(`r z?X6vtgyyoqiVUA*1aX;~uqIJs#6?hN&hGJv@J~(^4;P&yLjolEl=k_At))814`%&Q z#1!*!Si!rZytx9)@K&tWgsdmMG;9;RF`%LS(?#$3^kcB9cH(Z1s+eR>Yt}UAwwy59X{Q=6KMd=rKP{ zPB#%pd-7imL>w^7q#^K%Y{SYw>p}RCd35TT^x>4R197#ehGd5I<8@~I`TZr=mJMIb z5+aJCac&`ZGFQ=(xN)ZZmzA^8TO)!MKk4yQ9*!8aBll)s{qXhv0;|lAD&sctXVlki zFnG^mXGF$Us?k_2WYTAJ`k)aW=idO}Cd{;uH9Y=f z`4g^oHQgZ)(3O1o)JxKK@ZO$lQSmjjYD37oTD|RN_?iAGxI5M&N-z~|>Fk*v@HNRo z1`PuwPj01LwkcNQ*I1e9F16nhOzh?dQYzcm4V-D_wCY;E&PAIQQ*wPxrVd0fRSpa- zV#})&_=e!0oT`7kP}|oYh!tMHc0$W%AF1<5*Yf4tGIhdcm>LFWEKOw@&W5z08L~G1 zLiSX~+(%ArC=~QW`LqJ6RtD;9O===(0&1*u_a(GDHaZ>(@FO+3}iSVASNeSX87oaVI|rD^eH6W&*3P zH{oA`Kw%TVJwnJV)Hh7fG&Q0-S9lZ~+ud@SxCca9l**ctW0`J|Z%AN`XD82xLAJUZ zbBt!|qGey$N+ergzD+4juK;He(h4tw65*c0L^*Xfg3v4V=E3Yj!+C;Cc1WH0nfaq= zxWNsEl9*iS#(BSN{LI?bpTUL@Xb>_arL>};MhdbLQfHoag{kwXxlv0g*E1siN?bW! zu?Si#tERiqZLA##n)LBYriDTha3D9n@2PjZK%m+k<=gkc0rD$%SJ#e~75I^voSI}a zr3fEm8nv4y777kbMWo4E;IRXTMuQ2n_QkBWt9_M<<*6Tb@IluEi*H|`(qDA)IKK03 z_%BCnUIn7z3n=N%D8mtpVTgIM`E?HQ)%O&tFQG;Jyry#z*lmp~!Z25wGC!^jcSv<~ zxcJfe(`%5P_IR-sTNGb0&@{H>i%l%KW0-x^!#Cv@^Z`hO?&(asLwGe33(OkTJi{!?k0HkPmimRa-fr9%*MRs;Sb`oST4e{n5IM`Z(cxm9J zYjl#^1GC|hFm=pH#|ewLUmh^K?`i~%c$d?Yomos9=2cN7YmS|zTp+g8f3l>zPI8rv z9Ot^_7trf5JG<46z)1REn1CX5+Q9(&N?&xqGh^te$&D7?-lM$#%u%s0;>`uV`%TXG zJOtdI-qF#?-OAYUSJ2n5Vr{#^j`+%__a?CED$J0=vl6G&Zy$uVA7L=!=UqfLO4N(t zpReHF_xco*WJG0|)oA0_<0t&tZEB78j+p$6Ych)>ADdb@B7lZ~^Al=q;dWd;|EZ&E zaF&Rnya745_;ft$zV_{vtaw3e)G9AxKAs<Kr2McM*ysqr>8Xo~3=O5Y{Pd)KQCZw>r>5fBT$18AKD zKw-#W&?@gcS+E)u=`L>7%hkpwcYN3OO901!%Q3m?YZdjX_Gm$ij)Qq-bChkh;H zVqiZD`RxO-)@Uq((0(T2dDhI;E#Xhv!>nd1e!eKUGcg&;?=;!dkRR8ncOcrt;XIWE zEA8VGcE_h1KjW0_8teFe>2=SNlxqGuc&|CA&HtH4(j8R1Fe+Punsp8|fYyI~ z_ER`6`($+||GXSG$lxd00N%UgS;*j60n8~>9!o~aTZLrCltBY_=atCXpm+&T=m>oL zam6w0SAQ?KicB)H0Z1xF7UvHZ09dFJ!lUqJ5WjSv(N4(gq>!%6lou*r@8W zSJ{u&d0P4A)zfHl&!767S`W)EAoh0f8a!hs5U~fxIAuF=%0xd;8%ltat4yU_sc$`g zb}CS>Dx0iB?9|7Nd_y^c<8&`dd0Jhr@uAP02B%%54r$G1JE~LRMQbrE){5{6ZYjV- zi#_kCYk(oEx22j@N*mQ)I^b=5$-SDs#>YX+%`<^{GbcMQI4;)L->`7(t2X@c14}Qd zu$ON3t|XNzW4n5B}+?q&%wc<%J-X6>1RtQvA-i@mwpX%|+d zbfa?BOu)bu&(_rjcg@PR&Fdueb%MXna}r_I;kW^SO%}!u7uXhu9e^j;o@qptVa=Bo zZw1>6+O*eM)mP+;2icj)@Z24p;g`IZ8n?Z3FGhBI#FzspaKm9RP&w}MEwU_&Ga3NjTD_6 z%xz5nB(3_215OK)w`=kn@IdOKGBMT2%<@sf?l)J?#s$l1d#zF)Kb8rsFibrVJ=Sea zACj(Ah7of;kp#{kDwo8z$*Mm9^wA=B2eY9RQ&rS-^ds)Z6Lr%)M!uxOM(nD^ZtRa- zzAQe>$b4dnlGbp%I29wYpL5o`T(`Xu(=4CsUfOh}nm()_#;Vny?r4s+l-q-62mxVU&P4zEeGd}xdjMTq?C9wxYQ5AbtMA~Z6Ve|Gf}vfXBQjVkOV-6utk$1oTMG{`ERbenxKQnX zB`>kl{f;9)Dv3NA_EDX)+F0gXdnXuG1N@l&M=v|k0~<=`-jJBdn}gSd@l3jHC-8m?fhtEdo@*(njFfr0)SG znnNq#nq{=>ZNr5~Etl#$9cIduiPJo&CVaW#Oh|h!SQ?!zs?`E38M+Zyn?|{UNVl(o zouyE|^k@y9+jRvR+jJnhgen8=q)eeJQKNbTSSl_&j2X{%m=w66&gNUhy2~Pa`DFL( zj{t;aBSQF2rDHP}53aOs7u;bwx^@^%;@tX_RDU*~qWVrwU-8!0t<~eO@O#R&uN%=R zP`dD;MRmy^Heq?t5#amP%vKT*Jny;Ci>M{M+$mpuo?|BhJKD!iVtr0;f4xKbU7rGb zZgbdx&u{$*I2{N-0i49vkG_CZ+aWsGh%laB#_AIn`2bdm=EB(VmDIxTU%Ix>POUK^ zw$@e{qx##L^f6;xZTlF>xp_e1&}CH6MCYV;cd;jux9H<9Ch3--6I^XZWZK&uC0zvf zvNf5b77<3vo6kjpelR5EU{yyCgN3XPl|SE@MSeXCYEs`8Xi3=a!Bxgr`owd;BE*D7 zK&2`TE|L=YVG$v1gyu3`5w;oj}hHPRf?Fa@z7rI#aM(Nxw@WJc<>}#>P+J51I%;)f_CG-u&F**mwBmoF{%T zOxrR+R1>=7bwBU#E^^ugbif8--`A=5fZ3mY{qy|pQo*7AyZ+UL>t$vv-_ityDdiIu z97WC!mNKk^=XMkA;{8^lu%VwUj^%UwEdGtm%61b**y~BBSN+4inHO!R;}EM|Z5`pm zaA7u|k2Orib4+yOZLBGphTz3$qljjDWR)(T)#>O&t!Pu$NcbMRla#wa;<(D}!|Tq= zl&J4R{o8}xv-8_R(^)6(WT&?W6Q7sYvr)|=KY2^s&Q4&THjPR*1m`sMn6wsyPtK&t zhOaMECc%WsfYt32?aSTc$;!rhXEQcIr|Vwi;gfLb-fKaJMWncO#Keu^TZiDX{n!X_ zWJ=jtTtkDKq8&TjiqG%L~)HVZ%d{HkX@L#xd3-gXb9Wdu`PCGrwiAGhVTho8+J zQk#JzSObx*6De3!vtM3Vb9g1!=)lnm_Q&x%oX$}Va1&Q=^kt<}kf%WhyM)wvS~LJ` z`KRia+RfXvHW79*vKj{EXb1%Zwb+{JT${4DrEg~73@a_xS6qZ~xhqCAx#ePkDR>>b zbo(L%r_=j`5ZGm4INv7og@cWN!a>M#L8V$pp>(#h>5FWT4~gJuDmmP2nk=!_Choj} zxv{IwbC>V;?#}EfIwASk>6F2t{rDLHdWkovZ)K+&ZN6tXcYS619jAjcPPaH%8+P`+ zafNIBfhOp!;^?f0@cD>~8ap^N0!RL7b|DjZbn|j4HfvY}$ieg$B;u*tPcaMO(B$eaG3$cUN4;t1`?ZFim4|OvXpzvOLEwSEvxLDFipt- zvYiOm#pl2dd}_&vxBYacP@HxUjBe*IyiiFoJl)-|NR;5*BI!~bj8LLSFh*5Q&tGf+ zm3x{at>OseYpXa~VdX$8bd4jPJaqx)WMYy-@NPV!17u<{V5leTosa#@PRpxhj?>^w_B$PE{s+&`dx-NoUQR%K}iU0IA^OOHmE+bJz}?j zxscHNdti^*lWGCE0+TJsuRal(NkCDm!-x~u?=ucLr^Z_cAQFsu>qD0pRZ(tg>F(P%YPCD@w?w?Jv z@~p+FR~DX~?~;_V9)MH=$RpYK^Y$`--kQ7wU<=}224eF@q8?fD1u<3zouBwYcu9~f zFCGkILDe{QVCJm}#TvvLOKx?txH%3QX{tLmC4-x`&0=!AjTcuc((%c8GMe=TqZx#e zmL#uHQc&8zn} z(tDqTk*%SegRPw-gQ2a1@vnX8d+*%;+9TdoXB97L8N`Shd>8x*Iij-zS_tO6AE@q} zDh&jiAm$3oKG4d4-|2u^`-HX>I=R#Wj)=!>$tUZghykZt4XL34L9wen# zva<%#OWfALCH7f{&@m2&l%M_cbi((8epm?~_Bg@%u>kPIIoseDa_<{-AkUv2#M)2MYCDmCX%5 z3-zn3%&)S4YhFHsvu)Y$rp5bCR>XfbFMT_^|5?|&%KmX=B~DweFd`0aKt2%!t>d&T zQIb$nldbLR>H8P1)sg2I%BwTCmWkgkoLM!M&hi0nU0R>+pJ!cbJNZ}zoZ_ZSnv+uN z1YyGHlle|lFMaM#wj)u+*i+aGp(NeGk`{jMKz59j220_~RSWkQm4`0}E9_gC(N4PI zx+@f|s%;ytmnkW)_gFi~!hKS>%5PS%BMc);!Z;a`i;0Phd0nWNs@&@fU8^zHE3jQ= zcQXyQHJ@MK4JswBX`B?5P>ZaBgcK+%m15aLUsb$yVhvWAEm-Hm(HqENOooHf=wQFb zTjcAEzQKwfzj;R0Mifx3((wMM40OoU!a!kl6?#;%dv_B^gYVNk2s0 z_rLO>Y~Zwo-lbwY7_@VI`F8untLZb!+4Vj-e`f7~LFnH1{D1!#z(1$(pXa}MC_ql~ z-vR!;Rr#NSzs}k3Jo%T#<=+K=Z{Pe&wD-Nr_FFUO@52Ay68D!V5K!5BTI0Vr$o-D< zdxO+pNW1Te%>ULd^*hS%#qYmRWRd?C<&RSM?_HLi+>d_j2R!0Key8{{oQ3 z{R7~yjO_2CzbAzL5`7`~Q}p-r(C-MphcbU51i#mH|6P-R8`%5~`0w8QFE}8eS!y7l q|M2aAxH@c3J;NZ%L4);B@&ScLhynRJn?`O9*|)3BM4H&8@%zIbE~TB z-mbPiGiHa7Oyce8s&mgh_uTV;@2x(%`>uEY+)VcGKdseY+IZK@4E_BAZk~I!*COe~ zwP6^Yw!`pr?%en0=+5d(xDsbFirp|+tJLS_D?$c#=(s_5t#bclr+TX*;=~FZ%L@a! zRvF2-^3wYIURXVro|T|c+;jV}0G1$LtMrnjzf!Bkc2D|NJQwz5fG3?W@~s44qi(Hl z*{4=l)*AEkH)^0@jH9xy;S_t$S|!?Z>J@P^>Z9k&afh9bYs;Khr(0+70# z#JxGcG{30B7w|7k(7e2{v9YwA(xQ+ukh)x)fWI|=W3k!L;2B84FHOKNZZtPHZ)org zq~LE%!0+5#zOksoGf>ZSgVPCUn$Vq{6nhTR3BB8;;I{yNYd!@ZLqQsH>7p(=VUSFd zHQ#z1Mmqo?Kyny?NZ=7VmJKQ1wETADTGWBHBCWy`b<2(?Zc$$%wj;L>^M9vrK_kZa ze)z3F{^7U2E`Io}uf6rgH{N>V&))jQ z2VeYBIXq0;xTEj>$!EXw7r$2y2n`woe((3c_Wf^s?R#JT-GBR|FP4BeBdc8mKXH8- zi$ggS$Dxn0F=KSfWjlJZ7AHN+)mm6R;4VSEo%A%o!;$5c!EH#Lc@H8Ok21jB!DEfq zRxcVPZb{E~d%gyE5Qg4H7?m>MF7;L5@W~+PmUkWvig3r4byn8*rWI&YyFKW`YGy*I z@qV)>H8PJpD@YIz1u_xzEIgI6WOR>QSL5q}Ye!)mb`tT(6&sdY%90betqIb&(QVhq zyo}1mjH%XmbMQcHgkIUGx8#`)35BpYa#HG?tJsP3G&b&9gT(U7P@Y%_y$TbvZza7l zB3q-#F2Zfc31+%0y-;jBGLFmI+>0>Y0`9vO>{aQsA9y2Qhl~>Uv<&CI6^2E~t?+cS zXZigy*p?ggim-d}DMZu~MfMVe-&Tdaa&C)tow~k=-~&-Hk;*L;-1@ZdL*< znKU+vT5tJ~iN&0kgXQ_qa5Lv7A{&8t2wc8_IvaJ3V9fF)Dr#8{oJ|XHHM_p%DN0AJ z2GX+}sisJ~UEpS&=PnbWiSg0!l#DzXH*>CmX_phhVliEQuE^vJLB?2~BvYHbpr~73 zAckv|<)sEnTDH|+t8|d*;?nP9(qf7QEw76Tt(`K9j^f1>h0)Zw zAH~U*75CH}@}qRBynuRA^f#6kN!YGu042ucYE&%Tf`~jfDj*~J)XGjr+DUP;3wMZj z>T7BV!$BgWR?iuVwl|25ElfXnO5<_d7zGPfX!?Tc8gZK+>9#esG{u@0!>Rk0*Y8=W zwWR7yrf~|KMKz~^zZJ;C*h*>V!9Dp;F&hfG15^+e9GU?e#ofpfq$z8a zFiLtMtWdw_+B*^aKHCmR3o5jD4CZ51hd(2EMxRRO6b@EvB!bDY+ZB-ucaroXDUV>5 zSo$tOR!?1zLg}T5SfUE##(hP0Tb@bpglymqvcVP6gQ&ALNzDMmnewN9Pc^9Br5L5C zZ<-~`U8mB4w>xlA%8Wr7u>{F)#{Zl|=9V6~sP^1E^O41Y(1UT5w3umy=KPkI)2^P9 zgsV8cZ@EI%mz2}pI7 ztQsVU45YehBkoZ*l`s)1#o9DDC9Y-8`kJGlykCRaMA=p5`w5wy2T^)=nl4@^vr`Uh zyjJ(7vKljMswi%CvOI(*h8MbuYf)kQF(!HoRsVsfR;S`VzOf$kk0O??cIb@KOD|Rq zS4kb^Fa+rZ$Fd__=RC_la!x1}QY$1`h|JK`j07!jxKNff=nYeNYO1_t-nemjOrV_;qC+aC!mYiSA zvXoO`-lX7Rg)_2{dbQa8!s#eUXOT6QgZuw*_MXqbduE3I-lvv>V_xK@#pI`72xc5D zTCTqO#*4TgNz36a4*F^^Z{1iqgW-I-9TrY#A4Oq5esF?Cxft>p4E!BGiG>{w0$?Sv zQMZKppp6|%H!4DH3)u`ElmkBW$w8QW^gG}D%y&QcX6-xQ{473%y4UNe&+q-g8|uRM z)#rEL{4I46$LjO@U;RSbhO}X#%leH)y-&a9)JFLC%c8g9`zvwGN|aK+zDl~34}zqS zZmh4yuPa+o=M`By^ukE+)Tg;MEv_qwO{_4aHSP}9JG_y)&Fz#ts~bwMNr+Sr{DEQx znUS0T;v(HxUxo8Rh7j!F3;9I4CeE)_0&LLXAt<;@pyBRDb!3~|FC(r|3-sF#BL^FT zviYN-t6S@!x{L9Yl%nbegys}-Td!?S<1aEm-IGU7qr2qKGzeLq9?ArC zLo9fUBouA4;~gDA%fn7VaR>r+`gV1&hgdY1!onXRZ(Ff+48m@k4Tvx-yLSgzcaMb= za?7|cty81rp4qa%K6?;F7?gM%wngG5o;jL3dfUwqtHQyE8Lp4#t`2w`!hvlYBQcT| zY%q8y&-*fRu_;q#wDznsDQFjrw0j20`#Lr(y?bI13rl!z0wRUgMr}t40OL*ESk8$Z zDLv6aZch_~=|%B)gq<7#(thb-nLkKY%IKLDmfdraxbu#&SrHGgqbiOeStvh*6tBm# zLMHZ{KH>wN#(k8vP}ohtO)P`TB#fIdAGEktUG?79+!9LpH{Lh*41C7l&Vk?dP|N;-~6L|`ABH~~Wg z7nO3c2h0%xGW{Rc2XLqlK#6+47lL_lFC2J|7)o%RxrrM?MJ-qYe}*Zb=|~j??#&Y7O{`Wi=wMRVf7icYhxWd~|PBGidOU({)ym&A*8 zQAGi0DC1-nU#p@Azm6{-79U^wgg)e>=Sa(D0 zv>bU7mU$LN%Yk|&Y^);~iCipU%}9z#?b$n}s!irdnHZLP>>q@<5>Pj^pa4%G!1tdw zL8cTxc-{n=qWtiA6J*NsE6Y*51f>QUb{)Btk1VcR2rDwL^)}e%SO0I2WeRxH z2w|TWyG%K68bR~(qRSNbrV*__FS<;rZ|WIAdD6nEMHcNJsJJW($~_!7BIQ7o^^(xT zil&h@+oe;6hp)btOk5K&nq;?PzRED9mw#S=tf2qMLc zuY6e4gi5&)SR)@I;MgS1NK;Tel7WMo5mkzu0S1gs9j69OMuLKU$moYMEjpA%<6y%? zajoSeG^Gj2@e(=}OH)Ld`dh5)A!_$Vh~-1_xFe3da}r`i_nZ?`{YO|sYoszR0gf{d zturKuR@+6kF&fXFk)t#xa-(c+aX`!p+}AO~ICC~|Mxq;qgFe!X7@<3f5RsZ-!>lKi zfFNr_l#diHz>=msx21F#1_x3GDkHQ*SZ2%v?uRBFM(VXC=}-q6A((OIF~}66c?#ArpQRhwp6z1I-uL_j8rl(q>cIlIS49v)wUa0(a0p#$eEg1 zeug7_YMe?zJol6`50cB%ARL-l^u(oHllKsaMY2u2=S&?Oe+YgA0)<+d0%WrOAfWlB z$>2&Lbr(bGRB{5goXIK)6hsAlx1qom*61>Z0yw(`Hj_fQf$a^jJ;)zrc~O=t>G{!| zX+4Y#sacdh%IPep+6!%wifv3eb7Q`-XiQNdw<%}I>RI`HHhQU*%c9u`BL?*WYTxlo zubpF!&w1?yN>FFP*ILi@p;~kyqghrkK4X``WuFfzOFZSYl+`LjNQ_2VY5-0n!%XWi zY!&Sgt5GyLktkAcjT{U|%lAhdw z5C)0zPO0Ni=;0~$v8%ocBkiLrZ!|W^HPqLH{2d*BF9^b>$3+}egFKuQGO4+%H)vEB#Um=S>1g-IP~{Ue%^ozP*HMC$@L^;_ z;W|-Ki^%A(+d?IcoDpm%Viu4FuK^tmVFyTA5jeQ7E434w#|Hu@D--F%$-qAPDC9^i z8=%V7>`+JnngfERUU1GDw?1TH`|L+i&6Hg#MGx3r;u=jy=(G6NfACMIagW z3aAwCxO3cd25>&;)@7Da^(_E@KnU)K(OhP8v(FZV7(Ez6pLVRqpwPvsa&m>_wGbb$ zTmcLIkD6rHrD!DO7TTmdhzI>XHebqcLFKQLUqgR0$5S6bZ(H8p}b+*3PQ3ER`5P zmNST7;162DVQ2Ny0zp)u0T8himKu{l^g|fvKs1%siFcR+%rAm#dWJqCz8Dh#AYc#s ziR)7&M@>_<(2!B51v}E>IeOtGAnL*o5jCoC0M$@ID{!fv6gf5vPek>8xKNN9gl7;Y z=uxWd+_USG9B};=iZZU96XnP!5EfvPY!tn-3C}*6PaNUJMfH6Q4-_B}ruIBaW-$ba zVqo;x!whwM*sK|LX?rqm5hSnWC?N?1RnT!bjq2Q~F({9ysGgpW}ldePhmny zX4vgAs%+X#FMlvLVYGU*sVtEV_3EMu2j=QbEtiE|H@Q7%BW|HrHeerN03jW7U>HGC zf-cq7L3R28pG50KB#Y6b?wnP(Wzxmnr< zlb<3^Z_L3|V}Y4r)I;i2w)-&sSw~P(P(eu)-6e%%0>BVzHbzNM2tAWQTQWXkTOhp* zjX|yvNn~`v-f^B>q}pg{gcXmZ;qRM99B~*L2nqoKY11SEL)~x|54kml_CW)YA?th4 zcU$%o1L~eGgDpTv+KMnM?!ja6#UU&l-7;FX^p^Gfu@=wby&)GZJmYa8o~_sFbqZ*g z#QaL*#>&FY949YRZ)(uxcn^5`7qWPEGNjdTMK1SRn zP;{W;3lj7#1Z5`?b`Om67M_#4I+DfeQfZW{Lm};_RpmBC7O1{t!2!^xy79A{z zs)cD(7v{tUX*Y#S2;TOvvd_v?m^igenlXLh2J%3se;0e7v=%(TLKf3yAO)}WG3AXWKoH3H z2JIpegHFR1?5UIsITKL<;UhGRKKXTIVop8oDJZ z@i&H>lIi__hnh9h@-^V8g(4$hUU z6RKS8@D4?te>*yGN{SA%tHVrnfjU^~0(De-I?U$wJ^lF|{do(iKXScIwI@mky{m&x zb6z@Bim>e(k=ua|_P^*O^p2+Z2p#BBA7OxB>LYacOMQe6KHWzca8rDQ4mIH;^v9W5 zp6Vma_J*wLBGbIBV{c+Hh%9oJ8kDY_=}jihhas|)0Q;9=IMe~AnOGfaid{7Ze55y; zYD9Ig$uS&X27o=UMXNY=-O7lnHzulGttgZs7Ie0w2qDD!YVj-W??$rHLKZ5WW=yY$ zPW@u+b|&>C4r(CYSF*R(^y%nl6#XmWn+eiNDwihk+Mbj<|okpMz`Omku?k-OgI# zdXYb!vMjQpAz050jBU-uw2!zdovtb}oXp>xKU%zdIDgcr-k)FIy?xwhK0Ms0Hf}E6 zYPaW?Bnq9?rTUa`fewEug0<-4B7&#qy_mJ4a%D7AtZE^4wjEW$;qSF(^U=#2&6CAu zv)gRG+*JRzcX#jYZk$&eccNC?fAqNLox}&>`LH|J54r}+uT58#uw7YIfAv!{zxgKA zl>XkYju8~!sQL67nqeX4U+vwqmmGmQ_aYoSp=l_*!q(5;w8oi%dc$nZL{z_7i?FMl zl31>-1o6tbGx>hbtKxD-*q4tobA%&0mGu{}1elGLk60BB=HQv}G(CCp%KldK=(vJ1 zXV6kh5z={(zvVZ5hkzaSM{J1uw1(95aEcaN$@t3y+CYK#vEVzE`1yq`Sf|3ijvdOc z`2p&xo1xe0xgGT#=W?y|yo_qeHxT7f#-;9HBL_@8x3)tW(F+{W109<=z;+AzQseQW z2B==c$^+(G9TW;9Nnl(nppy%0m28;lQ8OG>QXFZYstYg&&W6r~^L^$PZU_`q)+)c& zcG~S*wqsX2R$W#Xmv6|bb!+Knb-`ZfEX>>Ujb(e`H&T?;6xcAWE9vw!X?l)u@=ao$ z2dfaBEj4XCqz*XaS$&*FP^aq0-Ph26M$IaH$*IGkDJC1|z_hUvG@qWz2Yf(-Ez>xZw9$ zXRbPJubgTu*lEUvR&Z%~D?T)+On4R-kyAIO?at#5{P+GlXJ+W{y|A_FrQbgyFZ#xC z)j3AP0zc79#B+hJVMmOtVn$N+9KX*wJFm(R*-M?Zm28?a%oN=7RSCNM&ErsXRP3a4 zF-cgNyNDvl(e+WJ(>&%6UKXF}LPpDlue|>2uYUW_yAU|~`xyvb&fjz}Pw(Li#`VfR zULTcu>vbvb8RK;xdxrjJOV;bi$YgS-wOT9QT)mA0*eG`&S#Y6PNJ>`DcmoJF8N3c# z1No;lb~V9g7TyQRuWKPN^@W>wee4ccC!569g=*Ewin_^{McCrCySPph!*^@OG?i*hE7m6A@!&QbOUk;gxv;Mg_nB;t^& zR-dcavVhaEu^q%mn3d8{Y`{+nkk}Dh{7Ho(sAH>#IrMpqP$|VpE4IT0CIca4z4pq% zKEDLPs?vrU+ExK4slO2aZw7z+xv#uuW`_Rgh4>%e#4Z}dgRhaC$Deq%sbCye4<)qU zo}k@4prcBhfY((FKaXMhFB|L__=z~PzM8(hL~N5UP(QeVZYwB+GAT5gwF<0eW=3lC z6wyLSJM0p^pxs&E%=vMZHbi@KY$xW_w&FS8!i%G~1KL3k5c)NMa{Ol((na`nw_H_r z7q*{&dt(mmx71G$OzA-7N>fLEc@I8L(=E-``MBT`guGAyckCTIE;cQ7*eo^00v@BkF=B`T= zEi0~MB-A*#Ks56Xgf;otNh+A{H&KNK`Z@;VBoz+(!riNJid)EL2Ue~=N3 zh0<(lzS(8mbo)cxG*|fIZ(^BP%r%%XmVY@e#lq&m#A23*$5?*n0b?o7x!Kq(Q;i!p zU(HF#e(%g|Y!*w#jsNT8TIs}WXePYlhW@WiroU!uGcy^tey3GvovF0h+>EEk%|F{N YjjoUG{?tzs(0lQ}zk(<~I;C&_14lAhb^rhX From 3127a45e239fae6f004c6cbca6af6c1633f866f0 Mon Sep 17 00:00:00 2001 From: Airah Yusuff Date: Sun, 22 Feb 2026 11:26:06 +0000 Subject: [PATCH 2/2] test fix --- tools/tests/automation_functional_test.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/tests/automation_functional_test.py b/tools/tests/automation_functional_test.py index f81f5192..89d33d44 100644 --- a/tools/tests/automation_functional_test.py +++ b/tools/tests/automation_functional_test.py @@ -20,10 +20,9 @@ def test_write_mentors_skip_zero_rows(monkeypatch): run_automation() result = read_yml_file(tmp_filename) - assert len(result) == 3, f"Expected to write 3 mentors but added {len(result)}" + assert len(result) == 2, f"Expected to write 2 mentors but added {len(result)}" assert MENTOR_2 == result[0]['name'], f"Expected content to be {MENTOR_2} but got '{result[0]['name']}'" assert MENTOR_3 == result[1]['name'], f"Expected content to be {MENTOR_3} but got '{result[1]['name']}'" - assert MENTOR_4 == result[2]['name'], f"Expected content to be {MENTOR_4} but got '{result[2]['name']}'" # Clean up the temporary file os.remove(tmp_filename)