From 919ad160c444b86fc994b93905d8a25f906b2e9a Mon Sep 17 00:00:00 2001 From: Ryan Trinh Date: Wed, 11 Feb 2026 15:00:39 -0800 Subject: [PATCH 1/2] Updated Google Drive Cred --- hknweb/google_drive_utils.py | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/hknweb/google_drive_utils.py b/hknweb/google_drive_utils.py index 9d7e699d..9052f866 100644 --- a/hknweb/google_drive_utils.py +++ b/hknweb/google_drive_utils.py @@ -25,19 +25,11 @@ def get_credentials(): # pragma: no cover """ SCOPE = ["https://www.googleapis.com/auth/drive"] - json_env = os.getenv("GOOGLE_DRIVE_CREDENTIALS_JSON") + CRED = os.getenv("GOOGLE_DRIVE_SERVICE_ACCOUNT_CREDS") + if not CRED: + raise RuntimeError("Google Drive Service Accounts Creds not found") - if not json_env: - raise ImproperlyConfigured( - "No Drive credentials found in environment variables." - ) - - try: - info = json.loads(json_env) - except json.JSONDecodeError: - raise ImproperlyConfigured("env doesn't contain a valid JSON") - - creds = service_account.Credentials.from_service_account_info(info, scopes=SCOPE) + creds = service_account.Credentials.from_service_account_file(CRED, scopes=SCOPE) return creds From b8c7011fc7f96da3d3cbef8246396ecc14ad1a2b Mon Sep 17 00:00:00 2001 From: Ryan Trinh Date: Thu, 12 Feb 2026 14:53:21 -0800 Subject: [PATCH 2/2] Update blackbox --- hknweb/settings/secrets.py.gpg | Bin 1670 -> 832 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/hknweb/settings/secrets.py.gpg b/hknweb/settings/secrets.py.gpg index 859371cda4cc9b55c7a0f5e76809ce99e5e07af7..993c2a66fac4a553abbee33b8563aeb71e8f1654 100644 GIT binary patch literal 832 zcmV-G1Hb%*0t^G0Ygdkmf>wWi>f=@XTh2oXmu%YTgMt=;QvFwbH-{9e6Ig^(}c~eovot7bc zB=UxHfDTk~XG$1EfoAXh5I-9-PwLfhl_Et`WYXG?7}Of}GgOMCxW# zUc_{WLOpfWCUA$~@R5717r{NQqnjoWvt0VxavHa;tYIV2i{E*{zb3(2XG~GA51VvPoE(E(YNcv0j${YnHMl1dw?9TS``hUoX=Ui@~STIGk4ZQq;F;P5sS42i-kA zrXrWvRc=IuU>{Wm3qn)c95W*$gYF0=Vd5Ij%FfbV&I}>MluVC@aMkr;y88Vq$6u2I zrS*Hi{-kYb_=G_dFTK*hZUJ;jLlrqIYE#+*p>lfpoz4qp;>e`89udLK49cDrg{nI} z&_qI0ry94RYb#0WbU$x+yac+_OTlpt$92DkdL)U%oG?>1|AmY1xozV%F6-$ZkH{fb zB${{M_6qLeolk?lc2Qf2b_cA}^3{mnQtB6JVlO=Ii<{gGbh+mr3yM)k1H+*G?AQ*m z@aTDrJtr3$JVQarPvdb;;3BM23-cO^lfL>F^N^8vJfn<;mAB5)doeG@Wj1j!2S#&t z4~dl#Ey)(ZeEM#+SXV#inBzoSA5Z1P=*Z6w>sR);YDe46!Hhc(uRcW)a*MZA_?Z!U zL;?5o=Yl(3fSs%Ru}P;7ILm!kTe)PDrnZ{$uq(bMk7Qa5ZY2tpowb8~?t(|$JRe5s K#)9;ceNM189Gyu3 literal 1670 zcmV;126_2~0t^G0YgnjLhS}#Vj~2YfN7rm?8`z~$ipIg*MahirUi64oaPOy7GAZ1<@kU zmjt}uwa>n!l6V?d101#=eu30W(aNnLCq#>7qlX2@P(pgt?69yB|4uXebJG7i(Z7CAqj`>UA=r z_gt(+S_x`!i(>KB_r_k zbU3!D2a6zIy2XCFaBGDadCEz2u6AtV`5+x(YkJbwq+}ypRju-qSrY_QQOq!kkQ1s~ z%9b_1<-%3~BZpWIU73ZGKL!wo8j%`L!HpaPF;}?FNLGxtkUq|m=(G)b@5ti6Dgn z3joI(wj?>z;sAAV z6FBJx6+aQ;1wSiH-mV7qqqcLT{eY2!N$18;2}I77ze;{g`*8z~%H|Sopb4lO) zQTDw;3e%LzX(Glj2?mQ-593T*vMJxfWAF>*Xel08XlH~;(#>(f(5J0J@<^9) zG9DRSp~JPkv8cEH5*B46QzR*W8F2k45uB|EudsIzN&3u{Y6`MR-biw@Iri{x_h0YM z(lvgbth1%@T7`aX^6aw&rJ5RZ&fZumF#SWM0EQNJCO&5I<8#A7-_p{|NIB_WQv=zp_@rOw+Qt1AklL zj)s3Wz}PJhz9!aTB7_e4+kFcWu8<2?t;DMKx>)K}Ofg)zTmp!m|S|fgYo1H;ru^@IF%`q-(SZA`P&dG-Z9a!8WKTeJJP^~ z0USh$q%A`nWXeqK#zg6k>|mSnH|7%kv6E?CDT9p+Z9#%Vc3Q#_r%r6Hbr*~G6YSn^%h8VXHde0Oc+~3uIdC^2<+f<_{SA$MozUY!97xSN*Y@L zWya2q+?RAj271XjE6zx`U@5{3r4xSCmvn80g4-uQ`+b|;yc@5U9Oh$^eCb@ea5kt| z^RT{=m6Pj+yC7t#6*M_4?aAzWPXW8W(i-);jMdMzPTR@`BU^OK_Yk`r;kPN}@%5ew=3`XTVsaspP!LelmSd#ys)D@eO?s`h*MK QCJh0L+3h9;us+jh=fSHdL;wH)