From 6ff802f6046f2e8a5b80e55e530179593ea29e7e Mon Sep 17 00:00:00 2001 From: HamodiGit <ahmad.ahmad1@ucalgary.ca> Date: Sat, 30 Nov 2024 13:37:30 -0700 Subject: [PATCH] Fixed the code for date which caused issues, create a new file to ensure WriteDB and SendEmail work from any script --- TestBookAppointment.py | 11 +++++++++++ WriteDB.py | 9 +++++---- __pycache__/WriteDB.cpython-312.pyc | Bin 0 -> 5852 bytes __pycache__/send_email.cpython-312.pyc | Bin 2065 -> 4134 bytes interview_database.xlsx | Bin 5586 -> 5561 bytes send_email.py | 5 +++-- 6 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 TestBookAppointment.py create mode 100644 __pycache__/WriteDB.cpython-312.pyc diff --git a/TestBookAppointment.py b/TestBookAppointment.py new file mode 100644 index 0000000..f076d51 --- /dev/null +++ b/TestBookAppointment.py @@ -0,0 +1,11 @@ +from WriteDB import AppendAppointment + +def TestBookAppointment(): + date_1 = "2024-09-16" + start_time_1 = "10:30:00" + interviewee_name_1 = "Alice Johnson" + interviewee_email_1 = "ahmadmuhammadofficial@gmail.com" + print(f"\nTest Case 1: Trying to book {date_1} at {start_time_1} for {interviewee_name_1} ({interviewee_email_1})") + AppendAppointment(date_1, start_time_1, interviewee_name_1, interviewee_email_1) + +TestBookAppointment() \ No newline at end of file diff --git a/WriteDB.py b/WriteDB.py index 9073367..cf9ad46 100644 --- a/WriteDB.py +++ b/WriteDB.py @@ -1,7 +1,7 @@ import pandas as pd import json from openpyxl import load_workbook -#from send_email import send_email +from send_email import send_email from filelock import FileLock # Define the path to the Excel file and the lock file @@ -93,7 +93,7 @@ def AppendAppointment(date, start_time, interviewee_name, interviewee_email): email_cell.value = updated_emails workbook.save(file_path) - #send_email(interviewee_email, interviewee_name, date, start_time) + send_email(interviewee_email, interviewee_name, date, start_time) return True # If no slots available, return that the slot is unavailable @@ -116,7 +116,7 @@ def run_tests(): date_1 = "2024-09-16" start_time_1 = "10:30:00" interviewee_name_1 = "Alice Johnson" - interviewee_email_1 = "alice.johnson@example.com" + interviewee_email_1 = "ahmadmuhammadofficial@gmail.com" print(f"\nTest Case 1: Trying to book {date_1} at {start_time_1} for {interviewee_name_1} ({interviewee_email_1})") AppendAppointment(date_1, start_time_1, interviewee_name_1, interviewee_email_1) @@ -137,4 +137,5 @@ def run_tests(): AppendAppointment(date_3, start_time_3, interviewee_name_3, interviewee_email_3) # Run tests -run_tests() +if __name__ == "__main__": + run_tests() diff --git a/__pycache__/WriteDB.cpython-312.pyc b/__pycache__/WriteDB.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..401e4ac5dc3fe01ea4c805117385b742890ecc71 GIT binary patch literal 5852 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 literal 0 HcmV?d00001 diff --git a/__pycache__/send_email.cpython-312.pyc b/__pycache__/send_email.cpython-312.pyc index 4cab579e27d0da1d8f4af79c05bf197ee0b4b311..1b561ac4a65d1d012b1201b20a480d9c42bded85 100644 GIT binary patch literal 4134 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 MGL-v>mVh<?0>;F4jsO4v delta 822 zcmZ8fO-vI(6n?Wm-F9}j1-2NJ1Q+=!)q-HapjHztiP(6Pm_R(xu$zX4AG0l%npr3b z#>9AO<^T!dYGOEO;)RO`!qH0;J&+o_dadEc$+s<=8ecNsy!qa@Z@#y?AIwTy_?xa% zz}WbGGy64A33rjZmDu2A*^;)&oGgGXA9!U90wod;RNnP%E=WzLfeNCC>+BZ+*a3^U z5-!;i+&}@DX81i^g~?2@#3a%T_P~;uv<Lela<a!+0nC&}7GwnLAtoSFCL*f)iW_7~ zZrr=>zbME)!Ge}{AT&=07X}D~_ziNk!_uv=Uvon&lv8<?T$v_-sqQyu?dUb&%Nv?V ztLA5@0VZVy^wrMi#Q`ytGrXpo1PYzL$ci+EZS#h;+V|y_uaeORg-gD!ADk|i{_|W1 zqxgD+mVOp2!=)RvWHk38DZ;uq3q=x-W_oa3lbRUM>@U62W5PelNmZV*GmiOsC_yP_ zfrL0WLb;|)T&MJroiCV<oy|B_K0#+!*BtZ7O2KwsE!stM#?CC)<d;jC#TC9ypA(Ju zsPjbSo9ZM#Qb+lWW^|}%+`H}~&WBTcOS{wCi?sJW@&+0zL%j{6qvfY3?Zf5tN!M^y z>f{Uht$PrOR-^q@W1tRXaQtL^^7HM(=wa^gMID4R8LNw;K31Np2SE<LO>d>&ukT8` z+3%6TA5x5$!#mwa`osGv6^_+VDj^<6!>O2f9FsAROFS7dX^oU>WIY~mG|nOu)1Il1 zaE1tuiEtiFF0Wc^OZEdNjz@F~`EG=|NC^1};Zqnnh5j??8cF=YKZK}nG-n9we*uIy BqUrzu diff --git a/interview_database.xlsx b/interview_database.xlsx index 97233833ab09eebf643dd0669e9b1acd5f50fbfd..e89113f5c38b9a9b4902fede8d683f4b19794584 100644 GIT binary patch delta 2738 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 delta 2762 zcmZWrc{J2-AN>x(Sh9@47((`#p=lvh_GD=+5o%2KeW|fU8Oz9$5k>}$LW@d6V>D`H z7b@Ax8j&U26r)9{;Z^7T{oYgW^Uw2~&$*xTe9rycbI*OO*{>;VXU)wc0RR9$0LBO8 z2seSZF4w9h%SOSRL3w;=vW_SLt1`8Hqtu)@`>ogcAoQ+7j@uXCk*f(A&DC<CFl-4y zIdJ>Ik6o<VI=4zKM{2U}kXv{uSL1^1c+71Ua+m1?A;l^yoqjd1GT6%tOPNAm3)?%b zz92*r)Z1Yw(VO|kWnk$ySELb^ROg!qnX$b7DJ8tzwkv7MJjHlAh{D!|`})~_ZE$nM z45?uB=h}(<>s{E1x!LJ^Y~%d`JDVSRK2H>)LSC6i%?D*6%^JEkphjWsU@alZsJ>_4 zEw5j@M7FfES@ulwDuU+eP-qc9_R%WWdyHN!24XqMmYz=#>ON~QB@wAMh|vl=<l$#U zETO}Aro%x-NowB_e7$R3JpCK!51!~?uE}lUznD5@*p<J)4FH;A03Z#J&=NBED=wI@ zDSc6nreu#(L*pGFM9|0j7RKqtTg*ZOOs6eG94F^E%J~w_>J2uE5|0543UR)uxwbZ# z91M?eG~tQup_j>uI4FLtWnd~DbEo?~;~bg_5z_}Gb!H9f#&Aix0(pLnIlY`>FE=4o zrASsG+JdEka?AG1dTx5n3%_v&jf#>L8Ec+Pl#d__L^fT^{2Fs4-|Q!y53u=A<Y$U= z$jgJKkv_zP&%H%n6e!&pZ+}(`?xnmEcobDF>3!qQ>{F_A+!Zyc@Xnll_kg46@8*a$ zNArn%xS_=U4M*44kC3LGSEqXjxB)Tsm=tT2&qx?kY#}CFsP|$p8?OjCJj~9aRHBX( zg7U8{!sRMX57lyMXF`UO6QCMTDb5F7<*k}mAu3%sx8sf9ICMW@nZt~+ru5hxf?DoM zZX1!RER?LC{-f7St!O@1mDV!M9@rL;$OcQFKvcSw$>_Iop)DwKV&r#CyZEB}Q3Bfs zdQF&t8hVsl2@nV#$jLz@9PR$_1spk%wa&ZXPcx-+ck~O$TnsR1bvTXeML#I#H3;fJ z3K)NbyQGJImJ5RISl?sVR8J02e}6$E?QU8X2WDe#$Z)hVu9usZmzgQMu?d6BslzFb zZ#pVIOl!!X`#Mz?L&OOl^I5Fg+ZaPrnTedrfsq?iU*PyBS<pxJpCH%O3JY@$X~)S^ z%@UhjY;31N_Zo~gs5O)x)|DbiecgUabRuV|k8r_vvImyB&$&FzQM~Ho>%xq9YT1Of z`DP&WLUBgCth>73&iEGnr9%ZR*p(yXP}TWHR*x|A#e9)M067<`>tEz~%|7X4DTZ0` zW7K5u{xqI9L<hfZQRxMv^plTT*!#scrj-ZPI|C_S(61r?bH+upxoqS-b~(A^t8woO zzUF~L{1J!vA&uW3uMjlAX*WNaS;vsoY<lAu{deDrzr9rgW_q7I({?IOo{xC@aV)3B zt?>al{@uWOiauwmG{~JO<q<t@kBNR=@o|2Usbq^ECttdp4yE9dZ8qf)C7(`iYWNi6 zRaH^Rppz|iLjFk%n9iaksxl=r4h+L0yzfK$aYdSz;iVNC=^mf}@N$0-&o<*GpvES0 z7bBrt?lTt;hFR1(8bPd+7tM7WGOMVFE)6>Su=3de6PX)&c>5AFwSIAjJ7&%9gf2_8 z2cJHt>M06C;C9t?>m-I3P20v>?hanj4X(QtltFJqL-dKMi27=Hoyqs4N%(sMw>)*F zlTCX0W96%Xc#JL2n+oC94DfLDJrApui{UU}t~N70c6E)~>Ty}R{HAE2rrr(~Olsx9 z&U?avoOtim!+$t~t2ka;*PxjT0BAx0AiQO)F~Qonh;zX{IAlyn@c4<76<3W!H#Db2 z?(AlWTMN}B8kHjWy3frosa8H~ac40v&iq{OW(9`6EMU}VJ0;OSz0|EOc0z@X+po^a z%^~&G@4i93JuvhHof}1;&UhGR)4EULAuZ#8%V<dd{(Sm9b9`>@vk25P$Wua=6mI<P zm9rr=yNjcI4AXCT@2(;qs<?f|E&<_aIJ(ER-CFhOXvXQTyzGvW>#;A}ExnZZMpjVA z>hE0;<_&0UJ06F%^7pFW5B6wJqQ>d2QNBiO`Zp7^SDE~FTJME%Stsk0%oWak=yB0* zl!dE%294}4Zn%Wkmfiq)47NLuxo;D=_w>~2sA6lzhi<{{y$$@+6nk~2q!6O7A}KM- ze60@C9y%AT8Id2^Ep*VbH;|v*JA5_8aK~s;pT<CHdvlih9jOvmIC6H+`nvOV{rsd3 zQ@Ir5pU1z$+7Pm4{y1%3T@DxbDW+hz_Rj{+o<`y@e2s=rK3jvuFK14p^M|G;hf>!m z!0aKFvE*y}h=%dmo)u7$fz7jRPbtDr{Qd67r1<M?!0p2IjN?L!hf8=F$i4G+6Uv3} zHyPjsR@D#m`i1&}YZW600+i1C<grhjUw$SizjVw}?Q{KOP<a;hU1aPm^!_e)`Y|RM z;?nN-U9bvoR-Qo`fH=Q8Sv=blGx%Vl6)u(p#<01o@;UvXL++VI2@g24u-e||SRS)# zE=wc+Tw3Q|OXtZP+C~S{Hv$7v-a{Er_1zm}LFZaV)_m55T{;a77gLck&!0Uo@^*GL zUdFmQ^<38B7R5rvvz;!|AEFHoqW~qZPp9{HVs_x=;MFrZVk*`<77R_yL~<M@+JJ0Y zwrQxq0s8_TF~K9m(>}0|dkPiLbsZ@wQ&5z3@QnRL2|S*qOT*46KCdoQP~b`5Tb)T* zY05J4mMP!|`?!9~etW(r_niTmvUyW09{5x7wMUjRnzn>4xg~l*03fYwAN(C6-0dPS z*^qifWbrSLwf>F~t8%%{c4kg%Cfle4z}~Fq*pmR~FKF+uA_n^MbhblV%B$EYYFNj# zYtT5dHi|4;gNk3&t4Lc6C|WP$Li~J4Z6>$|6iZ6nd~=(jMN3FQ$OvETKa+3kz-J}u zHm!O8;8MV*$M@01>;^6cYHXgQ|M2<!dT}`XQT^+Y<!Hj-rjULitIsP-V4>61Q1f)U zMY0T9;lK-*Da|)XYAb1<@@r<evqrZCXA&ao!7i`=D0CrhtfSi_*<v)GUeTuqTyFG% z5AdouQHaa*tGF=mBdWSW=rZ$?^6DB=xm(pWTSXsz#=b^FpyeQ;xIVD+P}$CKL1WjI znPA5oBNn=f#Lqjk3dZdqN_)d4@3J*YE4??h1WGPtk4dyPQD=0|PFkw>C7cH<ObDCk znSV>JyuWVr!s2eK0`?^xy2=XpM*c4K2lpgnu_^AY7(!PSw+8)skRl)k|4VSBN09x$ zt854y#32bw?3Dli%(At){~ku-B<Yxhn%ggo_+Kve4<-S$xwYdzJk8D;#3cdzn;~8Q z(!)QUKmurq)FUDDdxYQG00Ds0mS#l$MF3lv*Cc-Ej^9ITK;c}rVkA2;S&_fKAf182 PK`0Uts>&M=`PKa&qde99 diff --git a/send_email.py b/send_email.py index 3a82b6d..736b75d 100644 --- a/send_email.py +++ b/send_email.py @@ -20,7 +20,7 @@ def send_email(interviewee_email="darkicewolf50@gmail.com", interviewee_name="br mst = pytz.timezone("America/Edmonton") # MST with Daylight Savings considered # Parse the input date and time, localize to MST - start_datetime = mst.localize(datetime.strptime(f"{date} {start_time}", "%d-%m-%Y %I:%M %p")) + start_datetime = mst.localize(datetime.strptime(f"{date} {start_time}", "%Y-%m-%d %H:%M:%S")) end_datetime = start_datetime + timedelta(minutes=30) # Format date and time for the calendar URLs @@ -78,4 +78,5 @@ def send_email(interviewee_email="darkicewolf50@gmail.com", interviewee_name="br except Exception as e: print(f"Failed to send email: {e}") -send_email() +if __name__ == "__main__": + send_email()