From f78c90d38ba80ae1b1d54578304cef6a3d2f8195 Mon Sep 17 00:00:00 2001 From: "Daniel W. Anner" Date: Fri, 24 Mar 2023 16:50:47 -0400 Subject: [PATCH] Adding elevation images folder and test logic (#1225) * Added new test code for elevation images. Added elevation folder. * Also adding first file with image definitions --- device-types/Nokia/7220-IXR-H3.yaml | 2 + elevation-images/Nokia/7220-IXR-H3.front.png | Bin 0 -> 15489 bytes elevation-images/Nokia/7220-IXR-H3.rear.png | Bin 0 -> 22425 bytes schema/devicetype.json | 6 +++ tests/definitions_test.py | 43 +++++++++++++++++++ 5 files changed, 51 insertions(+) create mode 100644 elevation-images/Nokia/7220-IXR-H3.front.png create mode 100644 elevation-images/Nokia/7220-IXR-H3.rear.png diff --git a/device-types/Nokia/7220-IXR-H3.yaml b/device-types/Nokia/7220-IXR-H3.yaml index d240cec3..274bfebb 100644 --- a/device-types/Nokia/7220-IXR-H3.yaml +++ b/device-types/Nokia/7220-IXR-H3.yaml @@ -7,6 +7,8 @@ u_height: 1 is_full_depth: true # 21.65" weight: 24.65 weight_unit: lb +front_image: true +rear_image: true comments: '[Datasheet](https://onestore.nokia.com/asset/210990)' console-ports: - name: Console diff --git a/elevation-images/Nokia/7220-IXR-H3.front.png b/elevation-images/Nokia/7220-IXR-H3.front.png new file mode 100644 index 0000000000000000000000000000000000000000..7bede2c7ac6f2a99e759c2431baa5dffbb8beb0a GIT binary patch literal 15489 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 literal 0 HcmV?d00001 diff --git a/elevation-images/Nokia/7220-IXR-H3.rear.png b/elevation-images/Nokia/7220-IXR-H3.rear.png new file mode 100644 index 0000000000000000000000000000000000000000..e812e222c80fe0a2a31924e70b131da75c5c74b9 GIT binary patch literal 22425 zcmbrk1yo$iwl>pR@P5cbxyd zH^!^(RdcSI-?UXVx@UEDgpz_J5)M0suVe006c_cBe8QNC4*`rR@v=AP@b%z*6Xt@j-*o z#C~-2{uvulFSO)XZ$XuP)V0}BgLr3x7QgvOPQklAo1IHN@v@+ zZY?`#e-Wh$obg>?YwHmbdmc*CeBK1^t_>nvkMb|o^)ugT9g#2T7gBgLoo6>Nqr7#m zyB~VZX?cE=pRY0zr9AD)Mj}eO7Ptsvz^>XleQ84^m#MGW?wa#_v8$VGXBmVV^*I(V{$V%U3KC}2^}BS7tqz+hY|{2jEL?g;)?2DK|+ z>Jo5VwK5Kd3(HpSV$8_U3EzgcCG*+-$H4{0`s5`~CbQg(T*MU8Y?pW+fOo5>>;RQTCSU(ilYo2gUdEgCAp`8EtcZ(i z{e%~pcXyPG`r82y{edW^+d8)|z7#ic%QX}ulQ=IJI*+Z_4CMAbTe(#0Wyi~WP#YKQ z2iq_Xy<6rV4z`ROou_lT%hs0!tI`(qu@j7A;HpU{1=|+chPj6%Ie2L>iUTWxlUpubn?*r1h?sUmL z433t2KA+yO_}&lI67laj8CDV6O&_6Z_tIkS*jq405yADY?VvCSy=|#~(ICk4Il)3j z^(W>(0K@3)kQyy4EH@j~*u0l)c*m=(bXfa`D;%pA>X$!&p4GD}3#Z?pz=i zZ$FjL7J%Yy-0N7f-SEt7(t?-S4Ps8Achp*iry0@(N9%mun^L=wB{unT22h9f@QR-? z7!dlv_26gZK$q}_0v$P!wsLcbdcOEj1nWy&^i1-2?2Gk`gMpgw6NMX;`fQZl&Ov!M z8f%KY=R?|!cxRF)s?ToYOYB2m^Lb5aF7z9vy1iTCB24R7gjSpy{jj`26%00Uur>K% zEalDU`|VWCydPn4JH3qC4n!QQqx6n@yrD6kj>0oC=RPCkD+Jq+*gHFY(EFZTo7Bg| z`PzGM^0-y6Mn7lPN~-;IpGDkcQ4*fJ7}{EMF7WjcwB3*9nb4;`=;&QsFnktdpxx2= zF1EN-awZIIq3QnP6hquA4>f8^hrEtGjQ)#s^AO+zaVnn-7qnakf8KpL=G#vREK3|J zEH_h_CmQk~R_qW>&QPz~PF#~f{ZDJREd8c?9w9Hhtfhhm%PF0H4`EC}+4kMg79mFa zL(DN6!A|FGuU>82S-*0(Z9RNm62z@xGN7(dUuhGEPsOyzb!KoevVv{1BWmO>rMg|s znKweV@zpkoj509A99Gbz%>1cN-C$jFR-8H34yZh63Ys-Q#RCBEX zeU(CG%qRUK4oM6S$6v?zABb2OD@s$n@T^Kxrcg<}p;xwzDR*EeLM$lg`^0r0$dMx; z@ymjmRxxmDGszJ*AqfsQgoFxnB*2xcuNVQZXT1g^jiZ<$FNk1oVf=;4InrpT1#-%; zi(3!{u~N_41p0%9i~R3SA|dOmyAtiC)7oLVv?CdAs=-o>(!WW-6=e#bC&`FWd0;x1 zn^0NQC?D~n3Q2jEvWAxJ*WvCRUG#yAb^&_Q?1szv zfrhz{nbY))vew*7TPBqW=`96V8CX@#9$a$P?{`G2dKgnLrq}gNGS~|M5<0B-4T1Hw z9Q5=NP_hp~CF}=U&LLY9mBon*eYBdvp9{|!%(A3b^{R&Fo#EamYg@*+eO;@ec~?)4 z!iJAT)0Sb(4%AXCYcaFCFt8cREkQeHnhj_(noO@TWmO@MRqkMsMkbLS?2mOIe>Q-n zO1iFwXigZX1;<3UQ4IFyNSC$wl>tLTf!JD^8jdhG)H^}7Z-^Enj%ZdP!e6X@i|j9k zMjo1hag$si5U|0<-jf~zP9x(;f~*sOav~?-P9b+u@qM1Uk4(;UXNVTi6dX^3f?}@M znpXAk7d+&zFLhX8RBJC+B!kgPI@qu>-&{E`DRWwfC+}!l^uCz3W*|VSo&!qJn5l&_ z(0tVt@);wAJgDR$HXC{y{hVJ@U*~l&5q9G}ont$j!Fn{DBd%F&mkll0K+u?J|%iy@eC{ivc6OdHzC;&C?K-!07uVW>*o}C*c%@iRuU+$FD45 zrm^InI$u*|(x6qOAdV6}*wn*qS;^zfjj+=+DFiV*^e_NYr|fDIqLWq(i%O+UwQH!h zmO(s_+?0c5F{wR64C6rclf8I!Z6+1b2R?t{1eG!;FIHo9CvMYqG~lJvbGn*|jkNS# z2pHBbsW`R9G!|(=ygUkKVkz`{QyewLt9i-*D-!Q)DA}d{II+fZy;EcB@P@X}1RX9N zlsb^R1sv;MY-V`~yjqgnNi$#C@tkA`xV-J~yFfPyl8GuR6 zvT2LTv25fn=b}CjT~HNS7z{v@jwKDEmT7qW0zZ^p=~fizEn3g88ZyZqVu(c3V0mo# z5kj(w+cKyAQNjt|DY;34&b;4V`}4%Ncl>l_xk@C-Oa{rpB9N<7*w5fhqoK*l-+ zgm4nfT^4A+crvwcqKNjXXe)UlIObMWeP-9NoAwmbWCm{4_O2Q#YV}v#Ddjf9w z_fsL%VYxcVLK=LkwUTgIpsXr_nRo?+=STaMi8LM#AF+9dX)-G^nhLhwIk_>o(U?@6p&&`-n91FX0SaKh3W{C&O# z3X;X^E%?JQVxt43a5vj!;CPuR>xS|eZ^6&tFoE3#I`Gv2^6WC>5cxcpL2D%h`B7tG zgMA{2#dv%uqTS)ERp#%8OnO`9tL2atFAHy(f!f6fm^c z8O?8D$c9N_^vA|3xPOqrVGXI`=Yk)>BCn5Unu3)sgzHdIYOF^Jj7?qN2N)9Gq>pIz zcp=2+YwS}RGoZ(o!dg+awyTtvjWs|FE{l9b$)U^|7@xva*lh=1CilR*c7oeJDbRJ%%Yp{h zAupmCASs0#xrT9;&|WZ~7lyqR$QzLIZ8qve@tf*A9^2iRpJP26@>gpCNtXoM=2V*L zl4%H!de}3}CZ*;W!X7>h$~W=i&cY~ES*m%x@(-CCA`CNP2~rwatTYjwjX{G)U^g$! z;WX2!UNsB}3ObNi>B@LNxX+rp+3Opb#OmWBWPapFc@5W5Y|D81E|Sw%MjcJ(z*t?! ze63l*h9Wy^BvjWNqB61OWUi&az9Iy48p?bHY9OOPuGDjwk@wC1B!pLBXC|SUusM`S|jA&x?!=~&{%dNa8y*p@5u;>r2(V&g7kc;?#*#%oUxR?Oo zfA{bte;SY#9%#bM!u-4a>Hpjrf$o5;Eb!z=mdF4A0@{DwQG3`r0017@XL{O+Ke&*e zN8dleqG=v;F*5lP0`r`o$K@uXuyoPX?F)Ga>Ix@Xv1lS7g#g8QFZUO3D+UkC)Ok~R zFAVM-(hLGG#pyxTiL$`&U&^X_x!ikRo}V|e2QLMnh$2=;9WLeD_o+Pe)=RcT(iCwy zCGr$^@I(jbAid(UvadP)Tw??eXY!oV985ZY8dbO=36?o`n$J3qPy^(pICp=RIqf=j z#Pbb*TS2*ijpNlr?{bKU;STIFBfMJu;PZpAZ}DfCz(I13uU~ zFhAYFN%6KEzR;jvFv-mEIDF_M5|&3*7t&xhqHH8;?mkACXCVq`m&vEYT3k&qbfAR* zF3MnBJlC`9gLeUNHHG-${ao9sfluUy>n-O6{Cw>g-QNJ zF=(nN+UNCx5CNrGmab&~D?K}0?UbN4uC>{BJr@#-E8yT$Sp-zT4Odrc&jb^+fW89> ziorN$!n;>$#B{bcX$RJnZVb4P_djt`)L-4-@yo6io|%HEJgR`W!iD{*k`? zSwFZn@92BFA%6KehLR@pnmrCVaLvxd<}!lM-6Z%9e?;mx0C%8YTqDAKMQ7AH&e$SsGOXo%Xu`@*Oc&A6Fj>N@2Y^}`cdc6vR0dP)o zLAI^QB0`LQhp;tkMoel)vN)?5Mf{E-Kt^7!Dt?F6+HX4{m7eV>exaPasoVm}t2(Xa z3Rt`l)D)Me06i_#imzvnxx+BDn@Pt9&-8_A7e(-fsMRVbl{$FC#P*EK`6TB{RD$Sz>Dj?Dfo1lUOx&yAJWzE|1MuI~ul;MUn#~D@}T5NgpT_qNgGmHdUjyqzdOf2#q zT}_gKNu`IgF^R}W!NE~>^-e`V$%v=*AdR#Il27l(%-Y;&D|_qOWp$RJdh|M4nFV+-;zscjtffYxc>;bSl!; zMRHt~OKL$Lc?u-4u%yGv zmi4@=CS+9Cg8eVNTe}-B(f3)o+GI%oL4A_0; zv-~anX-y(oFX9x&heTB1Lk!pot*-TSw{Z5Eh4pHIO`c?rJI$Y9Y`@bed&3%fd`H|u zMqm7d~bALH7*LLHuVD-B+82~+kg|#?h^5h>oOuy;hHX01|HY~WF6p?hGH&>W576*XyEgFU&$tJ`C>JN)Pb=3hu7 z4>KIhZbQp=tdACz19B0fnc%+cL-EO;Bv@S76bT77QR z44&0*aj4TI$be}j++ufQth%plaMtc|kI9)l>9LkePikv80PIkqG1iK;dgJ26$UKqR4WR`HQAwLv?aeLyj0M}N|t>+ z4m+az6SZsA*BY#3PujXoybrYem~Yqjwcpym%%<4oVX-xz6uTyfl}MI zq>?!G>Bl#&q%BqFlL~pNy**tge*Cvl+h6Q^-rKsq+;~1T<-FXq1vP)C^?f5bb5G5m z0G~{y+A%p??21ur1(8vJ0kb zbevrI3b}7#htP&HfIY9-I_BC!cz`-NhRDVyRfEk!T|NXao=z58KPt!S!7VZ7MztlV zW+jVoyI(_RfTJbyd!5sajidpuPbPA&3(r$0gW}SQ)>({!@c+~6jY>G`O&h1zQ2U9r z<5|$)PH@i3cR#;vjTBUAgV{SNsDaHEx@Q6a@M~sT(&qB=09ud$7Jv)}06_ePV6cHY zu)lcdSr8BYhyN{W1%vo&8~_4?LH~;f2k~hCF^>5!9;5+=2Y~u*6LfWh;s4DKff4)% zp5{O700AItfZw4`fwBDIF+luzm=ypLM1Onz?Trf*@9!4?jQ(Gvf2gpjy|EdIlBKUDIM}}}fTe=} zZ5dAVk2L^53PgWDr$6*<_@sCvyy7fyPKEXb>T% zz*OlsW@U2}IkAOYid1pO-WKUpb^cbozfMO86PoY^iZp??PeL&ZL@01BcA+f-bg z!^Ld(?-2g)5m5gV!rK}E5#ooN4!>-p{U>)HM!|#TuGbRXvLD2<9bIA7BVOiTdv38>rlD$H z@Y}pMJ11W9CPgN!PW$h)!e7~*j3%!n~!Ff@B(F7!D#I`_p%Zp#O zV=1n=84iq<0|y+Og7(ddQHLL~RK)GxAH4zoGT@>3%eU?Z<=6Vlk90!sqEzlfa!ZRv zWJuH-ZmTyyYz;rZbBQVV3B79#pgpxd9&jx)LEDDk!+G}9J12Nye_#3r$j0;oxnG(_ z?wJ3+cLs6eC*zCa(q`c7wrJl$%X26-?l$EeGsB-w9Y^SwoRXrsd((Rz_?ORPzZv+y z?9@8nZA;%0YIn0w2fD-Jr7ph#^60HG-v4+Zx`M*Smo4OA>&iX+sGbUn1%HW9j zzU|k-znz0}U+>(Ow$05tU;9ZQMRMHa_6B$gfxdl>zB*X;D?dntHQX?@yeRr9Gf^d5 z!`mbH{H^K*;`Qzg;Kl#J8tM%o)mil1Q1&>ru{5#zl}BA8(x#nbz{DzI@5|-Ote5|f zO@j88w6u1BQOt(n2?>gmhPuuNtIc!k&MJwM+~qi|ct5ht9T=UyTZWsgB$I}fbw(eq zyKZ2uedQ?6gwDlJ3#SmlJ@Ue@lszJ&oav2Gh|e3_%G;|FONyTo4|x2RYqPSNH71Fc z!??8QyzxX`ecM9YdgpJkUXk4dd<0s#DFcQ}#Xh2nzRjIKO>$byW3ntiaX@p7M=+J$ z^H0w5#B#Mk@F7;wjo`XzoVtx1b}oM&_4T{ftSSS!X$~UAtgQ1>UAZ zCK6e@#ajPx_RG{OReWf4y*FL+3ej!UI|M)Fz-H!NpVZlL=2zUc6$&)6end zaby^)iSu2~{i-#webelnIphVgw%$Oru>O7sYMQiU;a(lD-mYm=^GR0lhk>wb2k~yY zsoGbfa$09HLJf|2ur34k>@ZfJ-rU-@XFaU;ZdcUqX6CNBWozHCjy8_j?{5I^=M%iO z%fSKr14xHAz$Txpfzs#*6C+eIck@|5x!c8pA7xi=L725aFQU5LPdo}Ki0joC`}{8N z-r@3YHr+3#VCRt>;{?2`4$s?VuZgpu1;Q0BI6P;C@0<=Hgk%XS9>`#^ecc}nZXy7x zi9!>jmM?{Tlsn9MN+VJ3EqRvCv2$QdH<@4G07jw+Wb>3hn%&S zZ-Cv+xVl9*kL6=jIc!OH-sPx7)X$FS@oZ z7QKWBmAN4XKaeXTELNLH=>L>BNL@!lZ*$9{zHXy2S-bwiAG?a#-LZjQ#mR>C>UA;u z(2i_9c)iYKWz!f_ihN=7^nJ$6*82tP`~@vaaJWRy8gF96-U(6oac}JritK+WO8b z&VJ!}=@{Z!-#4L^;BL|!!4iq*Y|*c#%kIE#{l!nw{D!u7I7e+^t!l;+ks=I_awz`m zuPytHmn=cCWk2>OMa9RV^0nwNNJ-`Q=&#sNesdli+^Ob#A1KegjXlY|%Ql~j8JiNX zldM;E*WKGYPVW-V?UC)apXlb|9$KLVCm_~b1pGH)QZH_ML7z#Sy*Hop%Jbd;_#Zy#cab?Z3P*Ey~1Hg*%`whZE<+ygq)@e_2(Im(A9NjFH1? z_SU-_IY;RM%;SJ zrM5wwP)^fOpvw9abVI#OJxeDY)aL`%8{d~-@81BkRSU1B0+T$L8f)&_CfWC0!i<8l zM`!krRp5D-S`)Rd(!jv+BCd?WEa z!CRHy*}?G9@CbXsew)8lOPi>mC_5?s|3%(b0qL!;+n}<8^7oI+rbaGiJSI+NAo9Bg zWMyCmGO#eK0XcbCfjrF2bj-}4KHnVp``=vuDA?MYTA6$PDH?w(0GZWTn0bJ#p!Z)2 z>_P|aAO)JgJ-ArenmM}|fqrcM%Lyw3kW&rF&I777SvddFfik`}2I=7a)-m(2GUpMo za&cBNb5aFq*_Z*i=t+LR(ar>@K`6|>QKI%X_D-q}MkZze4t91{c2;kI9SDH-9{^hi zCo^YfD|*=uvQ*sHdHx!k0s`UuPmuOMAP#0=g=-jS|L`C4pk!lYXXGSmZ)a|0;p+64JK#`4 z7U)m`fc3YfzozN;gem=Y3}7w8#4Q0K82>@oo4dFhIhg_e-*zMZH6@iGO@hBQT`XN~ zjqQxAY7Xa5bn<^`?F&H!O19zOa6I6CYDBa7G@ImPPRra05%|Vn=gF} zNQdda*#56N|C%ipR!*Sd!j%t5mH5A?s+c+3+qnLo2z5Iv(BhyJ(qH_)K(+qC0ytTi zfNNnmzqe@r&8qhQg1THp^njq8zXPx`G2t<>ckpzwvaoaki2j=+`F;FD^49}a^>lVI zvvnqswllGJatuC$dy?xs!kbBZbm>9HgemE$xGeBew}k*B8R2U1f5#P}kg zkXqV3j?q|7J77aan6narK<=2r0TDR`g~H-?9M#39l~z}T!UX2$Pm1(-;w0aK)_Wq8 zlPUHOG5eAe5p(n>4}-#~caJVEMh8*+pgUHrENyH=_^?Kpay_wr-ED#8ZAS%f`9DQE zMH30edT>Q{io(pVE+bu3Vym++;Sk`6iJMVUjf^U*=uG&bKx9 z3!Q|7#LvgxSC&*sNmMO;2?bFI=+LmaB~J)>`I@8si-Q9V7nhB`k(iox&uhHO${);p zeE!dYBF$~~p`+i2Ce~=(?6%>`CPT3GJ+OY=Zw4G6!%Ca@@Ag$^*z$hEA@bQrt&NJZ+gPNL} z`nK(NO?F4j<$tc*W;i=BaL)gWdFtT@8(uQuO5FXnH!;spLTWBp+GN1S#;54m*!<2; zyv+}7N-7!=?pr?i+pk|aJMQSx4YY)0o%!oh;s(P|OuRlK+SX(_Tz!FiUMdrS5|s-Y zu4Ob$P9rm)9ii)fb30I8u36BQ+=p<^1&vhRrry5H#UwFbl>Z$FGI z&#x_n4ws1IBq74WKrrJZdDwHBXhB}A!8#tDOv;>FCG3j!&A2|+7l1Hfa6u}U@c2VDtWR3 zqehCsY14_RDTz`B!W{=3_bpFYsK?dHcU2!x;&U=0d*60Yv~c831iKZK=JKm9u(~qs z2ONQHaE|WJN15e+qsO*DB9vpU`RZ>ridO4#SHMjWc)zdRp2PT%mdcD9^9^*yNk~a4 z?r}Kgh=Gl{bM%XPPHQ`Srq+%z7!x-Gx4fcuK**2S$;oNQfpMpXbKCs16gV3qZ$?iI zr^X*NxT2>TQh@CTVQ+!0QCeCr#q4$e)0;k-FPq1iXmxe9-RTUv^6@k4A>+UZtq z%0MEr`u+Wbfj!6FtnF9bK$&-(c3WcH=vT*i{4fwE*4MR0I}4aYcDH0){4wO{d+mKc zq!M0tYTV<8f1semiHsKWeA?%?+1i*foiddh`01%>)T#yKWDT+RIqZU$qM|B`pZf9n zXO*9%u#tcFz(;b-tGLngdUF!JhaLHsEE&}gJJEKkxDz!q+z-y0p`v_`n zNt`3Iu*%)hJUV3j;e4Ybd1vQS{0twL_YMn3OWW=Q>uf)eBUXHd)YTY#@0BD`o8DsP zgM_0asUE#~(R}#MytIvtoeDSQb=t=CI0K2t2kLTmQYJbGzv~dDZ{tjUm?#1_26HpU zy)MTr3kwUVlu~AEHdAyYywq7j=O)k2I6<(fX=(M1ofDs8`;1#jFyP7KF2=vNw9wxW zuCH;A@=eXo8qS{chdbCYrr}##TR&F^HOLG^TBJZ_2b`>}32LmKp@iPe66;{e(PMo_ zL2d2^KeNSGmUWX}KtFuQPOwCag`D45m>HH+3E^eknjGejQ{;QHl9NX?NsL-tTn}1( z)ZQ>Qj*D|nD0F;)01M_$z*$wG>K%a0Bp_51KOq%4wl&v6Xl(z6SFCe}Xo^KmWcqIR z;dw7l+{g&*_1wNU#HXvRKQT4(?5kRFhU&Y$U##gH*7TX#r}Q@K8<95NR6(0VVl!ga z&JZezE|8&eE7}y^Zf8Pv3dq|ghqt0)jQr=kE-3vZK~dYGyb-4YEXJABfkQ_)rxjQ$ zQx)0nY7OQxjYM8stQpH}I4*NP&>{AolZFc;--{W}v%+!Oe+*@xF7zkm z9)@K~;`?SW7&#aqr_UKDlqd)7#*>P>==u3z_-cVqL|9PUn1FRrm7pm{DyKG)^Btn& zhe`~U^#z-U(=vgI^xbd$-rw#$l|QJD>^B;R9NC%7n>9v8N6A8}k_P}k#I(eZoA2Uv zZYY3DQVKjJ1kspBH)(IYAD7Uov7*m>cXfSzxsNTVm|ADCu*zi*QAsEJpiQo)&(yfE zIF6=cii1>cf{e>8$m++!QmsWE{=*fovIu;`XBiAU1-C#d+(cFtioySbwz7=6x@e!l za7?TlK^yBu6ot>fGiDm+vkdBn5euu(jJD|iLw^+Pz&mJ>f(Xmoj1qY zl{~oFb)q&*W4!OBv_l>QmzIdoRN)wg$+N@n6^l%RajNubHZ5Cso|dj1+C^b6TN)a0 zo10rnIGOT}no&a@lNFOcsuNgpn2FP&PL4puLt+foYb_>xP!b7d5@9jBXtcn^OM;$# zeSY748K(Kop&fS$@_0M!?bjEkWVwe+!8fLE*9V%JY=N-GT_+5iEogG#UBZbL?!aJs zhCXW;8e4IVB+9bV`AuFa4W|Tc9%d1jv$G!-^9nKG^U zM5T)tDoMq44t(el;EMR7%6hFA#?C&P=J!Tbw;q)Dw(B`H%~ZZjMMVXajmJ0HJ>cXZ z>FU&|k*58gWDuEagGO@AK+jVl5c=~g?}gK+o^U50)$mt5s?^vB_L(1izb3cihszxH zR~+e;lo8_;lwW6zQ^b8E`>feA5(e4pzUz#R%M>VK$adHIZ@AK?Ra8i4b2}&GWvDLj zjogF2STo8UXRM?1d&2$e<$V*tGdHsNu#^Ckrj_#{p8Bj{y3$Y_8n!}-q!EUi{SO(B z891q_SZe1nXl!jZTftM+1P63Ma^?M1}JTM}cS zrUuuLke;h^R5}v!v&Z>n_Ox~@$0#IkrkXM{omg54Gq}wy7p5LIFAVyB*nbvTPYotP zP^Z^ZP)Jq5GgD(!$>!-%URn&}w@WG|+tmNGgWGJoRxvj@CPbYfC$$r2d77K6>rnGB zPQU8FC|^akS@BnZVfI(J8Y-^objm|Isj6XS{!78dFDMyrDAw9Y!9 zrz9cI-DKk92myLwYiT0v1zF@FEs}w3u>skjnx=+>9$vcKd-#%}!I`NkvYaW}{5drP zd2Q71yLAh72mMl|i)iD-8{X6`)>V$JRp=IBFv=e^LdTD#S?pu4P(3?VlPQ~MnCOI= z)P;zI#}o}(+MA;%HSK8pcF0B5HBxEa(5R9<5t`tCeB>T^$!aUInPnvC@WRxW*Yg}$ zTf-Y>88Czh>Y*u_J-@gp(1U03tSl$Hfft*}?djXM{_d)Y@gw{qb=GT{uY5Nf8;(i` z{MaW>5UgiBa?dA6&J?1=6Me67%rR|Y`vH?qKFPJDUE)}~$F#Gf!;@v0jCNuYn~zwZ^{2ZlHe1lo*@;t;bQ;-K<4wjWug5OPDud0Q*ubKE!FMPS z7SFC|1P=;avT`z%G)jBxU>;3@MZ$`J*tzR_vYO8UHtm77zwXIv+7UNpox3mOp}s*R zABKc@;t=9eI`BH4t;u7RJoijp&L+N}Y(MwHh<}O8>+Jg_2jp~0AN9Gp(M&HRoO|T2 z&qS0$=6M$Ywumk|hc`Vjh&@LQ|1QOGGh`Kc(+As0tGO&TH+TlSKP~SW-^ONLCZ0RC zMwg>%7kd{C+_bZT;L~-?@?}b$PYk>1t4Ye{YkLeTMD<7DsV8O1*cg+zkvjjx7(iP* zMJ#|X#E=YI^hRAj&*1naU`zMQtT_Si6Gs#~=4T@NJn&^M<~$g-j5fi&)G-^t=drb6~FI;n`^IA zKCiC!aQObj&>k^|p2XT6s|qX}JPRqRLy6+#5i*-DWFe>d*wm7x1ZkQQE{>B<9C*jNu^*O&ZM&u4Git#O1|LdqdYEI2rjYKoOAMb&3v_FaW6 zN=||L7seHP%vEuRC)CgCCvF2?L^TpOe098}l|h^?Z349At4KWkQK26Rqd0hD{%8nm zl^(&@NR^I<=tF0BdLf_JCf z`I-5|cMpKLa@8BW0?27O#Ueo#vIueGvh8qIT(M>AaJ)Fb<0`$M(s~_Ua6UnM$ym;` zsBQM!5_wCpF=BdjFDmltm@hJv%4Qgxyu1-dq+|wIcjqh6yb$_os*(}bl$_QLQzE)J zSp$tGV0QP3iB50{WAuTdFc;>#2P&;+D!KOScMN(qOx=@{$u!cIc9tZSX$95H`1j`@ zjY({i3Cxne;$gf4t1+FUL2_5LXTnw}`(%|2c8ls!9MzhkuVt!bB~3b-2FB}0JBDU` zLnp8m)FIlD9=U;ta6;Ga@u{$!Iqh@kX;#{_qr?(FS#lvZlYv?k=>;5G^D}+lM5OTq z9iFc&3pRU(io_^c)6Wi?)UYR@`*(P`5y(axNR~!<`VkSbrZIxS0)SbZB0qJ+DS6QC zovZVPL@kcypdp1UPVD1G|i@bJO7iRNf4lrP`2lT0}HOrjfZ;5_efW*L0U)A z0QRBwEsiZ+n+Sb-rD#eU%Ex%~mcj%ZOB3W~m4M{LO`9nsOlohuWy-i=oB(^Hj8@A0 zQ%N?wVnqGku$V2aPiC|)-CFp_+L(I}L+u|S;md23pQ1#hm?Z>e)OU*x@k%K04V&<| zsSHy>PSbIW>_Q(u<9sb=B$!HJ2S272WSWquW$KY36l7-R5(@cNwg9(x9z;Ccut)8& zX`0>TkRafM6++;i%8yZCh9o4GNpeuSfB*WE{nRnXs$}t)* zWQ&Dn`hi3bcNwk6H}Ccd)nbdQvA=|D(roz6%E&^K2L1?v8Gzdu{h zK)csVsd1N8S+U!Ox#ILeIe(layl1&| z@jWw&3`Duzcm2|6WqHxq$fIMO`t9$B6B8M<3XVBTiYps}$w}4fh2+M)nwJjHcZ3fV zG?#&i9|jX}FvCfDgey|jo@9)eq+=-??M7?#8;cQqAd0m1AE?XBxzli$pxjWUC?4Tf zq?QoyUFe9pnc1d1t<>9AW^s5bz{N_+Lm|LSGvKJ4we;Nbo2oQ{$CQ=+W?L494#6QL z)0EiJc*IGwa|SENqlIlJrg1ZMf=H*WyM-*stPND z5|5|_#_u?+%4f*y_kjvjfmjez!{{iq{&vMrupztA;FNqXg{ky36Li88$?Qb<#Ofa@ zLOz~Z2zu*$x56%Qgn=`%v;-7QWsHx*MaL=@wN*io({DHmEU)s4De~5~{yfNOTuKUK zk5P9OD@mYvEJrwL;A-@b+js-EaHw$7_7TLC2NAAw?rn8l3>AppzyF3od2NKUJC!F$ z(E+9Ik{mVJlob9@b5uw~P0!qiWwY5pT$6QI*d8uEkQFr~Bi}-!mgGZPm&Ov+uSgwf zZf1e{!jPUr)UPV|)>5vMGG~pL%Mg_~Ss7q5kAj5GfVHU1Q$0|Puy?zxUkcOIKMbY0 zo(;!5a?U=*93}T$P2fR)OdZ%GA52_^E(VqtZyUK8}QnZb-?eI*J~=G&W<3JC#oaiHQyi z1t`$swW@c+gS4qw;0>#CRM9voh>FGnEJ`1V=46f=wBYo47{KE9qTiGm!YN{|x53B2 zccs-3@M7}(8~puVw%@`KW!V#L$XFABFrf`6l&}dj)fH-H&)saxL$%>ci9Tb_*fZpm z>=3Wa%QT5Y*2fP-O1Sbx&6QwpmkahwUhw#|#w2(MN}u+6Upc>gQ7g;@9p+mq*ZHjM zwTgU!D|BczcCZyAqrUa!E0y%Qh8Do?=l*ECs(M^N9N)tt3r{UWi#07MARumfJ0NY} zQqY-vvA1yT^;yWj->i>PN$jWpvTz-aaLjucENBY5uY)ZIL&@aCz7x?ngY*#;gmkM1 z%qpeb-ZwazS!)hY8{+z-QlZBq5Ls@tHwwW;$qhsso%0bY6Ph{hM6A}hN5nYF*SNSj z`%{sgv+>|4+RWOYDzF|ISX!#OP^hrBzD$893HFPC4V(j9I=G`7j(ms*=!Bd1t?R!n z85w(~Nb!uD%I&$D$Q5!aZ_l>Kl@}*j%a$o(0+h9Ra>>$)i|G8xVz4eb0-t~*tRqm2 zV{FDDc|CmR!mcqcGK)(+LD_jjKy5%22}vStU-|^kQF^m}9`%csxrM2_!5LWXZ* z5NL7h++2*kJCW+~)%Wr(JdjO9i&m6Wi@Gaagboh~%eUW+E;ME>8v+~N1>MX#`9!4H z(77zwr=@A`4plTwbWKk&R*ro6Hb&3l)HF{P-6xrzm%`l%0f~gw;bK1QT&8@-z{>|2 zMlcl8@Ssmg&Mmka2t<`j_kpJ$%)Urm>!qV!hpF$~@~4EO*rv0gu1iu??-kAraY8zl zi`+iQd%owfmW~$FnUwr+vt!@mqXqPdh8M?}8dzY#lm*~(atw+>$2HcMkaBa5de^m& z58RYxXv0!~r@MP5%$lXFjNx@@$j?nD*+PYPxEZ5IC+C4DI`v-oU0h&DnXfFsmD`O3 zF5HR|wYkchL661}in_i?6qX>H7aB?9va@2d%W-o^pJ2TZP=ar|-upb~kL^8CR9{|T z_z~!ymeB0WJ!R;jPQ+DKepL8c&f^}a(`cdj;e)JOV?K|>qhxSNl9>OiJV#-X+*N-D zCd&y=r>up1cUaDrRI$0PHG-dHx}`89ff}I1aL7PLRg^ChL$i_+N|9_&+tNw`3T5NUb+%*sRf+Kri9cwi z*WnaY7bnvjt289~R4+8570+=VpvE|JjdCqJ(^JA}o3bcF|Ck!wFDQxMy<>h96M?H@ zV`sl|Et2s<7c^o1s64rgNtr{ zZGAb0zc7W3o+uWl352#D&dBH|*szz0I_dki=trvm6XOyb?FExVZ!2II)lz~^O`(F! z8)aOl(oD=F2a`OFK5m}zC}hm$8I$#sKr(Jo2UQgnssIG+Mn{KHT~&k6e(E7S`tT>v z*47HUjbr3{^O!3Vzwdwh%P6CAk+}&t)KnB=%^y(;L1KW2kLn;@DITXQz>Qxo$`E`?B%xPm6-<)t*b zJ}fzx=+V5?@OpftxESBtx)rOFQ*iry=WD?Q(3kwd# zY!0ILq8j&~wqmuM=Nf%wfJGcu9plAiC*QkD^!BK(ri>v%q?PRpDQ@vJB9B63meH{( zUQ4e!v#Vr`5EFcCVoLp1(v&~Zn4o=_#gwM}j*qMI%ju=E&M>>h#Ub%p6XhIg1G<@%)kl9!h+fhn6x;y1T-Bvc)XEPvSC525^!wT=a^P zbh20h`d$+mSS0fr*Q2AeS8d5$x_k{2EQ^=rowA~0806~ao=kt3aMUZ=CKAMd^L8t$XF zc)lH63(|z()h-Z z=BFo#9%K|Qu$+MD@9Bh>2)i&pgG*OCRaZ%5piJgg*B}!?kAjkFGOi69Tiapg_2*ec z2GUesYU=t)247Gmkf8GZy}O89cI@4=gNR&;&F!tchAgU9F;;F)HY&?Y)X9(*%IK`j z3=|dRC`2lupUtpYl`Iu0E51Y|vY?(Aa6wSnBa?1lZmylEXF^e79zCFq^JQZ4VIp%B zvGXWaEmmVzO&K?;E5_uyRZm`u$wh;TDz`V3X_0x~qKx{+~{E zY2Da>Y{q}b)=hkWA!@41RTp$q+eZF7pKo0US&P-GUQZ%}mX#K&xEIkb$f=+-&Rw=f zq*zqfn(_Zr^TWvZOFTu1i2w6?U5c$sI93xAUE(hJCl4ve44Z|;rR6nKR3Ydz5_gf` zQgD>={BQl*8udQ;9f<}N_ze#aVQFy=oj0x!n5GFV)0iV*9X@sne&-a9ow%eLkwatC zD%M8E-=>vfqV(lhW&46F%-nXuPjAbstNG}-?m9W-!F&z4-T2juzfz1TWhN5&!yX@4 zh?0B?MVLr7(rU4^c_{^j)WSq}>7sS@3@CXQrO%P$YbvSv+T`?{LKq_xt#4?8iJip& zQ^)f^X|qc}^MWT~IwoRf;(lqEPF=T&om8MzAJ7&YV3zso5Jwy5A z#o*uwuHWobh$@RJvhK{qi}>xUZxB%(c;oFOYQz5hljn%^tMq-cuN4w9QOKu?OD(>b zYzbq6@^46OmuTrZX6KicubCkVN&uy(rl)4f!W|sb8ZKSANt9nwj1mY&xfoHhRh-Yc zI41s^fF%A!e6BQ-q*!KV<|z{`s$(jiArz6uK#YGoRgolEaKh+o9A9U5kJ{vxP9q1v z>(CbPy?P?N$mgD(UNY5bGyCp27**3(hcYP7af$rNs1k9R8evdArj@? z2y()f!n$Rp1*%!Iu;k%q`tUXi=dQAw63sY*$0tR}% zCfhF3a1$^QKW(SQ;0x+KQj`Ju&4(X-gf^;<%r0K_1552cAGdo%KHfWe1m)EY%8VPe zOcEmTl1oge9|OI8>OF3^i$&qbwHr4ngRUSDl1`$D3nyCub4+FjuHNWG|L_!1&Z3gh zN~V)74N1-nn~ffW2+T>zLE=g#X$}MF=Yo2PGH1qy)dsAbbCiUxswh?Wz4MMcuxr;g zCeIk^=%-Tn+A0H)lVQPKhwcT1h%()>S0-IJ@k^0NkPMg4=OfrkM8A0Hf?_Q>y&-HR z-Gk4g+mi2iOeS5{UQnV7ox~f{G=P!{Bl~ z*>aGx$Ku;tTbglj-yUdY=aA1h$_}%eeo$8^XIPW@S*ubw^0~IwRwdEoM3Mk*d1)y@ ziGaj7wYE0%^)`$QQ7Og4^sDl%2#<p*`PBo>cnXzT_ z7RJhr9IkJ?=!5DK%;+t>^P)mwr^D5sbz=-CadG%+GLJ;MAFuNr6ZOsK%iUYl$d&(I4bsP61pnbaGC$v}V! z8szKuKXwS;|L%9x8AUp^xL9 zgZJX6KYLbry3alF1#I22O-WHfZE0Lo*3{zVmtR(Fa{mJlD6c$6Pq)(5gJdR%i|iTV zT6T8ztJ6k3eM9K&A0lwn;@Rh4#2atELj`eK9UO0JZbfCKG&(5rICfDhzj^7mICAtT zzWCQ)WD%P1-tp6LP<~C)lgeRrIRGLjlt##U;u)`8yQvyUU-{}+uyxyZy!`5GyiSse zeOXxrO3O;u6$63i=&=)c;g>Jq5i-cfKmG{wWQz0l!a+b!OwS`Yy`UIZuJ0r0%KoKv z-S-g$cJ8?g*KgcVr&y%mPji#gdFkCb67cknU0%kw`XHQ>_^&tEfU97f}v( zKlIQ;Xl!gi7Lld6v`lrqT3cF}a69qwhd#li+=$_!epSHPSvi!CvPB?Aqo}p1yJsA; zXwS|kBPPR1)HISk-Z*m&yLawUdfr0+QbkW9U9o&hUFnFW+cKbGBE&gK2azw0UUQAX z)Y#KiOS*y!E&EJzM)R|eKSAa&s&kKv^KY^N(o}5sLIyXB_Z&{Bgzw%XupmM@O4txs|OF@d~lD`Fb z6kFETptrjVX_PVTo3@~;rV^o<8CZfLL zuU)-FhA$^L%_wOsNG_}{2`z{1y_E9uZ4i5g9fv;pQH+ibp@3;&=IhKbB<%F{VLuAU zB&qak^6ibi`wp;hmMO~}Tt6G*P>RDxk1H=JN9JS;WZiq#E6FEvuZSujlZ+|d#biq8 z6ehiV4Nd00Xii2dy|jE==dmZApln`a0j&^hy!44#lx}*QJ$C_ZElqGZDa(01@qxmC zc?E?iB0x&V*X3M9es(r2l-)+=T!gG-;XESrgY#U=Cmw%{_JsgPB8brj$oC8D>uPZ7 z>_vLw3<8;010%t}MQNJEd*@=?)@|6mcMrC0*+GR-rogzgv>5r!gI&9}W6z%bDCYbH zFk1*d#%FCvd~ zmM;d}bMHOMn*F86ZC?zQ_WIYJd=mFR@;FkNFcB7pbn=o@=n)e^JonRortdhTB%^fl zgxYuSxtobj1c_~nM%2$kKz2KYigfIbp4{s zi6=Lnie5eCHs+ zWdFYXO5*kQ^{_NFipizfR4>3qPc2`Rc2Qz3m?*y}$0UZ5Od?ujTO^P1mILFm5id+7 zK3B#hGE5|O8-Y)}+z5+LHsf8i0J$t?Jv~>MkJsaKQ5Hyta|v;>iG1HQKqi)>SCY)) z%|&uIHntEbm$^=<^nq7doZ0m0t7va)Q)+04bFo^j>$03l8{|EW{Ug{wHj-_vn;Lp# zvZ(sj4(BKT%l@T+g&a3)YHHzqmeiLBM!1I3iIs0mWU$CjpFN{kOc+<@T2s3L%k-fp zdQFkYxtW=8a2}KT1l(NXoSYoB8K229E_1!)B#e{AEe)-no*v#e1;0E7&sNy| zp^rbnJalo56FB_#n@Z}7$1^kTU;W1S@%vYQje-7tjy0&PO?Gy!IW*=P9rUq1AGTOrEhAO8Dy zxlrOEm@sA)x<*S!f6Gpm&(%>mzGTy=G^JuiE5yJw53WaBBaA6T|ad?gkv<&4@&b#m`@rh>U=4$FC9tw=DRT2;P9{l7D*ua z-l8-t|mfoPB6`+D=PY5jJ@pX$=_}km~3x|2NkceYv(TX z_sj9HIdxA-%1kDe$QO~^Zc3_q+cv|*YaZ>qfdmsIiD)Ws5G0ovizE_%D>0Yv#K~Nw z`5+0jYu9d^KYxCG^P10zYLHVSB86maJOqUH+FBHo5ia%hs^eAy2pR&YY=ej;P^Vis zR_We4$tu|&hGj~bs+v4fj~UJ ztbyc?csTjKpd5H`P@>BhvjaXBC%tlRUJ+%hFqckQ5NV1@F35p;**9F@I+5Lh^^;a& zeFQ8N(2+>wFp1hV;2Km^RH$!YNStIFO?m*rb`=#R1Qs_kINwZ;!A-C)5Wixvz_()? n^t|=}`{{?sQ{evrM~gcladwA?00000NkvXXu0mjf?oD5# literal 0 HcmV?d00001 diff --git a/schema/devicetype.json b/schema/devicetype.json index 5a7c1ac4..73d66cd3 100644 --- a/schema/devicetype.json +++ b/schema/devicetype.json @@ -47,6 +47,12 @@ "oz" ] }, + "front_image": { + "type": "boolean" + }, + "rear_image": { + "type": "boolean" + }, "subdevice_role": { "type": "string", "enum": [ diff --git a/tests/definitions_test.py b/tests/definitions_test.py index 1138e9b9..83c7d659 100644 --- a/tests/definitions_test.py +++ b/tests/definitions_test.py @@ -15,6 +15,10 @@ SCHEMAS = ( ('module-types', 'moduletype.json'), ) +IMAGE_FILETYPES = ( + 'bmp', 'gif', 'pjp', 'jpg', 'pjpeg', 'jpeg', 'jfif', 'png', 'tif', 'tiff', 'webp' +) + COMPONENT_TYPES = ( 'console-ports', 'console-server-ports', @@ -49,8 +53,24 @@ def _get_definition_files(): return ret +def _get_image_files(): + """ + Return a list of all image files within the specified path and manufacturer. + """ + ret = [] + + for f in sorted(glob.glob(f"elevation-images/*/*", recursive=True)): + # f = 'elevation-images/Nokia/nokia-7220-ixr-h3-front.png' + # f.split('/')[1] = Nokia + assert f.split('/')[2].split('.')[-1] in IMAGE_FILETYPES, f"Invalid file extension: {f}" + + ret.append((f.split('/')[1], f)) + + return ret + definition_files = _get_definition_files() +image_files = _get_image_files() known_slugs = set() @@ -133,4 +153,27 @@ def test_definitions(file_path, schema): elif isinstance(list_value, list): iterlist(list_value) + # Check for images if front_image or rear_image is True + if (definition.get('front_image') or definition.get('rear_image')): + manufacturer_images = [image for image in image_files if image[0] == file_path.split('/')[1]] + if not manufacturer_images: + pytest.fail(f'{file_path} has Front or Rear Image set to True but no images found for manufacturer', False) + + if(definition.get('front_image')): + devices = [image_path.split('/')[2] for image, image_path in manufacturer_images if image_path.split('/')[2].split('.')[1] == 'front'] + + if not devices: + pytest.fail(f'{file_path} has front_image set to True but no images found for device', False) + + for device_image in devices: + assert slug.find(device_image.split('.')[0].casefold()) != -1, f'{file_path} has front_image set to True but no images found for device' + if(definition.get('rear_image')): + devices = [image_path.split('/')[2] for image, image_path in manufacturer_images if image_path.split('/')[2].split('.')[1] == 'rear'] + + if not devices: + pytest.fail(f'{file_path} has rear_image set to True but no images found for device', False) + + for device_image in devices: + assert slug.find(device_image.split('.')[0].casefold()) != -1, f'{file_path} has rear_image set to True but no images found for device' + iterdict(definition)