From e405fc3c8fcedf0e922166efb0a87eb6cf9ae92f Mon Sep 17 00:00:00 2001 From: Daniel STAN Date: Mon, 11 Feb 2013 22:56:07 +0100 Subject: [PATCH] [tv] oubli de fichiers sources --- tv/__init__.py | 0 tv/genconf/__init__.py | 0 tv/recup_sap | Bin 0 -> 17533 bytes tv/vignettes/vignettes_diff.py | 173 +++++++++++++++++++++++++++++ tv/vignettes/vignettes_new.py | 194 +++++++++++++++++++++++++++++++++ 5 files changed, 367 insertions(+) create mode 100644 tv/__init__.py create mode 100644 tv/genconf/__init__.py create mode 100755 tv/recup_sap create mode 100755 tv/vignettes/vignettes_diff.py create mode 100755 tv/vignettes/vignettes_new.py diff --git a/tv/__init__.py b/tv/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tv/genconf/__init__.py b/tv/genconf/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tv/recup_sap b/tv/recup_sap new file mode 100755 index 0000000000000000000000000000000000000000..b963eae52a666329dd6c90ac95018aa7eddbc00b GIT binary patch literal 17533 zcmd5^3wT_`b)LQZ@X8i?*ut3Lm}@K(nc6GABa8vt@?tBR0Q6RiZo21BrfN9d$P52-sNn;+t&^9d)C!q=XV$zVVYm+)DI1X{6{{PI} z)m>qdwEajs`sU93bIzPObLPzKy)*af#&G*(9*;*j!4O_S)Om|9xEyKAVntalOff|? ziMe8q2%w0xCMQnhOhMRmr#u>njq)|4b45%v*-#k+YM%EW~ihc_C z)aQLc#vW97z+=dENjJb&JrnUkUy$)xU`Fc2HW-^wrwMH{n!t<>?TT0JIN)1?Q@=T# z>TOQP7o}5~;?7VZ8(OOBqG_r7hRs`KUFyNeP>*Mu#96%+KzUwLJT5G8zHSlWT1Z25!r_tM2^Sl!UuFA`N;nXjW5;s zGa6s7@iL7MX}m$>c^YRm{-MSZ%`>CJaI`qqdcO|RDS zLmE5%yHn%kNGX4n#*V(u__5eTT+0lC(;ofC2_`d<_ic}KS$(O3ZRK0j(L%v0h)ATb zKbwgZ>}cMOLul@>XoS$XWS(HZKa<*fz@+(R4K5FA}+YDq|-^Zz>ZPsf=Yu zqVafMWbAA*Eee)R=4{Rug;ZZAiV{1YiRE^Il8M_{LOZ*SNvuC73R+eomd+L|l*ZAZ zNZQ#+S}H(MwW(_lyi&OVdHK8 zyqdxl%i(fnBug4mn|{ntpGskhc?JEDWpxr8;#Cq6+Tnu%OhEdg9~0Ic~6q+(6`iz#-4jh zjITHb&Bx~-$CdpYpU<8pnLToN9AQ3tm?Z7U^AfYCNt)=$0g2h;B$u)y`z2=2lP2+) z#I!)NiTHMjX^G@w;sJ?ikz@;TPGVXnxrTVF#I#UyBXOt1v{bT_c#XugSn_J(#S+tU z$*shu#I#_N9Xe7cF)f+Q5etcF(Iltik>kHb!F*aaIY4|^Vp=$PEAjIZ)6&V?i4RCj zizn|T-Y+pNpBy6|lb9or+)I2r@RHX)F#O8kPmg!@bR`db3Y4w5TybS`&WJBqszv*+ z-+nvBs=I^=;@X>@+IB8}YexpT>SIQ@59c8rOk~<7h<`7wz$3bVlli zUbN2{eUu^w5BTn9+4zfPQt{|BezJR>dusTEs=w!_V1fL(Uu7L+W*zi3vaED!$8Ub6 zB#nNPwBcjdJtgbRI=H^Ep$;V@;p*Y_jdg(VD8dH7;7GU*iEktv9QHMq0_gd3tk*qw ztOpem!{HML!^hx^qV~~n-L2v8KNJ3*fQTSPAocP02|6$-?M3b3@biPapBKC4k~oG1 zcF$IHfwDjTpX1};q^wd6IH5q|VE83NBo1PZk6hPK`&jq{89gAP;U571ATiu(fTY#C z1tNx9eGpxTsVhdq$Dn&P)sbqTMM@tDKTk35BXjup;O^sEn*(lbPMw<2W`LSOCM%DI zzwgML3&>s|ab%uAtqPfk-7@#OWG;kE*vc~@_j``q^WG}=FDA=1?{rzN(>Sf0lr#~lN!)!HK0LhOen7{w?Gcfab{v-%QwVjnqjF@~bEw4j&o`A7Z7efSxGL9z0o7yjC~zv}7p3sc2SOhpsdl zE;-iW4abDlW!nR&quU-}+lzr6Polh$@Nwz1SU6epfZKKrpiAOS$G(c?95Y%@odr+t z83)^N_@zDGyO_SbXNpV@*FNT-h8*nj)7nS{E#jja2Hy-@PNCp6NQ7jgC4uSG!rY2)Ai@b z8-888esDEZl7_q6)$*C(84Z7x#vKX2j)abJh~vuP#Sr}s{Pg|-Oi@-fu*N|;@1aUZ ze~m^@dWsDsaAr7!7ePRt&6S>^W)~;9rrG`@FXML=+;VwA8f?Vx>gdqbC*Ts0v4^d& z$tWrfhaVZ-{fM~X$-&+GMeWchweDI0Hdp%KX%vuzE2zMPwsPsY_%zIt&{)ZgUuaRP zI}NiW{OTkvx?lD-%%1|x`@I*1ANh#?$RZS~zIelXYabQ2hW8Eb-YaT9`KdBj?I>>| zM~ALLhru+^GPSs)TxFmoX4kn;!8VRwGdgsQ!+UY@^4h-*?;8$}9SlFfmT%hqz&Mf{ zjH7=txO*&CtR5Y@7n9f*I5ec!Eyl*?ksbrnnDjzY6(`!#MS+y5(?P0Ae&?;RIM zo`IsHa#l!BQ{uQDz`nyncVUW5P~l2csB}@8M%Tfepcs*yl@i`SQ=@W{>2j`Xko=!0 zcO-KPlIlo)<#*7&^*d+}muaWfNVgmV*TJD%(I&g0Es9B?jflR`UW2d~N~jsM&9csf zgZa~#8M`kU{DzcLTneXq;&7FJ45g!Y%Q}!S+|XD$3*Itxpg2{vM>m!BKKi&*b&;c~ zZVUDHP`D$Gjei+J#$}Uw=GNYPAr|mGoW(GkRCmlhyf3^lK7M2-SW0{VmdmGJZh3Fv z`xba%>Vrs13CJD}pB&tMQWSY>@)H*R0`-xnx}`J0a4>udSxl`{7fCffVjNunP}WiF zZ~}El!Y8S62PBM!Ptn13$v03^UQp@)oF4$JlV{kd7rdYSp?+Lb^pDS3U<5-=vA(og zEu>VWG=SnsoUgr3k>$HLd9QcXl}k?GzNor1hDtX*wG(&orA^=)y|V$rMhAIa@Z=M3 z8W(=AFnjp>qmSSh10(eH_b?g1>no&RcHwXHuMa+5eeDM#*FELFUsLyY!?PPp>%e`} zQ}2TGVH?Y|6sww8@ca`ejiCdhx$$CM=~}Rj%x)Y35AXG~{Ndx9;UK>}dKe_P`tn|N z@R;vwhj6pFhnK;VzqI_?A8=hObN~>Tcc~i^oye06F ziqC3q7t~X0(*iRQO{J}Pi2Et-F!8Kvc6UU&!dtq-YuB&u((F@R&$4D)XJpfs_MW!Z zwcS0Do}P9`q-pjS({?HrE!bu%V{WtZ87qCMZpbCSqJDcvN9XSoz=vzi<5syMUnw7| zM>d5wtqXT`Z)|hqn@tn?Y2_A_Wo#)#`>a)F-cIzJP1hGwX68M3=EmlLnTr+{m`%BC zF>j_Vvp?H!Wo)xZb`v`Sh3o=z>Qu3G>GBYsxR<^+v~&fwC@vP}#m!~e%wPwhn2Qvm zxv8D`Y+pXw4-r<}w6kWPWt&m6du^wQeE=)kKUH*DX)8)0_%2}>+-3X zWv<_{uA{rhZ0aQn#f!b!g1x3(X+cFLmjNo-wMrk&5`%yc%>SF{$IskFHZrYUC34P71GW-gyahx#pa&Wd3y3T8Bu$!226 zNXhdHtL7J6Dph1#qs6|YZK{13bAH@hWOAD&mFYujMKkGLucEpb% z-h=oc;-iSqAbt<=XNV^d1Gk_);`xXx5idh@vbT!*!?^w+t^PNn#B3Nvt@84@Se`GO=Q7knNx!^G z?X)Yuqo2?Z>0dVN>*lAQ8e$_{P{~WcPwAgO0>5ep0AVhoA$NU0gYmf;ane2{nZ6*I zn3GQ|Qn@@D427Bty9#kDS7=TxYgyTBr4!9^lQq;Wnv+;joBOhMw!b+pN3^+*JDSb0 z?S^Lw52a}v#)~m&W}@>qVFG%L7lDlLE(YEE6%_cU7-u8#p0|!A zpToryG{(T~o!7&X+i)?a82eDm+sInR*GQbt2E1QV0`7x_y-kBGc>otrz(`>&@GhW8 zdKC_ef>v^WHy|y!)BGSC-zwYJVn6 z_fpuW*`V=VWuH70%F?N{!kEndf;!wUv)^VD4@%x7vtN+e$0+xUvZG(7uzgaq zr&+pRYPO!dUy-HPF#Cusy@1(ArQCmDYmZZ;@iMD@?P0W8<@*on_b6#!e_R$Epemei zaGsBl@td;xwQTiC_HpWcC^fNWKT=#J6rVfnNMj)||kdOPU8D~>=;^|LJMB0)@P z#FfIO`Mtv51|0PD1pX3bzRj|cc_Q!=u=={+K$$VmCyWzl*4M+T{$03K`{x9H2J!yc zSF$7EZvnsm-IOKy?*_krP7nF%mv#Pmihr)`xWj**;tvXA7-IbMZU*ZazsAKEIKO5Q zB#N5v;Nq!y7sMGg*R$_6Z-CWT^KEG6uXzmlKn;I3r_}V}8m##-c&fx1HSBw!rRE`| zo|?6=E6zO%NCF$rMp2dTTwH6rNM(=fn5%m)>efBZ%K={K@pa$lMY8aMidTcPo}A}F z&((oT1I(hWx+{Kf=|RH!ILWnKyc+%-MmfC}p5gA~P^TbhB!qG4NYT8B(Yza0xa0 zm_iE!ub|z)Eeb6T{D$b`3M~)pqm)k!NtrF^H^Ez<-uL0Lu zT5e*{g>j7PcQi|e6}Zlzw|JxoVSE<(z}4-N*oA8?Z8T9^xeUvc%bdn}M1#*T!4SCa z4qU5z_u^XnbzGE`iMrC~*vUFxgwcv?AbL<%`Zg=ksZ=HA>VC-!-4jAzLw-6Zb(QZV zvQ<9mfOFZicoj@q<*UWDwhmN;OQ-6W(&6r_z!S)*@vTFvlz(Oc6+BhGG32X! z^o05&$bJ-U1_OT;_&211FU`l5GwTWp-^Yo{rlj!w>W#pU>{QxM@f`yN#D_`N(4pH61+YeYlLf}%dp z3S8gO+a%tU;Vli`bQOxtF+9ip-`<$1&Ns=<^U(N@+xg7@ZRb7pqApPHneOoh&k4>C z&VZ{3PrauuFdbKK%{evmYi8iC#+Zp8yH(RJn%0KLK5rwyv}u>19NW3xpvwAZcsw(v zO(PTh{fshy3-0!(;AN#5tQwpv+GaF^p{iC)lftHI$$pZjo#m2IJs|_X#6B0LrU}w# z<3YFfOq9N-npNxkkc>G?EvTK+WBU2BbcW)?qQPb{*JnV$>S|0;>VtW)ysYk})druC zrClm)0z0{Ix12HDb@6z9Q!^D;4;)B%PV?{~@NxxqD=^OF5PpMiX?a7Q#dDUdI`3TX z+3&vcsyXLgbG6}t5WFLRiC9NT6=HFhBq@)-h0F80a?tM9oWUlBa2ltvLS*>iBumTR+~ObK$ed6kBEkR`KGdWf4mtdgkEo) zp}-R8UFw;$aL!e8;&KEqK74xho`=F!h9BdA58%Bs|F}; zaSl*HxuYz7+3_x04r)AVN9CSS>)Y=sMk3jw-CIn!1eGU*YNx2Xjup38cSQR34v=*} z$_CSJHOZwC>1ZF{K2$Bi)sT;6`*H3eU+{BRnwaLU86WA-#psJcq+N%?V3J87FJiR`O*CAzf zOf6JWT`5nd$*(d(9h@3P(_CY~t(x52v3?x@w(Dctq^JpZh{zFi#HxN?U$pYO^jzhs zSK7+RT9B=kb;RO?2y(Hw=yKPRvmwH@z^T_FGx2g?oZhl{gWGd6c-2|ySl9uB$ZFbd zn|s1to3ZeQySn6>i(hxH-;$+Idywp+&O=>29o)lTIj|XwaoJ358#Z@zg_Znnl$MRG z#vdh|VyY`jr1A)^y3RV~noJdovD<^R$zzT+lmYZ=o_3aMG$o5fsIaTwj`kwO%dRp_ zIyvxI`J4!4vbGgkyRL1K9qkjLWVDbJq4=&0Dyr1ZixBR9Li%v40z^Q|TWRvEOfGGU z5NC-9aSDh~0sy3})H|fERuVrpT$))g+MkMvP|VKealeJva+!QE#x}F4-dg~~WaP0Q z$X0K$FA~N4?Zf-R8s>_$FexfI*wnba5>S&6*UF3TDDn9Or5 z=6RO&5*YZr>~0rO#1L`VA?xrgjE5K0$C1aBkLPJbhi?}6W`S?N=41aHz9RC}70>GO z%;Z_{@x09mj@%py9KOSlcNly*r<0(OkMYAUK0al1a&Xw74%C(5CPYUb&k8$nsK+sP zg46CTC?Fs0G622-@O_Ae*TK{&k0HoM(y7nm`wtu{;_0d!9C>%6#E}<#5cb3Kjzc4} zlfMsn+Jy4t_afkX7I}1A2J+F)dl8*>`I^Ha@Uh$pj=X&+aQI#Z-^*{q_o$1HFWUYT ze2xstbn;(w@$t;G1imC0bRZw&0YvJay>gNRV1zZJA zmJd))p1gd+d#6(gsnho#A@Alp48Hj;K8N<&BtAdhNe{dH#o^-?iIb<8_ch`jcUOUv z<-7Mzo_rrgqmR*fbZ}@hG~Z%feqoakKjwhzKt9HLM3=jXS$N={;|S3_NF=YT8L@Q* z<~xjGg2pFxjs<<6bJ8tOTq4BoN$rB=w1Mj&3F=EL^_`N!s%5Tg3hNfQeo20|uFl|@ z;*^7lT#uM~rKhWPM`2D{j3wr|!ZHzDM-*l+)Ow*X_bY_px}dNcK+b=K)lB3(R~Q>7 z2%OIf^9@inZxybUnDbL%wQ4wL@m@J9LU6t*Iu->4&MSr0F9qk1!aNdD?-nSG#Q}ly zL19cDSMXM>fV2;s*A=`1PU;F?`32TQfwy8MV||`tPXw=c_XI%Bi*MuH!7I*nL(t6% zpZ1Agj63Tn8HrskDe-_y0_h`@@I908WcpTq=Bhw_r%%E+Pr@fA z;mQ0ivb4v4SHHK&!xZBl49#ZXm!;k{*{SbrV8+v*o7yzzXSA_%JQa*o5^3sGsLHWo%!U!N^~Ev zTc0lgn|eO7e@_5Af&Ke^_MgoEzqS8ldCOdjCiS@#m~UFDUC?T=Nz*ybTn#<|?5r2{ zSTFiCo%d~|^VpVwN7KX~2j&}`Tq*fI;XS}ypA@bUpVj<_H2*%0=V|<;#y`~f5HRmU z0AcN4jK4~{9*=sXR{Ro}-}!V({%XNfL+<*Ke>%SYlno=#-&X4PF3<;D`r#D1;`_%H zR21PtMDkw_?5w}jF`hgqdSe*hy<%X9W55l!`hqQzzglbqcI$fsFh4=!eJS}r3CwT- zBIVx?+zEYH#{TUC=C?{+_-P^kBbxtB&Hn`iA^_}lUf2*5jgc zN&I3ppAoSsW%3#Cl6Q6k&vjns?CY=Qt5Wu&ROS*9?M*F`kJRt*%T+EdaB9d_@%)Z+ z1wMS^XyP5+!mMojk8xsI*&$m$q!YqP+yH@oc0oo$bYrnB16%M2kCx+_{Lvi~aq(9MR#; z>n9{T;Igi@o3J0GNo>Z+Pe_%!9#ZNbcer>wGVywCOmxfdqc_S;UH$p=nl;Xc%!@^2 z{WY7{Zfa}AVHZD@c9Z1C((Zyb?keSrIhasj7cY|Bp}*XAGwJWP-9_rvV0Q_&wK2BX z?a4=XaXXFUQOHhgJ@dpof)jJeCggss{<7OGMZJ07mf=Ai6ssVWKM;49s&BbPe{`D_ zOQ*2yq$Ehu#W=UXU24gLOca%Mp-aLq^_S=sawFKwDhtPl;&1tMypo%eT%G66nXav0 zkQVBLb$2bks_(|iH0q1?iSi{vzHTqSYM&^@Fk5 + + +Chaines diffusées + + + + +\"En_tete\"
+
Chaines diffusées
+
+Cette page à été générée à %02ih%02i
+
+ +

