begin process at 2012 05 24 01:30:29
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > PROGRAMME A LA TÉLÉ CE SOIR

PROGRAMME A LA TÉLÉ CE SOIR


 Information sur la source

Note :
8,5 / 10 - par 2 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :programme, télé, socket Niveau :Débutant Date de création :18/12/2005 Date de mise à jour :02/03/2007 08:28:34 Vu / téléchargé :23 157 / 605

Auteur : Crevette

Ecrire un message privé
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Bonjour,

alors ce code est très simple,

le script se connecte sur un site de programme télé et affiche le programme télé .heure, programe, résumé...
le script prend en compte les chaines TF1,FRANCE2,FRANCE3,RTL,PLUG,....
on peux en rajouter très facilement en modifiant le dictionnaire avec les chaines définie





Source

  • # fenetre.py
  • #################################################
  • # Monoyer Fabian : Chaine television
  • # License: GPL
  • #################################################
  • # -*- coding: utf-8 -*-
  • from qt import *
  • class Fenetre(QMainWindow):
  • def __init__(self,parent = None,name = None,fl = 0):
  • QMainWindow.__init__(self,parent,name,fl)
  • self.statusBar()
  • if not name:
  • self.setName("Fenetre")
  • self.setCentralWidget(QWidget(self,"qt_central_widget"))
  • FenetreLayout = QGridLayout(self.centralWidget(),1,1,11,6,"FenetreLayout")
  • self.splitter2 = QSplitter(self.centralWidget(),"splitter2")
  • self.splitter2.setOrientation(QSplitter.Horizontal)
  • self.listBox = QListBox(self.splitter2,"listBox")
  • self.text = QTextEdit(self.splitter2,"text")
  • self.text.setReadOnly(1)
  • FenetreLayout.addWidget(self.splitter2,0,0)
  • self.languageChange()
  • self.resize(QSize(800,600).expandedTo(self.minimumSizeHint()))
  • self.clearWState(Qt.WState_Polished)
  • self.setTabOrder(self.listBox,self.text)
  • def languageChange(self):
  • self.setCaption(self.__trUtf8("\x50\x72\x6f\x67\x72\x61\x6d\x6d\x65\x20\x74\xc3\xa9\x6c\xc3\xa9"))
  • def __trUtf8(self,s,c = None):
  • return qApp.translate("Fenetre",s,c,QApplication.UnicodeUTF8)
  • #! /usr/bin/pytgon
  • # chainetv.py
  • #################################################
  • # Monoyer Fabian : Chaine television
  • # python@euphonynet.be
  • # License: GPL
  • #################################################
  • # -*- coding: utf-8 -*-
  • import urllib2
  • import sys as Sys
  • from datetime import date
  • import fenetre as windows
  • import qt as Qt
  • def dateok(x):
  • date1="%s/%s"%(date.today().day,date.today().month)
  • date2="%s/%s"%(date.today().day+1,date.today().month)
  • days=dict([(1,31),(2,28),(3,31),(4,30),(5,31),(6,30),(7,31),(8,31),(9,30),(10,31),(11,30),(12,31)])
  • if date.today().day==days[date.today().month] :
  • day=1
  • month=date.today().month()+1
  • if month==13:
  • month=1
  • date2="%s/%s"%(day,month)
  • if x==1 :
  • return date1
  • return date2
  • def openChan(chanid):
  • lecture=0
  • prog=""
  • url='http://tv.voila.fr/index_chaine.html?c=%s'%(chanid)
  • data=urllib2.urlopen(url)
  • adatok=data.readlines()
  • data.close()
  • ii=0
  • date1=dateok(1)
  • date2=dateok(2)
  • for i in range(len(adatok)):
  • ligne=unicode(adatok[i],"cp1252")
  • if (ligne.find(date1) > 0) :
  • lecture=1
  • if (ligne.find(date2) > 0) :
  • lecture=0
  • if lecture==1 and ligne.find("drc")>0 :
  • lignecop=ligne
  • ligne=ligne.replace("<br>"," ")
  • ligne=ligne.replace(" ","")
  • ligne=ligne.replace("Showview : ","")
  • ligne=ligne.replace("\\","")
  • ligne=ligne.replace("*","")
  • if ligne.find("','")>0:
  • x=ligne.find("','")
  • if x>0 :
  • while ligne[x-1].isdigit()==1 :
  • ligne=ligne[:x-2]+ligne[x:]
  • x=ligne.find("','")
  • while ligne[x+3].isdigit()==1 :
  • ligne=ligne[:x+3]+ligne[x+4:]
  • x=ligne.find("','")
  • ligne=ligne.replace("','","")
  • deb=ligne.find("('")+2
  • fin=ligne.find("')\"")
  • ii=ii+1
  • prog=prog+"<br><b>"+(ligne[deb:fin])+"</b><br>"
  • lignecop=ligne
  • deb=ligne.find("href='javascript:of(")
  • fin=ligne.find(")' onmouseover")
  • if deb>0 : #ici on va rechercher les info du films....
  • nombre=ligne[deb+20:fin]
  • url="http://tv.voila.fr/fiche.html?id=%s"%(nombre)
  • dataf=urllib2.urlopen(url)
  • adatokf=dataf.readlines()
  • dataf.close()
  • for i in range(len(adatokf)):
  • ligne=unicode(adatokf[i],"cp1252")
  • if ligne.find("RESUME")>0 :
  • ligne=ligne.strip()
  • #avis,histoire,resumer
  • prog=prog+"<br>"+ligne+"<br>"
  • return prog
  • class Fenetre :
  • def __init__(self,Sys):
  • self.App=Qt.QApplication(Sys.argv) # app
  • self.Win=windows.Fenetre() # win = la fenetre
  • def Signal(self):
  • self.App.connect(self.App, Qt.SIGNAL("lastWindowClosed()"), self.App, Qt.SLOT("quit()"))
  • self.Win.connect(self.Win.listBox,Qt.SIGNAL("selected(int)"),self.Selected)
  • def Main(self,Sys,chaine):
  • self.Win.show()
  • self.Win.text.setText(openChan(chaine["CLUBRTL"]))
  • self.App.exec_loop()
  • def List(self,chaine):
  • for i in chaine :
  • self.Win.listBox.insertItem(Qt.QPixmap("channels/%s.gif"%(i.lower())),i)
  • def Selected(self, index):
  • key=self.Win.listBox.currentText()
  • self.Win.text.setText(openChan(chaine["%s"%(key)]))
  • #-------------------------Main -----------------------------------
  • chaine=dict([('TF1',1),('FRANCE2',2),("FRANCE3",3),("AB3",132),("AB4",142),("ARTE",5),("RTBF",35),("RTBF2",104),("RTLTVI",54),("CLUBRTL",89),("PLUGTV",152),("M6",6),("MTV",31),("MCM",30),("TV5",10)])
  • image=open("channels/mcm.gif","r")
  • images=image.read()
  • image.close()
  • projet=Fenetre(Sys)
  • projet.List(chaine)
  • projet.Signal()
  • projet.Main(Sys,chaine)
