From 475c84d300c47c0121cdbdebc0a503d918720dc8 Mon Sep 17 00:00:00 2001 From: Olivier Bado-Faustin Date: Tue, 21 May 2024 11:01:21 +0200 Subject: [PATCH] [DONE] Correct archive packing (#1133) * Do not truncate chars in dublincore metadata, to avoid an html entity being truncated an thus preventing xml to be parsed. + now ignored video are printed in create_archive_package * Add i18n lang files --- pod/locale/fr/LC_MESSAGES/django.mo | Bin 204400 -> 204405 bytes pod/locale/fr/LC_MESSAGES/django.po | 34 +++++++++----- pod/locale/nl/LC_MESSAGES/django.po | 23 +++++---- .../commands/create_archive_package.py | 44 ++++++++++++------ pod/video/templates/videos/dublincore.html | 2 +- setup.cfg | 2 +- 6 files changed, 69 insertions(+), 36 deletions(-) diff --git a/pod/locale/fr/LC_MESSAGES/django.mo b/pod/locale/fr/LC_MESSAGES/django.mo index 85e39cc711948a1eee183ebb69fb2b462c1063d9..6f2d2a17beea88fca62561dd9a0b3a886bc72fa7 100644 GIT binary patch delta 25071 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 CswT4l delta 25065 zcmXZkd7w>I8-Ve1&NYOLi4d-Np2^HL&qL-Y88cUgGE|O~Oo>PdDM?DCObHdC5|tt) zDpHaPY4)kU=Q(Tt^;>J7z1R4@YoB|s`hDls7k6I$%5%k&>9JVsWQBMv7se~bV6p!V@0+<6U;0;)(Qal;UOkp$^ zY;YXf;B>UZxoAU6(Sf~&>39rn_;TdcmE*B%sTYf^jajL;N1yA41#trA#D}B$(#pwr zEI$`Eav>AGiw@vm)I0$Wc8CJpr=+gcfS+!-S)BT!`tI+(@B4g~M18i`5DPXooKSeOMcpVjcVli(uy3@z`}(0$srdQN0UR zral~7NObU-^CfWz@Vw4*a<$B7%_vCdczXX8w)f_dwP z>rHVW^+#|EUc?N1zFs^w2ERuK*0X+yiRoA|mW;)oqu`Q%gher}K{PXTKn>8P>x~`o z_UQU{bm>1s2a>g6Jk}HI-~gP974Rn29#J#ck&{W9jD9&Z_Do-?u}y0UdK9a|zR znv4yl;LInXOFau+n&s#T_ZGVJf1xAK(JCG*g_Y15bV0B8MWcNR+R@^7t#x=XKf0%7(7kGczMOiXOWGG*iP6#L3#02VpdD^U2l{UG`4^Z@{UW;b zdE0~)O-CnO0rSv*tUd)_KJBqEc0reZB--$JbT6l&GkFA^@#E-LY>j*aeQs~$2WY!T z(Um=pwsQdu+J7)<2L;=P8%m=$)I+bgMsMtnb~FZ^$prMi2hf#zG`hYfs&7R*JczE` zNpxbD&=t=sRK;I*?D%0i3`pcn-~i>)MB) zY=L#C&p?-Y2m1CrfDSBshj^?d7VAL%x1lhY3%)jALWAy`s9vOFJl2YOH*A4RuqmF1 z>eqJ)108^kxIPIz^S5As{2E`tCY?j`KOFQ>e{_ z`Di}xMQ8RA+VSUTN8h6{aT!g^e7)kavv?i8hVkCvwfj0ck-~k#-d9JT%RsO9iLT$C zlKh)W!E|~A4Z@evsDCS}A43~Bht4!{Q}_l`7LApjSQ#HdS8@k>-_KYJ^Y#tbTcPbv zLT_ap$%<_d?)hD$ltI!pXazaq*)_uPkk!3#rjhi>U%tb^y#Ehs%Gyj`oK?IycZFj)Gb9S%j`=cCbB*o_{UpQ8`_6!{yv*H_S) z#RmtoqV463>IEZJ}=#qYiW=HJyP%nh8NbRV88#beUKe_^Y&;fpf4)8zhiN)^-?caq1s4v5oc;ycA zzb1udcZR&4fJXJs$j{LRe?#*+@7Q>(0TxCZ=!xBMDK^EQ(cr5xF8uIW7aibKbftEo zTlOE?PxbN1Ftd*1!w83=!8Q*))3;%H{0@Cd<(d$WjmH*f(7uK%a3`h?qPs%u3`Eb7 z@o2P9LkBh!+vB6?)|^OEa71Z$ha<5zTJM8=TZ+xbHq<|v7+yAoCxxT7J9g#za=Zn9 zMz^lR1;+tqkm(hX6=LfSz=EXFw7ecqZ=zN0BJZ{N_;@A%DU<8^4kD)Wz5V-|YKTx0z z9YEibA7K?dgLN_gg7BK{hz9c==)h*9E3^R9acPo*9qm9*q@!qqm#_q8do=7_CA8iW z9q?`F7K}m`l&4&)2;x#TGd4&Xex*Vz_^4hy3rt%Y{j z7|r|UXnNg-4qy?Q1*_4OJC0p3%c3yg-jS1WJlB`uM9lqIYM{y3ObT|e2pzx@%!Mza z4Q@jRavEKMpV99Hxfh3nsWrNFL$MsrK!b5T`W0;}Hp2bryC%!yVN2^{1@pftg_3+Q z0&C&J=!3h^y+0gz3|*8>16xkH*YR(e)8%`*-6t=Kt*I zhNrwheLec%Zgl2{Fgt#M?&WuA$Nxj`%eN$SPy*Ab*Ff*@hED7j^j$Cwz5i)6R$j)` z&;L6qxP<#7e?ZeP+mpdM=nMv;TQn9Oz;v{sC((x2pzUl$pFfHfFtIcQU1jw7TIc{< zE+zjx8oNXnhN00rF1m3lx}@{bhE}2-9l+A~1)5&}p;29ES;+Tv^nG7Ga#(cz`N)^i zE!w(_{BK5K4;LI!=H(%H@}NOk2#tYa=!sSu?WjJwA{powb;W+z7Y)9xXga@zc61yw z@N8s-r^53ilN3Curl1W?N7LzHw4=At2KS=_`2;-)KgXLe--_^79F1eBZ$c+j;_0vg zgK-q~XR$oydL|6CF1murMHF1xZD^W&gB7v(%FtnZOsC!z9nje5`lP5n6+H=Opc9!L zU4Im(QeT3e7X_aU18<4vD)ywl6x-uPbcPMrgq0Y8z9XJSW9&F~GXKA);K^3!g^(sUpj1hHw=BfIX-eeI*{d8OLEC{0Qx+{Hx*DYpu|%IFGhdeq$J5&&V0**}nxn z7tW$vTW%Bi?@88wQ@C&!Zlk^qN8-@Uq2oi?f_jxLA6z>GaIh6X54>a%3LZRV(WAC{bVGAYP;Y|{uzloEbf(iHA3@KB z&+tDqf6Tzjq;J`(LD?8=P9(G7ci6g{|W`8e+&BE?HJyGd3S{9ZHsm^3cKN0%!GT< zhWAJHuh1ODC`9+iGE)%ht50$UBZs&yP*r( z!3=ao=Hdu^4Bf(i(JjsMMwoHo$TE@D(f%4@(gs>ku)&V#0J=r?#){N$MrS%Ry1pD8 z*h=)d^=N~e(2jRt4cr%9{}YXw|Iqexz8Rj&_a^!8%&y~tGb@5=cq2Nno@j&p(T;{k z_1n>zPC{d04*JF7QFI{B;$mEj*J8$7@z@jC3p>R*Cy=qk8to?k`%$?3HtEJldhLzJ z?xOzSJMq|j9=QB&*wZ=h#bb9+Uy3eu_Wki#N1TAoa5px_wD&_gHp4d5=i{yT8TP}v z2f}%<2ydajJxRfn>$-#Cr`&FMBlWe|0Iy&}touReV0`4OXpmk&kJPdshIc@3^aQ*c zJL4*JfR}I}*8V7*3y-4*TJmoS9yE;)g*+dH9vBayLHI0|!5vruPoaC5YGP-=sblS7G~O@mO~}k1l!hFTyV%p22DkvH9_^)Z@@- zUylaY=V&mU!%BDw9YC=Y;ee@+247e7{OFBl$vshh0lJc#(E%Pp&zFmsj^)4PfTI6c zI|?On7`oJRupYjGh42Top|r0;L&ec|LR0jFyBUrCDL4t|qAQf?>+qviLGs<9}GvYKZs><6?%5Rk5%zg^gzjUI;3YlbjwPjGp~&X zX&dzX=!l*Nz0l`=LeH1Wr<36uPujO(30vTke9!}Z@I1N|e_=1I@m=U(7B;5741Gx* z!-9AgUFz7GFrfVC)|5rttBVb>8J58Nk`!#{Y3zevqUXU4--o=u6K7Lji8fH_Y&Z$) zp!J66Oj=`$TNJ?PQ>0lHF$(G~e7)RVDaqYH_j!w1)(X;m6M z$ts~s+b62ui7xR|Xso;%)jz=NsGq`gyo|O}|(gDG}>PiY-;|ureMbp z;hi`SU7~-{Ey?{$n89`E7L-Rj>V`fy7Hx168s*c_=r3?7EPWBQy%Lc%(XD8KNgL=! z!I|8I2Fp0~fVdZ(>7vND&@}rIO~-%Ge7@?}@LVPIdL48?8EE@$u_tyxV{0{f->bip z|7|Jk7}*nzh5qQk z$DsqCj(zdrWK{Sb4VLDAhWsCkji|qb)$wd(p})e*sy+7R`V2JBzr=c2{O|A+Qy*+e zeLZ^MT*4+;^>X<6U<`Jmp4>*E4TUWK3p4DDE_tuW(O8H2boA}E4a?&PxCsA1S7^?a z5R@;V=f%6&5s#oTP~x8uE9KFZ>VPGD{|~0%Ue7?6{26o)_o4&&2;JN7&^`MF?I7*n z5XE`WdU0%kmC=C?LxcKWbc+{9^;KxQJF%hp{|N;<%=KRgnnGxLR7dx`DcV6BwBa6T zgCo!wm>AXPpj)s64d#zA9gFZ4*A;ApuGBa*7#Cn>^ZykJ=JQrGojyfZ&GOe;5U4c01bf1L&Tu zi0Z4cH1%C*hu@)5eF2U3v@~XdSEJA6LpvyhMtvD{Aa&4#sWrO79nuov_y2vl;LL`j zGnkGJXc-zTub?w}FRFiw4&Vyfah^oWb?Pp3RQZJcT zxKNP~zQkMbs?4F|+psD1sZsq+tVaDP-hf%MguQKyPGCH`QuELt+lZbg?_q5`k9DzB z)6eTOlh7G0MuY0bsJ;_z_z>E_IW&lhUln4eF*=}|(G_|ajiDE?0v^E1_&b)x zlG(!2w?nrm*@uGBI0Vgt2hnJsk1pAA^eEke&gdXI!*9?NGi&xR!_w&U?a{sNiFR-s zx>DoN6@C#N*b!tx$=JUX9AT{-VQB`S^(AOj??W5>3?0DP$ba!=>iMq@Teb%;P%n`) z5qlN$=1Qb~e%OOGsW-`;i2Z_N(V!iiN6Ej@6b!PvZ~)FjM}8g+p37*yXUZGy%ZIK^ zMRb5I(EEC#TX!p_@*G`}1vm|tp-1rb`9hZT!))gNAPU|%8trHzdhpCZJD7(y{4}P5 zDyqMSZq0G@P&P!L>yJ+C?rX_^3$wW3o-B=Ag?6|O zZFpDY`{)WBK|4B!u1uB!VTOg!Y-xy=q&>590 z7`CK2IN7{p<9}#a5yiTqFI)_ zgMtq%M`!pPdLC@TbUchU{2MyJtVKdPRz;VxDcVsNtc!!u0WCv2-i@vBYjk2|u1}=C z@-@Qt=Kl-|?(rdX0AHX>{sTJ0OE>}lLpz*MG-Szx=*lfb2etw$;66;p3+VHCiX~Ft z3yPvK(+6wf1T1d;uc2Ttyo(0cNpwJeU}lUJ4=a=f8&J)KUT+s&?}DyS@2EZ!jg4{W z$~=fJ{Sr*|gITDb#JuMJ_Y@4GztOG8o1RGhONT;eeE>Ss;g}jZ)}X!y-NR$J3bT|* zq`q>k#ZJ`!#1q)6WH<>+mI_($6dHtYW9t3?83kwj6?zbzMYrHrbfj0%0i=~qq`v#* zMvvrr=!&&N@4pqD;c#@X??>BR5`F$GI^dUZ5`JEq{O2VQyRl5j+lSDX$}?yhzJV3J z5e=@ivf&FvLv(L5&>-uC#?B~o#ipRKGCish8g2K^E`9zB^BqCxgJX5f3+46{`V!Px;DQeTJ;=tImA=T9}26S0-lEAZ>owRixB z;@wpfv4MC32Vj$Gsdq#&_A~|a`%}CX+gDGde*d=?@1kC?MtE(`!>6bp#ECevW+K*- z4!^-SsF$mqNd1%R@6ZXgtP{4VJ-RYCqAS@q@@_0({x789Qoo4R@F14ME9l5e-w@tr zbFe%0U1)ITuNw}cYG~{<#wEA}U6C5~!b(iTqtr{*Po(~c^*45--m3vCX8ylO!D!xs zZo%7Vu$)5oDoexgd0BMNYGHY7jPCVqk>k*bOhr$`l~@AbL!Uc`#>{W%^H(sLI+GiP z8yca((i+=hPjsd$&;#mqbYLIj8vFx4^7F=Ft8Q(L{4Bl_GvGzN~NC*3LZ z`9IKe;oqp9t2z1ajRl&A53WZWu8amvEp+CMumSc!S7?6Z3bf<(=vTL0XnP-`C*%?I z{_n61{)P^qaEmaYib)C{xi!(HZXA8k2c6jfw85e1$v6r3Y21Ajq-v2~kpeK@j0$=Ey!sUSlK@;bU#2hgoJ9M!)-XZQ`;;pM2F zw{5t;0y?7_XpD5gO4t+4uKUsU9znBaF{Zx%ucY7r)}jO07x@{wB0r#e_%9kWGbTB)VcRpzZ9$0_OiG6q@4?Xh)UXhXFN2UlzU4U|NJ< z;Bz<#lN}PNKSq6n1E_cG7&=&w#>{SXK<}ax`v@KIDRf|GF=-)7r*NS(R-oP--TTq# zQa^z<^fI~yThW;K5Pch-LT8k@bJ&6+Xoq#sBexBDFbziUe+bR4wVla-8{QP%umeqx zuh5RpM`q~~zS9*$KW~Z-ybC(OG3XvYh;G@V=pH|hcC-=w(Q5}*#miU+D|99QYg4$j zYa;ba;m5EY_4m+$<-0K~Wnpyb($Tam7g-ryu^Q+M`=RH+RIG*%qbso!Q!9o}>=e2Z ze|gZxWR~us;r!^!ry^FtcIb&U5pC!xwBZftgYQJwkDwi&!4`N9UE-=e!k5)s(1U9M zI`H-AN^HmL%>NH4n73!58)7}f-sVJZh*d(mL54!YadWV&5jG2A^cc$RTdZ0(~Ky;5sqca|hF8!>?73h*~MrXDiYvE_;0CMyR z&lN>iv^F}R?&wxNh;H$dYW}}K!995`y5TK9i1YHm&0IfyQzG@N)+K$zFA^&E3ooPf zn8D{~u{l<_IZ9hJ>Yu=J_zaqc@8M|t7M;+Iw~+sKJdA?DaR)lH$>>ayQT`T3|G?;j?R8@+#3FVOnfVd03qc6j)8Tn`-2^^MpH%Z>Z_5UO~x)pAJiHdz9f#0+>XxRs!?GEWziLBg>KR9I0Tnq1N;Y@V7<{{=_g`$ z>Q5pa#ePP=O;;Zi+U<&k%>Uad_`xi!i7#MJJdPe1HEs_}-wy3ya8!R5-GZIy)_sce z@Go@FAG#xv`cv*^>`(nXZoy7>hTn*$jU~v<{{|Gy%Z2zM{)Zj$!*Pk!zuhb{KD?x6 zqBGx#jqnV*w52A5@B1Urtz3X+$NH##4Bfgv(4ZW3SNLgq9wvRy@1tP4UBtoI_U_Q& zI=qkiVN4wu6GPezLkBVejrtXs4cA2VSJAE8j;8bHXpo*kgZVrfYuP7}|2BO6r0{yJ ziAHCA^gZ7dO}hcn=Xar5a4$N5$FUynia!4veJ(aRmhB$39`R@li zx!?#tk35N{%ULuA@=OUqRvul#!RY-n(09c=tbq&B0qjLj#3SgzbPCP;Ecb-#*G861 zQt-iQkpnTE`XY3unx~Y0GWz_ZXpp{yo`ieREczN< z!Q@r8AF^LAvxY%`dnpn$y=b$cST>j{n4$O zj|S-z*bP@=()|A|x?#fo;pK2I+Tnck=v;+H>)U9y96>w$51nCw=^@(7qAS)C+v0fi zxt-{YKa9ML4z%n8oEzqUEeh^YFSOx1(1ssENBlT?WIluG_#=A%)enXNmq7p>SU@Y(l*>`fYmfL*&1OkzDW~85?~t1?}*DG^pmGX}TIsr`_lP z&Y&~CjILaXnc=y5SdDs1G*%{{=SUKL?lE))UzkZS8NIu?peN8J`V$Slyt6`@)I#_0 z7WBT^*Z`l4>R+R;<;&;*i_H$twLm8@1`Wy?Xvd4tl~|XgP=~^g=pL1r6FwM&KDZ8V z#Jy+-1?Gk`zX6V+J`IhH^VkmSKb%PYIsXCdPyGP)!;1655&sbS&iD$=rex_y!tZE0 zq6g6;ya)H;5o|U;yv+(M2x;09Z{Yev*aP1{S0dk|A>BIRo7AV`&DeNhSc#=*`+L!q z_ybvqWGvGnUbk_60*V~}SO}v1i^JFIkI@G+KOSaU7yS-59h>4}bW1)(UtSl{pzQHP z2;RPEP!2<1N_U{KFb`Az{m-+}4F}PvJ%SDKTXe6|mxSP~k1lERsJ;?i%C+co7tw5q zJsCwk8cW5{*r|sOYzXFN!Xxpp`9Ec8BK1Fo>bxvO`5Rb_>&MU_{0oa?;pO4;254IK zLbqZV`uPehgKwe({}xT>f1>M!p9-;+fyPP_lkVMq3IYcfNtGpbfw;Xn*28kk8r{KzY>}GnUKf1 z(3uuSKd*#Uur{{DLFmD=22H#7(UrJ>4mkJ9FyI@|`}?5T^b`)j3oDc1hr_PVhM!_L zq8)C5C%B+rEvYMi9t z(zQXCq%+!KKWvR7(I9#i?f3w;z+ccA*IAv2ZNk22!?~Uh=Sd~>o7F({zKKzNIhq9< zaRMd}QSj(&wI&SYW=y9(7|Y{>(e?G{-foWS`_Z&Jgm&~JI`jAop`HAgnR*d421=k4 zsem4AEije;{V4R{!US|6`@;vZljzC#H@YI#UJPl}1YPQpXpr5FZoxF1hO^O*vabzi zeQEUbdgwr!p~2e@bNc@8LBTB;gzotWbmaF$-j6;o6TNRCI`bzn6K;-t9hXyo6Ki3= zmqHB8$BNWH#>sdE-NL)qk>>Ot+fLzjJci!bc714IJevP&&>-3$`7=78yf25ny&i9+ z-VEKMmFT-UTnf$kKjtkDb?w0U} zghA*)K1a{~|FAFC*cuvq7(F-Ep-1ZxoP@F0!U;JUjq=6lNxBI==st<+Ik$xqu<|zY z--hnyg6Xv)axdON{ajS<`+6d_koq)ikJoGu1MH732hrF#8`aZxgm*)6tk3mo zSQAH}NB8n%bm1@>%~^Ja*Jd8CNa|3hIY7l!T)Z>IxjL)rI**KK{QOMMBR z#Y5N`Uwj=p{5=kD*8K6*QJ|9}at6 z2(1@KPr?dlEY-x+-~UHZaF55K!Eqnv!UxbLU5FcS9Xi09kAzrw4Es?32@Td(pN8L@ zEW(?q|A3wYt&b*B|25rGEJti){w%x=t9(xW+wknq6RH2!v;ML07R&xci0X1^dUiz9 za{`)POVK^vg1+@WLkIpF`WC&6u0+=3A-D^ppO-+dmqTCk4UQ+nncsm6p8dC=9o&IF zFbB%Y zF|^}l=*wj#x_8fG8oq*dv^o0xJ1j%}92(_$zK+fZ%u0O-+TLh%#^ca-9zZ9OoJqkG z=^5;ThtY;goeT}#gs#9ubRbi)0?tA^-iW5v=TSY&sqo9G%2=7}BO)J12eb#xt^>%s zAsIVK!M%)q6Fw-39z=D~5q3hi<~DS1C!s+(1AXr4$lYkHoW`7(<8)ZTLfC|QF>Hpn zU~YUGJDUF+D74_h6&!#W--egYO7!J&7~jVK&?EEh??MpGJrll&tUw3477OAY^rdz@ zx?cYKuw~7#IoHRb?QX%;|NrL{g?e1bel~n#X@TZ*ZybqJ&~xBBbOmbs5MIko(35f| zw!*FGid;drtk}6=88oOXNA))7Ks#g7y}pftOS&A*`>klO>_eCSDBAH^^tJjs`dYo_ z$M9TDw4ILV(oRRyY$0BQt1%s4M+f)?8Ut5;B>&y(ygxXejYw{tqp*PS0 zeH_(Kqi?@Iu@qkab2y+fA}68Gy@JkoFFJt}(e=weC&Nf`oexo53L9|4jcCUYV=8Jf z6}9L&a1!03AJGBlx)4^VD7pd_(T*CR+0_TVZ!Ws`OVR9kCrQBuf5II2CpN;gi{T4H z2D+3}(1FZD?_Z2J;xp)(ekt;Q=(&;Umyq|_(3$5(W1<||UR5-mlg%g`rqBUxsQ9Ij z-{sK}cSD0~AhyIc=t}&A-XH%pm>t_tzXly>KQv|rNA)|gDfLNs2W~^&5y@Ej-x8_+ zaA*eh<%26Y9DDyBe)+r$jfEzEg!CMNRjI#^HuyKT#`=GTrJjbFsc%B>dmUZbv(fe6 z(3QB1Y36_YuQ1}w=m$A*1?Is|@x$ror$UHwmpu@<<1{$o=qOvc>*hCf2h#%k10qbqXFf8lj|JG%7mV0S!@wXhoV zF!~3hD>V~6FE*kb{)?_eop@U6=pKS)sXu~Aqj3ubf8%iq4XUDvv{cmIfj0Ooy3`+_ zM`_NqwA27QqR-!pz5`ys@^}<0Kc(qc2H&%}E% z=hb0CbMOu7o01fKDU8h-I@*lR@JF_8(5jvBj=nTI`J3JqK{s;P!`6v23Q8=trUQ7igI?!6t^`>YxwLk|n5q&q@ zSD5^tL}3mWuEDe-;f8|fK#HOxE{!%=HL5p=>Mhaxx}pvDMhA8aHpD^b#8#lszlKg| z58Cc0MaX{(C!!n9pzr@nm>sKJA0DWOcF-oW6B=aQ(Q}~}+VNtvgQbx#q66H9w)Ykq z8}Fklda^tPXMPr4@+3Y-4%d^K5m(n(E mf2#V!PgETmFE}$(#rSKPDkj?B@Wi(z68T>nG9Z!n&Hn=u+#PfP diff --git a/pod/locale/fr/LC_MESSAGES/django.po b/pod/locale/fr/LC_MESSAGES/django.po index 2ca1dcd508..2d124975e0 100644 --- a/pod/locale/fr/LC_MESSAGES/django.po +++ b/pod/locale/fr/LC_MESSAGES/django.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Pod\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-15 08:40+0200\n" +"POT-Creation-Date: 2024-05-17 15:36+0000\n" "PO-Revision-Date: \n" "Last-Translator: obado \n" "Language-Team: Pod Team cotech-esup-pod@esup-portail.org\n" @@ -1238,7 +1238,6 @@ msgstr "" #: pod/completion/models.py pod/enrichment/models.py pod/playlist/models.py #: pod/recorder/models.py pod/video/models.py #: pod/video/templates/channel/channel.html -#: pod/video/templates/videos/video_breadcrumbs.html #: pod/video/templates/videos/videos.html pod/video_encode_transcript/models.py msgid "Video" msgstr "Vidéo" @@ -2078,6 +2077,7 @@ msgid "Ending credits" msgstr "Générique de fin" #: pod/dressing/models.py pod/video/apps.py pod/video/models.py +#: pod/video/templates/videos/video_breadcrumbs.html #: pod/video/templates/videos/videos.html msgid "Videos" msgstr "Vidéos" @@ -8184,13 +8184,13 @@ msgstr "" "l’adresse suivante : %(email_address)s

\n" #: pod/video/management/commands/check_obsolete_videos.py -msgid "Your video will be obsolete" -msgstr "Votre vidéo sera obsolète" +#, python-format +msgid "Sending mail to %(to_email)s for video %(title)s." +msgstr "Envoi d’un courriel à %(to_email)s pour la vidéo %(title)s." #: pod/video/management/commands/check_obsolete_videos.py -#, python-format -msgid "Mail sent to %(to_email)s for video %(title)s." -msgstr "Courriel envoyé à %(to_email)s pour la vidéo %(title)s." +msgid "Your video will be obsolete" +msgstr "Votre vidéo sera obsolète" #: pod/video/management/commands/check_obsolete_videos.py #, python-format @@ -8262,10 +8262,11 @@ msgstr "Dans %(deadline)s jours :" #: pod/video/management/commands/create_archive_package.py #, python-format msgid "" -"Package archiving done. %(amount)s video packaged (%(weight)s - " -"[%(duration)s])" +"Package archiving done. %(amount)s video(s) packaged (%(weight)s - " +"[%(duration)s]) - %(nb_ignored)s video(s) ignored." msgstr "" -"Archivage effectué. %(amount)s vidéos traitées (%(weight)s - [%(duration)s])" +"Archivage effectué. %(amount)s vidéos traitées (%(weight)s - [%(duration)s]) " +"- %(nb_ignored)s vidéo(s) ignorée(s)." #: pod/video/management/commands/create_archive_package.py #, python-format @@ -8285,8 +8286,17 @@ msgstr "" "code> sans l’option --dry pour les supprimer de %s." #: pod/video/management/commands/create_archive_package.py -msgid "Packaging archived videos on Pod" -msgstr "Déplacement des vidéos archivées sur Pod" +msgid "" +"And below is the list of ignored videos that were not packaged because they " +"have been recently viewed." +msgstr "" +"Vous trouverez ci-dessous la liste des vidéos ignorées qui n'ont pas été " +"regroupées parce qu'elles ont été visionnées récemment." + +#: pod/video/management/commands/create_archive_package.py +#, python-format +msgid "Packaging %s archived videos on Pod" +msgstr "Déplacement de %s vidéos archivées sur Pod" #: pod/video/models.py pod/video/views.py msgid "None / All" diff --git a/pod/locale/nl/LC_MESSAGES/django.po b/pod/locale/nl/LC_MESSAGES/django.po index dace9d8a3b..d5641293be 100644 --- a/pod/locale/nl/LC_MESSAGES/django.po +++ b/pod/locale/nl/LC_MESSAGES/django.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Pod\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-15 08:40+0200\n" +"POT-Creation-Date: 2024-05-17 15:36+0000\n" "PO-Revision-Date: 2024-05-15 09:01+0200\n" "Last-Translator: obado \n" "Language-Team: \n" @@ -1173,7 +1173,6 @@ msgstr "" #: pod/completion/models.py pod/enrichment/models.py pod/playlist/models.py #: pod/recorder/models.py pod/video/models.py #: pod/video/templates/channel/channel.html -#: pod/video/templates/videos/video_breadcrumbs.html #: pod/video/templates/videos/videos.html pod/video_encode_transcript/models.py msgid "Video" msgstr "" @@ -1973,6 +1972,7 @@ msgid "Ending credits" msgstr "" #: pod/dressing/models.py pod/video/apps.py pod/video/models.py +#: pod/video/templates/videos/video_breadcrumbs.html #: pod/video/templates/videos/videos.html msgid "Videos" msgstr "" @@ -7612,12 +7612,12 @@ msgid "" msgstr "" #: pod/video/management/commands/check_obsolete_videos.py -msgid "Your video will be obsolete" +#, python-format +msgid "Sending mail to %(to_email)s for video %(title)s." msgstr "" #: pod/video/management/commands/check_obsolete_videos.py -#, python-format -msgid "Mail sent to %(to_email)s for video %(title)s." +msgid "Your video will be obsolete" msgstr "" #: pod/video/management/commands/check_obsolete_videos.py @@ -7680,8 +7680,8 @@ msgstr "" #: pod/video/management/commands/create_archive_package.py #, python-format msgid "" -"Package archiving done. %(amount)s video packaged (%(weight)s - " -"[%(duration)s])" +"Package archiving done. %(amount)s video(s) packaged (%(weight)s - " +"[%(duration)s]) - %(nb_ignored)s video(s) ignored." msgstr "" #: pod/video/management/commands/create_archive_package.py @@ -7699,7 +7699,14 @@ msgid "" msgstr "" #: pod/video/management/commands/create_archive_package.py -msgid "Packaging archived videos on Pod" +msgid "" +"And below is the list of ignored videos that were not packaged because they " +"have been recently viewed." +msgstr "" + +#: pod/video/management/commands/create_archive_package.py +#, python-format +msgid "Packaging %s archived videos on Pod" msgstr "" #: pod/video/models.py pod/video/views.py diff --git a/pod/video/management/commands/create_archive_package.py b/pod/video/management/commands/create_archive_package.py index 789e4bda13..e830dd01a8 100644 --- a/pod/video/management/commands/create_archive_package.py +++ b/pod/video/management/commands/create_archive_package.py @@ -126,7 +126,7 @@ def export_complement( """Store a video complement as json.""" if len(export_objects) > 0: export_file = os.path.join(folder, "%s.json" % export_type) - print("Export %s %s." % (len(export_objects), export_type)) + print(" * Export %s %s." % (len(export_objects), export_type)) if not self.dry_mode: with open(export_file, "w") as out: content = serialize("json", export_objects) @@ -135,7 +135,7 @@ def export_complement( def move_video_to_archive(self, mediaPackage_dir: str, vid: Video) -> None: """Move video source file to mediaPackage_dir.""" if os.access(vid.video.path, os.F_OK): - print("Moving %s" % vid.video.path) + print(" * Moving %s" % vid.video.path) if not self.dry_mode: shutil.move( vid.video.path, @@ -146,7 +146,7 @@ def move_video_to_archive(self, mediaPackage_dir: str, vid: Video) -> None: # Deletes the video object and the associated folder (encoding, logs, etc.) # Remove thumbnails (x3) else: - print("ERROR: Cannot acces to file '%s'." % vid.video.path) + print("ERROR: Cannot access to file '%s'." % vid.video.path) def archive_pack(self, video_dir: str, user_name: str, vid: Video) -> None: """Create a archive package for Video vid.""" @@ -178,24 +178,26 @@ def archive_pack(self, video_dir: str, user_name: str, vid: Video) -> None: self.export_complement( mediaPackage_dir, model.__name__, model.objects.filter(video=vid) ) + # Export also the video itself as json + self.export_complement(mediaPackage_dir, "Video", vid) # Store also files linked to Enrichments for enrich in Enrichment.objects.filter(video=vid): if enrich.document: - print("Copying %s..." % enrich.document.file.path) + print(" * Copying %s..." % enrich.document.file.path) shutil.copy(enrich.document.file.path, mediaPackage_dir) if enrich.image: - print("Copying %s..." % enrich.image.file.path) + print(" * Copying %s..." % enrich.image.file.path) shutil.copy(enrich.image.file.path, mediaPackage_dir) # Store file complements. for file in Document.objects.filter(video=vid): - print("Copying %s..." % file.document.file.path) + print(" * Copying %s..." % file.document.file.path) shutil.copy(file.document.file.path, mediaPackage_dir) # Store additional tracks (caption / subtitles) for track in Track.objects.filter(video=vid): - print("Copying %s..." % track.src.file.path) + print(" * Copying %s..." % track.src.file.path) shutil.copy(track.src.file.path, mediaPackage_dir) # TODO: @@ -219,6 +221,7 @@ def handle(self, *args, **options) -> None: total_processed = 0 total_weight = 0 list_video = [] + ignored_video = [] if options["dry"]: self.dry_mode = True @@ -245,9 +248,9 @@ def handle(self, *args, **options) -> None: # Do not archive a video with recent views. # (if video has been shared with a token, it can still be viewed) print( - "- Video %s ignored (%s recent views)" - % (vid.slug, vid.recentViewcount) + " * IGNORED (%s recent views)" % vid.recentViewcount ) + ignored_video.append(str(vid)) continue # Recover original video slug @@ -263,23 +266,27 @@ def handle(self, *args, **options) -> None: list_video.append(str(vid)) self.archive_pack(video_dir, csv_entry["User name"], vid) else: - print("Video %s not present in archived file" % vid.id) + print(" * Video %s not present in archived file" % vid.id) print("---") # Convert seconds in human readable time total_duration = str(timedelta(seconds=total_duration)) total_msg = _( - "Package archiving done. %(amount)s video packaged (%(weight)s - [%(duration)s])" + "Package archiving done. %(amount)s video(s) packaged (%(weight)s - [%(duration)s])" + " - %(nb_ignored)s video(s) ignored." ) % { "amount": total_processed, "weight": sizeof_fmt(total_weight), "duration": total_duration, + "nb_ignored": len(ignored_video) } print(total_msg) if total_processed > 0: - self.inform_managers(list_video, total_msg) + self.inform_managers(list_video, ignored_video, total_msg, total_processed) - def inform_managers(self, list_video: list, total_msg: str) -> None: + def inform_managers( + self, list_video: list, ignored_video: list, total_msg: str, total_processed: int + ) -> None: """Inform site managers of packaged archives.""" msg_html = [_("Hello manager(s) of %s,") % __TITLE_SITE__] msg_html.append("
") @@ -307,10 +314,19 @@ def inform_managers(self, list_video: list, total_msg: str) -> None: msg_html.append("

%s

" % msg) msg_html.append(self.get_list_video_html(list_video)) + + msg = _( + "And below is the list of ignored videos that were not packaged " + "because they have been recently viewed." + ) + + msg_html.append("

%s

" % msg) + msg_html.append(self.get_list_video_html(ignored_video)) + msg_html.append("

%s

" % total_msg) msg_html.append("

%s

" % _("Regards.")) msg_html = "\n".join(msg_html) - subject = _("Packaging archived videos on Pod") + subject = _("Packaging %s archived videos on Pod") % total_processed mail_managers( subject, striptags(msg_html), diff --git a/pod/video/templates/videos/dublincore.html b/pod/video/templates/videos/dublincore.html index 4fd7ad681c..0862e1c219 100644 --- a/pod/video/templates/videos/dublincore.html +++ b/pod/video/templates/videos/dublincore.html @@ -2,7 +2,7 @@ {% if xml == True %}{% endif %} {% for key, value in video.get_dublin_core.items %} {% if xml == True %} - <{{key}}>{{value|metaformat|striptags|truncatechars:300}} + <{{key}}>{{value|metaformat|striptags}} {% else %} {% endif %} diff --git a/setup.cfg b/setup.cfg index 38cae469b7..f577baac41 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [flake8] -exclude = .git,pod/*/migrations/*.py,*_settings.py,node_modules/*/*.py,pod/static/*.py,pod/custom/tenants/*/*.py +exclude = .git,pod/*/migrations/*.py,*_settings.py,node_modules/*/*.py,pod/static/*.py,pod/custom/tenants/*/*.py,./venv/* max-complexity = 7 max-line-length = 90 # See https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8