Pour plus d'informations cliquez ici

+Petites vignettes
+Vignettes Normales
+ + +""" % (int(t[3]) ,int(t[4]) ) + +table_piedpage=""" +
+""" + +trame_piedpage=""" + +""" + +def ajoute_image(nom,ip,html,html_petites): + html.write('') + html.write('Chaine : %s / IP : %s
' % (ip, nom, ip)) + html.write('Chaine : %s
IP : %s:1234' % (nom, ip)) + html.write('\n') + html_petites.write('') + html_petites.write('Chaine : %s / IP : %s
' % (ip, nom, ip)) + html_petites.write('Chaine : %s
IP : %s:1234' % (nom, ip)) + html_petites.write('\n') + + + +def vignettes() : + html = open('/tmp/vignettes.html','w') + html.write(trame_entete) + html_petites = open('/tmp/vignettes_petites.html','w') + html_petites.write(trame_entete) + col = 0 + col_petites = 0 + #a factoriser + chaines_probleamatiques=[] +# os.system('cat /var/run/mumudvb/chaines_diffusees_carte* > /tmp/chaines_diff.txt') +# os.system('sort /tmp/chaines_diff.txt> /tmp/chaines_diff_triees.txt') +# data = open('/tmp/chaines_diff_triees.txt','r').readlines() + os.system('wget http://tv.crans.org/sap.txt -O /tmp/sap.txt') + pre_data = open('/tmp/sap.txt','r').readlines() + + data=[] + if host="mouton": + data=pre_data + print data + + for line in data : + line = line.strip() +# nom=line.split(':')[2] +# ip=line.split(':')[0] + nom=line.split(':')[0] + ip=line.split(':')[1] + + + #on évite les radios, peu de debit et pas de vignettes + if nom[0:3]=='rad' : +# continue + #C'est une radio on cherche un logo + ok=0 #désolé vince j'ai essayé les exceptions mois c pas si simple + nom_court=(' '.join(nom.split(' ')[2:])).lower() + print "On s'occupe de la radio %s" % nom_court + for file in os.listdir('/var/www/images/logos_radios'): + if file.startswith(nom_court): + os.system('cp /var/www/images/logos_radios/\"%s\" /var/www/images/%s.jpg' % (file,ip)) + os.system('cp /var/www/images/logos_radios/\"%s\" /var/www/images/%s_petites.jpg' % (file,ip)) + if col == 2 : + col = 1 + html.write('\n') + else : + col += 1 + if col_petites == 3: + col_petites = 1 + html_petites.write('\n') + else : + col_petites += 1 + ajoute_image(nom,ip,html,html_petites) + ok=1 #désolé vince j'ai essayé les exceptions mois c pas si simple + if not ok: + #il n'y a pas de logo :-( + chaines_probleamatiques.append('Chaine : %s
IP : %s:1234

\n' %(nom,ip)) + print "\t Fait" + continue + print 'on s\'occupe de %s %s' % (ip,nom) + + print '\trecuperation du flux' + + os.system('nice mplayer -vo jpeg:outdir=/tmp udp://%s:1234 -frames 10 -really-quiet' % (ip)) + if not os.path.exists('/tmp/00000010.jpg') or not os.stat('/tmp/00000010.jpg')[6] : + print '\tOn retente' + if os.path.exists('/tmp/00000010.jpg') and os.stat('/tmp/00000010.jpg')[6] : + print 'FICIHER VIDE' + os.system('cd /tmp && nice mplayer -vo jpeg:outdir=/tmp udp://%s:1234 -frames 10' % (ip)) + print '\tredimesionnement\n' +# os.system('convert -geometry \'400x300 !\' /tmp/00000010.jpg /var/www/images/%s.jpg 2>/dev/null 1>/dev/null' % (ip)) +# os.system('convert -geometry \'200x150 !\' /tmp/00000010.jpg /var/www/images/%s_petites.jpg 2>/dev/null 1>/dev/null' % (ip)) + os.system('convert -geometry \'400x300 !\' /tmp/00000010.jpg /var/www/images/%s.jpg ' % (ip)) + os.system('convert -geometry \'200x150 !\' /tmp/00000010.jpg /var/www/images/%s_petites.jpg ' % (ip)) + + if os.path.exists('/tmp/00000010.jpg') and os.stat('/tmp/00000010.jpg')[6] : #on teste sur le mpg car il est enleve a chaque fois + if col == 2 : + col = 1 + html.write('\n') + else : + col += 1 + if col_petites == 3: + col_petites = 1 + html_petites.write('\n') + else : + col_petites += 1 + ajoute_image(nom,ip,html,html_petites) + print "--------------- Ok %s" % ip + else : + chaines_probleamatiques.append('Chaine : %s
IP : %s:1234

\n' %(nom,ip)) + print "--------------- Problematique %s ..." % ip + os.system('rm /var/www/images/%s.jpg' % (ip)) + os.system('rm /var/www/images/%s_petites.jpg' % (ip)) + + os.system('rm /tmp/000000*jpg') + + + html.write(table_piedpage) + html_petites.write(table_piedpage) + #on ecrit les radios + html.write('

Liste des chaines diffusées mais dont le flux est érroné ou uniquement audio (les flux videos ne seront probablement non lisibles avec VLC mais lisibles avec xine)


') + html_petites.write('

Liste des chaines diffusées mais dont le flux est érroné ou uniquement audio (les flux videos ne seront probablement non lisibles avec VLC mais lisibles avec xine)


') + for line in chaines_probleamatiques : + html.write(line) + html_petites.write(line) + #on ecrit la vraie fin + html.write(trame_piedpage) + html.close() + html_petites.write(trame_piedpage) + html_petites.close() + os.system('mv -f /tmp/vignettes.html /var/www/vignettes.html') + os.system('mv -f /tmp/vignettes_petites.html /var/www/vignettes_petites.html') + + +if __name__ == '__main__' : + lock.make_lock('vignettes') + print 'Vignetisation générale' + vignettes() + print 'On a fini' + lock.remove_lock('vignettes') diff --git a/tv/vignettes/vignettes_new.py b/tv/vignettes/vignettes_new.py new file mode 100755 index 00000000..7787a60d --- /dev/null +++ b/tv/vignettes/vignettes_new.py @@ -0,0 +1,194 @@ +#! /usr/bin/env python +# -*- coding: iso-8859-15 -*- + +import os,sys +sys.path.append('/usr/scripts/gestion') +import lock +import time +from time import localtime,sleep +from socket import gethostname + + +host = gethostname() + +t = localtime() +trame_entete=""" + + + +Chaines diffusées + + + + +\"En_tete\"
+
Chaines diffusées
+
+Cette page à été générée à %02ih%02i
+
+ +