# fenetre.py
#################################################
# Monoyer Fabian : Chaine television              
# License: GPL                              
#################################################
# -*- coding: utf-8 -*-

from qt import *


class Fenetre(QMainWindow):
    def __init__(self,parent = None,name = None,fl = 0):
        QMainWindow.__init__(self,parent,name,fl)
        self.statusBar()

        if not name:
            self.setName("Fenetre")

        self.setCentralWidget(QWidget(self,"qt_central_widget"))
        FenetreLayout = QGridLayout(self.centralWidget(),1,1,11,6,"FenetreLayout")

        self.splitter2 = QSplitter(self.centralWidget(),"splitter2")
        self.splitter2.setOrientation(QSplitter.Horizontal)

        self.listBox = QListBox(self.splitter2,"listBox")

        self.text = QTextEdit(self.splitter2,"text")
        self.text.setReadOnly(1)

        FenetreLayout.addWidget(self.splitter2,0,0)



        self.languageChange()

        self.resize(QSize(800,600).expandedTo(self.minimumSizeHint()))
        self.clearWState(Qt.WState_Polished)


        self.setTabOrder(self.listBox,self.text)


    def languageChange(self):
        self.setCaption(self.__trUtf8("\x50\x72\x6f\x67\x72\x61\x6d\x6d\x65\x20\x74\xc3\xa9\x6c\xc3\xa9"))


    def __trUtf8(self,s,c = None):
        return qApp.translate("Fenetre",s,c,QApplication.UnicodeUTF8)

#! /usr/bin/pytgon
# chainetv.py
#################################################
# Monoyer Fabian : Chaine television              
# python@euphonynet.be                          
# License: GPL                              
#################################################
# -*- coding: utf-8 -*-

import urllib2
import sys as Sys
from datetime import date
import fenetre as windows
import qt as Qt

def dateok(x):
    date1="%s/%s"%(date.today().day,date.today().month)
    date2="%s/%s"%(date.today().day+1,date.today().month)	
    days=dict([(1,31),(2,28),(3,31),(4,30),(5,31),(6,30),(7,31),(8,31),(9,30),(10,31),(11,30),(12,31)])
    if date.today().day==days[date.today().month] :
         day=1
         month=date.today().month()+1
         if month==13:
              month=1
         date2="%s/%s"%(day,month)
    if x==1 :
         return date1
    return date2


