#! /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')