Pour plus d'informations cliquez ici

+Petites vignettes
+Vignettes Normales
+ + +""" % (int(t[3]) ,int(t[4]) ) + +table_piedpage=""" +
+""" + +trame_piedpage=""" + +""" + +def ajoute_image(nom,ip,html,html_petites): + html.write('') + html.write('Chaine : %s / IP : %s
' % (ip, nom, ip)) + html.write('Chaine : %s
IP : %s:1234' % (nom, ip)) + html.write('\n') + html_petites.write('') + html_petites.write('Chaine : %s / IP : %s
' % (ip, nom, ip)) + html_petites.write('Chaine : %s
IP : %s:1234' % (nom, ip)) + html_petites.write('\n') + + + +def vignettes() : + html = open('/tmp/vignettes.html','w') + html.write(trame_entete) + html_petites = open('/tmp/vignettes_petites.html','w') + html_petites.write(trame_entete) + col = 0 + col_petites = 0 + #a factoriser + chaines_probleamatiques=[] +# os.system('cat /var/run/mumudvb/chaines_diffusees_carte* > /tmp/chaines_diff.txt') +# os.system('sort /tmp/chaines_diff.txt> /tmp/chaines_diff_triees.txt') +# data = open('/tmp/chaines_diff_triees.txt','r').readlines() + os.system('wget http://tv.crans.org/sap.txt -O /tmp/sap.txt') + pre_data = open('/tmp/sap.txt','r').readlines() + + data=[] + if host=="mouton": + data=pre_data + chemin_images="/var/www/images/" + elif host=="canard": + chemin_images="/tmp/tv_images/" + for line in pre_data : + ip_serv=line.split(':')[1].split('.')[1] + if ip_serv=="201": + data.append(line) + elif host=="oie": + chemin_images="/tmp/tv_images/" + for line in pre_data : + ip_serv=line.split(':')[1].split('.')[1] + if ip_serv=="202": + data.append(line) + elif host=="lapin": + chemin_images="/tmp/tv_images/" + for line in pre_data : + ip_serv=line.split(':')[1].split('.')[1] + if ip_serv=="200": + data.append(line) + + + print data + + for line in data : + line = line.strip() +# nom=line.split(':')[2] +# ip=line.split(':')[0] + nom=line.split(':')[0] + ip=line.split(':')[1] + + + #on évite les radios, peu de debit et pas de vignettes + if nom[0:3]=='rad' : +# continue + #C'est une radio on cherche un logo + ok=0 #désolé vince j'ai essayé les exceptions mois c pas si simple + nom_court=(' '.join(nom.split(' ')[2:])).lower() + print "On s'occupe de la radio %s" % nom_court + for file in os.listdir('%s/logos_radios' % chemin_images): + if file.startswith(nom_court): + os.system('cp %s/logos_radios/\"%s\" /var/www/images/%s.jpg' % (chemin_images,file,ip)) + os.system('cp %s/logos_radios/\"%s\" /var/www/images/%s_petites.jpg' % (chemin_images,file,ip)) + if col == 2 : + col = 1 + html.write('\n') + else : + col += 1 + if col_petites == 3: + col_petites = 1 + html_petites.write('\n') + else : + col_petites += 1 + ajoute_image(nom,ip,html,html_petites) + ok=1 #désolé vince j'ai essayé les exceptions mois c pas si simple + if not ok: + #il n'y a pas de logo :-( + chaines_probleamatiques.append('Chaine : %s
IP : %s:1234

\n' %(nom,ip)) + print "\t Fait" + continue + print 'on s\'occupe de %s %s' % (ip,nom) + + print '\trecuperation du flux' + + os.system('nice mplayer -vo jpeg:outdir=/tmp udp://%s:1234 -frames 10 -really-quiet' % (ip)) + if not os.path.exists('/tmp/00000001.jpg') or not os.stat('/tmp/00000001.jpg')[6] : + print '\tOn retente' + if os.path.exists('/tmp/00000001.jpg') and os.stat('/tmp/00000001.jpg')[6] : + print 'FICIHER VIDE' + os.system('cd /tmp && nice mplayer -vo jpeg:outdir=/tmp udp://%s:1234 -frames 1' % (ip)) + print '\tredimesionnement\n' +# os.system('convert -geometry \'400x300 !\' /tmp/00000010.jpg /var/www/images/%s.jpg 2>/dev/null 1>/dev/null' % (ip)) +# os.system('convert -geometry \'200x150 !\' /tmp/00000010.jpg /var/www/images/%s_petites.jpg 2>/dev/null 1>/dev/null' % (ip)) + os.system('convert -geometry \'400x300 !\' /tmp/00000001.jpg %s/%s.jpg ' % (chemin_images,ip)) + os.system('convert -geometry \'200x150 !\' /tmp/00000001.jpg %s/%s_petites.jpg ' % (chemin_images,ip)) + + if os.path.exists('/tmp/00000001.jpg') and os.stat('/tmp/00000001.jpg')[6] : #on teste sur le mpg car il est enleve a chaque fois + if col == 2 : + col = 1 + html.write('\n') + else : + col += 1 + if col_petites == 3: + col_petites = 1 + html_petites.write('\n') + else : + col_petites += 1 + ajoute_image(nom,ip,html,html_petites) + print "--------------- Ok %s" % ip + else : + chaines_probleamatiques.append('Chaine : %s
IP : %s:1234

\n' %(nom,ip)) + print "--------------- Problematique %s ..." % ip + os.system('rm %s/%s.jpg' % (chemin_images,ip)) + os.system('rm %s/%s_petites.jpg' % (chemin_images,ip)) + + os.system('rm /tmp/000000*jpg') + + + html.write(table_piedpage) + html_petites.write(table_piedpage) + #on ecrit les radios + html.write('

Liste des chaines diffusées mais dont le flux est érroné ou uniquement audio (les flux videos ne seront probablement non lisibles avec VLC mais lisibles avec xine)


') + html_petites.write('

Liste des chaines diffusées mais dont le flux est érroné ou uniquement audio (les flux videos ne seront probablement non lisibles avec VLC mais lisibles avec xine)


') + for line in chaines_probleamatiques : + html.write(line) + html_petites.write(line) + #on ecrit la vraie fin + html.write(trame_piedpage) + html.close() + html_petites.write(trame_piedpage) + html_petites.close() + os.system('mv -f /tmp/vignettes.html /var/www/vignettes.html') + os.system('mv -f /tmp/vignettes_petites.html /var/www/vignettes_petites.html') + + +if __name__ == '__main__' : + lock.make_lock('vignettes') + print 'Vignetisation générale' + vignettes() + print 'On a fini' + lock.remove_lock('vignettes')