def openChan(chanid):
    lecture=0
    prog=""
    url='http://tv.voila.fr/index_chaine.html?c=%s'%(chanid)
    data=urllib2.urlopen(url)
    adatok=data.readlines()
    data.close()
    ii=0
    date1=dateok(1)
    date2=dateok(2)
    for i in range(len(adatok)):
          ligne=unicode(adatok[i],"cp1252")
    	  if (ligne.find(date1) > 0) :
             lecture=1   
          if (ligne.find(date2) > 0) :
             lecture=0
          if lecture==1 and ligne.find("drc")>0 :
             lignecop=ligne
             ligne=ligne.replace("<br>"," ")
             ligne=ligne.replace(" ","")
             ligne=ligne.replace("Showview : ","")
             ligne=ligne.replace("\\","")
             ligne=ligne.replace("*","")
	     if ligne.find("','")>0:
                x=ligne.find("','")
                if x>0 :
                    while ligne[x-1].isdigit()==1 :
                         ligne=ligne[:x-2]+ligne[x:]
                         x=ligne.find("','")
                    while ligne[x+3].isdigit()==1 :
                         ligne=ligne[:x+3]+ligne[x+4:]
                         x=ligne.find("','")
                ligne=ligne.replace("','","") 
                deb=ligne.find("('")+2
                fin=ligne.find("')\"")
                ii=ii+1
                prog=prog+"<br><b>"+(ligne[deb:fin])+"</b><br>"
                lignecop=ligne
                deb=ligne.find("href='javascript:of(")
                fin=ligne.find(")' onmouseover")
                if deb>0 : #ici on va rechercher les info du films....
                   nombre=ligne[deb+20:fin]
                   url="http://tv.voila.fr/fiche.html?id=%s"%(nombre)		   
                   dataf=urllib2.urlopen(url)
                   adatokf=dataf.readlines()
                   dataf.close()
                   for i in range(len(adatokf)):
                       ligne=unicode(adatokf[i],"cp1252")
                       if ligne.find("RESUME")>0 :
                          ligne=ligne.strip()
                          #avis,histoire,resumer
                          prog=prog+"<br>"+ligne+"<br>"
    return prog


class Fenetre :
     def __init__(self,Sys):
          self.App=Qt.QApplication(Sys.argv) # app
          self.Win=windows.Fenetre()                     # win = la fenetre

         
     def Signal(self):     
           self.App.connect(self.App, Qt.SIGNAL("lastWindowClosed()"), self.App, Qt.SLOT("quit()"))
           self.Win.connect(self.Win.listBox,Qt.SIGNAL("selected(int)"),self.Selected)
          
  
     def Main(self,Sys,chaine):
           self.Win.show()
           self.Win.text.setText(openChan(chaine["CLUBRTL"]))
           self.App.exec_loop()
           
     
     def List(self,chaine):
           for i in chaine :
                self.Win.listBox.insertItem(Qt.QPixmap("channels/%s.gif"%(i.lower())),i)

  
     def Selected(self, index):
           key=self.Win.listBox.currentText()   
           self.Win.text.setText(openChan(chaine["%s"%(key)]))
        
    
      
    



#-------------------------Main -----------------------------------
chaine=dict([('TF1',1),('FRANCE2',2),("FRANCE3",3),("AB3",132),("AB4",142),("ARTE",5),("RTBF",35),("RTBF2",104),("RTLTVI",54),("CLUBRTL",89),("PLUGTV",152),("M6",6),("MTV",31),("MCM",30),("TV5",10)])
image=open("channels/mcm.gif","r")
images=image.read()
image.close()
projet=Fenetre(Sys)
projet.List(chaine)
projet.Signal()
projet.Main(Sys,chaine)




 Conclusion

Voila une version graphique QT3, avec tt les sources....
pour les windosiens intaller le module PYQT

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

18 décembre 2005 19:50:27 :
.
18 décembre 2005 19:58:08 :
rajout d'un zip
19 décembre 2005 20:56:02 :
Version graphique QT3 :-)
02 mars 2007 08:28:34 :
pas de mise a jour

 Sources de la même categorie

CALCULE LA FRÉQUENCE DU CPU par Guillamue06
Source avec Zip Source avec une capture NOTEPAD POUR PYTHON par grephit
EXTRAIRE LE CONTENU D'UNE ARCHIVE .TAR OU .RAR par brennal
Source avec Zip SCRIPT PERMETTANT DE DÉCODER LA STRUCTURE SECONDAIRE D'UNE P... par Basilio
SUPPRESSION par Rano Its

 Sources en rapport avec celle ci

