From c5d12959ae414c6eb6daf343e0a09424dc48e8e7 Mon Sep 17 00:00:00 2001 From: Mohamed-Hacene Date: Thu, 2 Jan 2025 15:41:35 +0100 Subject: [PATCH 1/2] hotfix: check urn before importing dependencies --- backend/library/utils.py | 16 ++++++++++------ tools/NIS2/nis2-directive.xlsx | Bin 17955 -> 14048 bytes 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/backend/library/utils.py b/backend/library/utils.py index 161a1a0ff..eab9caa11 100644 --- a/backend/library/utils.py +++ b/backend/library/utils.py @@ -586,12 +586,16 @@ def check_and_import_dependencies(self): return None for dependency_urn in self._library.dependencies: if not LoadedLibrary.objects.filter(urn=dependency_urn).exists(): - dependency = StoredLibrary.objects.get( - urn=dependency_urn - ) # We only fetch by URN without thinking about what locale, that may be a problem in the future. - error_msg = dependency.load() - if error_msg is not None: - return error_msg + try: + dependency = StoredLibrary.objects.get(urn=dependency_urn) + # We only fetch by URN without thinking about what locale, that may be a problem in the future. + error_msg = dependency.load() + if error_msg is not None: + return error_msg + except StoredLibrary.DoesNotExist: + err_msg = f"ERROR: Stored Library with URN {dependency_urn} does not exist" + print(err_msg) + raise Http404(err_msg) else: # try to update the dependency, because we might need the last version for the main library dependency = LoadedLibrary.objects.get(urn=dependency_urn) diff --git a/tools/NIS2/nis2-directive.xlsx b/tools/NIS2/nis2-directive.xlsx index 2bd7f4c288f2b46b7de8c02f5fee1f7937124869..c252bcb2fa0c0a3e413db3a6f5d46e33215f14ff 100644 GIT binary patch literal 14048 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 literal 17955 zcmeIaQqdY802rVE0LTCkK$?QKHcrMiPP$6& zcE*m{G;Y>b-||3!$Z`OHzP|sz+yBE?U?6eYrjHJ0=rZ8}PPs}Edy7sQIjH{whqa&< zd<097XpT4>HlR5hTQ9u`E|71fP#*jB)yLite)x3Agfi5ugHpKrC=5nxztR3yp+h$N zmNSlkyg2C|PNEhNWq0;|!LAL`57U&BN?01@qHv%rSVVstm~A8Nd5LUiku8N^8JZcK z{pjAtcpvviex?R2Jr+-&6g9Q6tmQ`sNtm9z5&UY;?{X9h5K9VSDGF7YPlr)gI8f6f zj0))<>>-4@`P}vARlStQvBEGBK^FNq9i@H@2kZUfmkxK|mi1{GF{=&M=;Dt`33o@ZbCAfa#)HMv#>r@YuZgHwEWNEWfL*d9Q1S-4+#NE4NCCv)kHp(t-D z$(0=4Bodjw7OF*;b z49gqJE_F7ShC1SCV7gr8HDX0@|BR)qXvS_{WAM{~gV0^q$g1a7D5D$s-HTc#b3}oV z3F(PpT6CBs=iXPNf$4fY%YA?qvcG)fYScdhzhvX9PyHuJlvs3Cdw>A|q#*$S;J>bn zn-#6At%Ie3t*zx>-K#=b-Zq~N!H4(w1NerM8Q~iUvo^oqs)V(2;qt>psY4IB3gDsD zd_mbm_a%lvx{XY+)??W(FweK=j5OQeTiVq&2Az`FNLEFoZ1s^G=_%;nT+*}6!X{uN zvEfXhrEY@7M@bTQ`#X=DQ>Bqfx!^@r=cw2*)2;1Qq{>s>8`?=x+?YtD<@fAd!n0`yj|Ys8s3c|&PQ4?T3T zKIqT^9*9?#>U7B&DY?D6Dc$y`qO|k0^c+&@nGW$?_3y>B@vqD;w@8Mjd6vimWV#T? zf40?JYT^yl^TY|5kJX|&f}Uqzt4I1ERe$!R`ox`R^1+-0Gk4a2Byh_Xx_wx~akB3+ zK<&INw2Zxf3I4^Qh{`}gsH{OJ96^rNPq{e*51pqyOkJ+G*z{e+?`lwIs=1HsD7+y_ z!!H)xjqdI}Y}Z^8K}3n10xRz*k`>CS<@QvSc~O5_0uGAx;O;UR5-JGv1xQz)*j+67 zCb?wJOqf~tDFft?9+j$EtesfS9SFXV;2K}b+d75KG(JN}qNrTWymZkz-?)mcnz*aA z!}01z;;8-l8#sM}mMDZ^s0ZuIVRk?0MyMUaStSw}m+p7f*aprUAaamgly<1@U+h@i zEUggd!>p!>6LV(q>9b2W6IAw!j1c~qFdtT#ExiNx^_N?bSN)j@DoLEqW=G@>{7|Br zi$vNA+<&y|zDg`BLR#TMa}YC#RV_hl$C3>2&$}`WlY7(?k=6tlS&7Ierxk-D0p2X@^{Wn{Hiu+98#esrc^8ei+0l%JFze>jc+gnHcq{RRoOyFfuSHNtief)>q7>6f$P-oLBI9)AL zh_sbqDX;r$dg293O+m^`J~7iR{e;OY``r#Mk@E&QSse~Y+e*e%Bb3ggtm@;p&_>3# zM>y0-v6@O6T9)Z0OBq?Cc0R&VHU+)3{(wX!O≶o*c=Pp<#YUEJMnGD)=^G^@HcE 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 L&k3S}e|`Etd~)H& From 0edd3b4d3130ac0edc8844b5d3e20037346b85e3 Mon Sep 17 00:00:00 2001 From: Mohamed-Hacene Date: Fri, 3 Jan 2025 10:20:38 +0100 Subject: [PATCH 2/2] chore: remove deprecated comment --- backend/library/utils.py | 1 - 1 file changed, 1 deletion(-) diff --git a/backend/library/utils.py b/backend/library/utils.py index eab9caa11..418630c20 100644 --- a/backend/library/utils.py +++ b/backend/library/utils.py @@ -588,7 +588,6 @@ def check_and_import_dependencies(self): if not LoadedLibrary.objects.filter(urn=dependency_urn).exists(): try: dependency = StoredLibrary.objects.get(urn=dependency_urn) - # We only fetch by URN without thinking about what locale, that may be a problem in the future. error_msg = dependency.load() if error_msg is not None: return error_msg