SOCKET MULTITHREAD SIMPLE par Guillamue06
TRANSFERT DE FICHIER PAR SOCKET par Guillamue06
Source avec Zip TV PROGRAM FETCHING AND PARSING FOR ANYONE WOULD KEEP TRACE ... par Senethril
Source avec une capture [PYGTK] LECTEUR MULTI-VIDÉO EMBARQUANT MPLAYER GRÂCE À L'ID ... par loupmagic
[HTTP-CLIENT] - RÉCUPÉRER UNE REQUETE COMPLÈTE SANS PASSER P... par jean84

Commentaires et avis

Commentaire de tipro75 le 19/12/2005 20:40:46

Ton programe a une mauvaise mise en page... regarde : fin=ligne.find("')\"")
                                                                      î

Commentaire de Crevette le 19/12/2005 21:02:53

oui je sais, mais je suis désolé la mise en page est bonne est devient comme ca lorque je sauve....
si le prog t'intéresser tu peux tj récuperer le source...

Commentaire de MATHIS49 le 03/01/2006 20:47:30

BONNE IDÉE MAIS C'EST LENT A CHARGER DIS DONC !!

Commentaire de mzamoun le 06/02/2006 22:40:04

je ne connais pas python
mais en doubleclickant sur une chaine, je ne vois rien de rien
le pire est qu'il n' ya pas de messages de debug nous disant ce que que le prog fait en ce moment !

help !

Commentaire de ouecho le 18/02/2006 20:50:28

bonjour je voudrai une importante aide svp
en fait j'ai copié le code source du programme télé
mais mon logiciel ne veut pas le compiler

Commentaire de CameLooN le 09/03/2006 15:25:58

obligé d avoir python ??

Commentaire de xeolin le 15/06/2006 15:32:33

oui cameleon et malheureusement d'avoir ossi internet ^^

7/10

Commentaire de kerneltony95 le 05/10/2006 01:57:27

c'est pas mal !

Commentaire de enderwiggin84 le 17/11/2009 23:15:33

Je ne comprends pas comment marche ton code. J'ai essayé de le compiler mais je n'ai qu'une fenêtre avec les icônes des chaînes TV qui apparait. Je n'arrive pas à obtenir les infos sur les programme TV.

Commentaire de Senethril le 26/08/2010 22:26:04

Je suis déçu de n'avoir qu'une interface très basique ne proposant aucune fonction avancée, je ne trouve rien d'affiché après le téléchargement, j'aurais bien aimé une sélection faites par jour, par thèmes, nouveautés, notes des magazines pour l'appréciation, une ligne du temps aurait été pas mal également avec un tooltip sur l'émission du moment donc je suis très déçu malgrès le peu de code...j'ai fais cela mais en tkinter, je posterai une fois ;)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Client Serveur Netstat [ par power211 ] Bonjour &#224; tous, je suis un ptit nouveau ds le monde du python, projet d ecole oblige mais c vrai que&nbsp; le python c rapide comme langage.Bon t Socket+timeout [ par power211 ] Re Bonjour tout lemonde,bon voila j aurai une ptite question sur les sockets plus les timeout.Donc je vais directement aller au but avec un exemple co Socket et Threading [ par dabcorp ] Bonjour , J'ai fait un client/serveur socket , mais je me comprend pas les threads ... Je suis oblig&#233; de faire une boucle pour relance le progra Changer l'icone d'un programme [ par Uims ] Je travaille en python sur un projet, qui me semble important, et j'aimerais pour faire pro remplacer le tres moche logo de windows par un autre icone Je suis tout à fait nouveau en Delphi (je ne connais que le nom) [ par Muner ] Bonjour &#224; tous,d'habitude, je programme en C++, mais voulant me lancer dans une autre programmation (sans arreter le Cpp), et ayant loup&#233; me reseau local, serveur/client [ par xilure ] Bonjour,j'ai fait un petit scripte, que me permet soit d'etre un serveur ou un clien, et d'envoyer des message (chat en reseau) Mais voila, quand je s Envoyer le resulatat d'un logiciel par email ? [ par nayo93 ] Bonjours, Voila, j'ai un programme ( Qui en ligne de commande d'ailleur je pourais dire MS-DOS ^^ ) et j'aimerais que tous ce que marque ce programme TWISTED : Transfert de fichier [ par chmod666 ] Bonjour,je viens enfin de trouver ce qu'il me faut aprés bcps bcps de recherche il faut le dire ... Situation:J'ai un client qui envoie un fichierJ' raw socket [ par ebossss ] Salut,voila je cherche un tutorial (anglais ou francais) qui explique comment se servir des raw socket en python, sans passer par une bibliotheque ext Parcourir sa BDR [ par skools ] Bonjour à tousVoilà: je suis loin d'être un pro en programmation, et encore moins en manipulations diverses sur la base de registre, et pourtant, je c


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 7,270 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales