Leonard

Membres
  • Compteur de contenus

    7
  • Inscription

  • Dernière visite

Me contacter

  • Website URL
    http://www.webporte.com/
  • ICQ
    0

Leonard's Achievements

Débutant

Débutant (1/7)

0

Réputation sur la communauté

  1. Chez moi quand je mets ta version le script ne se lance plus... ??
  2. C'était un premier essai, avec le controlTextBox dont tu avais parler (alex), dans un autre post Je connais 2 objets pour l'affichage maintenant , le controlTextBox et le ControlList qui était dans le script, je regarderais à l'occasion si y a pas moyen d'améliorer encore l'affichage avec une liste pour les programmes tv et un controlTextBox pour le descriptif Sinon pour le répertoire que j'ai utilisé pour le fichier temp, je pensais pas qu'il pouvait poser problème vu que c'est le chemin du répertoire des scripts dans xbmc quelque soit l'endroit où se trouve xbmc (non?) puis c'était celui qui était déjà utilisé pour les images mais je regarderai ta modif pour pas mourir idiot
  3. Pareil!! nb: juste un détail, j'ai cru un moment qu'il ne fonctionnait pas à cause de l'affichage de "X pour démarrer la vidéo" alors qu'elle se lance avec le bouton A...
  4. Nouvelle version du script avec: - des nouvelles corrections pour les bugs d'affichage des caractères spéciaux... - un affichage des résultats plus sympathique!! - les images de fonds de Darts (celles qu'il a postées plus haut…) - le fichier temporaire (eurotv.html) n'est plus stocké sur C: (ça faisait un peu désordre...) mais dans le dossier Q:\scripts\eurotv\ (celui où se trouve les images de fonds...) Le script complet avec les images : http://leonard62.free.fr/eurotv.zip Le fichier python seul (donc sans les images et le dossier eurotv...) ci-dessous. Voilà. @++ eurotv.py
  5. juste la correction des bugs d'affichage des caractères spéciaux edit : ce serait bien si maintenant quelqu'un nous afficher ça d’une façon un peu plus conviviale (moi je sais pas faire et j’ai pas trop le temps de m’y mettre en ce moment.. quoique avec un peu d’aide et d’encouragement j’arriverais peut être à dégager un peu de temps…)
  6. Très interessant ce post, j'ai trouvé ça excellent les scripts pythons sur xbmc et donc je débute en python et en dev "xbox", et ce post est très instructf. Merci :)
  7. Bonjour tout le monde! Voilà le script avec les corrections des principales bugs d'affichages de caractères. Reste à afficher tout ça de façon un peu plus conviviale ################################################## EUROTV European TV-GUIDES ON XBOX################################################## # Coded by Vincent Deswert(Belgium)# Vde@belcenter.com## Get tv codes from urls at www.eurotv.com### DEFINE THE CHANNELS YOU WANT#You can find out tv channels codes from www.eurotv.com## Please make sure to respect the format :## eg. channels = "'ab3','tvi','tf1'"####################################################################################################################channels = "'ab3','beprm','bepl1','beci1','beci2','besp1','besp2','cpbf','cplb','cplj','tnt','clrtl','eurfr','rtb2','rtb1','libfr','prtl','tvi','mtv','enf','fr2','fr3','tf1','ab4','mcm'"channels = "'tf1','fr2','fr3','cpfr','la5','artef','m6','rtb1','rtb2'"########You should not edit anything from here############## Unless you want to fuckup/ameliorate what I did###############################################################import urllibimport xbmc, xbmcguiimport htmllibimport formatterimport stringimport datetime try: Emulating = xbmcgui.Emulatingexcept: Emulating = FalseACTION_MOVE_LEFT = 1 ACTION_MOVE_RIGHT = 2ACTION_MOVE_UP = 3ACTION_MOVE_DOWN = 4ACTION_PAGE_UP = 5ACTION_PAGE_DOWN = 6ACTION_SELECT_ITEM = 7ACTION_HIGHLIGHT_ITEM = 8ACTION_PARENT_DIR = 9ACTION_PREVIOUS_MENU = 10ACTION_SHOW_INFO = 11ACTION_PAUSE = 12ACTION_STOP = 13ACTION_NEXT_ITEM = 14ACTION_PREV_ITEM = 15auj = datetime.date.today()demain = auj + datetime.timedelta(days=1)ademain = demain + datetime.timedelta(days=1)aademain = ademain + datetime.timedelta(days=1)_cookie = "CHANNEL=" + urllib.quote(channels)DialogProgress = xbmcgui.DialogProgress()class AppURLopener( urllib.FancyURLopener): def __init__( self, cookie=None, *args): apply( urllib.FancyURLopener.__init__, (self,) + args) if cookie: self.addheader( "Cookie", cookie)urllib._urlopener = AppURLopener( _cookie)class TableParser(htmllib.HTMLParser): def __init__(self): self.active=0 self.finished=0 self.skipping=0 self.result=[] self.current_table=[] self.current_row=[] self.current_data=[] htmllib.HTMLParser.__init__(self, formatter.NullFormatter()) def start_body(self,attributes): if not self.finished: self.active=1 def end_body(self): self.active=0 self.finished=1 def start_tbody(self,attributes): self.skipping=0 def end_tbody(self): self.skipping=1 def start_thead(self,attributes): self.skipping=1 def end_thead(self): self.skipping=0 def start_tfoot(self,attributes): self.skipping=1 def end_tfoot(self): self.skipping=0 def start_caption(self,attributes): self.skipping=1 def end_caption(self): self.skipping=0 def start_th(self,attributes): self.skipping=self.skipping+1 def end_th(self): self.skipping=self.skipping-1 def start_table(self,attributes): if self.active and not self.skipping: self.current_table = [] def end_table(self): if self.active and not self.skipping: self.result.append(self.current_table) def start_tr(self,attributes): if self.active and not self.skipping: self.current_row = [] def end_tr(self): if self.active and not self.skipping: self.current_table.append(self.current_row) def start_td(self,attributes): if self.active and not self.skipping: self.current_data = [] def end_td(self): if self.active and not self.skipping: self.current_row.append( string.join(self.current_data)) def handle_data(self, data): if self.active and not self.skipping: if len(data) > 400: self.current_data.append(urllib.quote(data[:400]) + "...") else: self.current_data.append(urllib.quote(data))class SelectDay(xbmcgui.Window): def __init__(self): if Emulating: xbmcgui.Window.__init__(self) self.addControl(xbmcgui.ControlImage(0,0,720,576, 'q:\\scripts\\eurotv\\background.png')) self.strActionInfo = xbmcgui.ControlLabel(0,600,200,200,"","font14","0XFFFF00FF") self.addControl(self.strActionInfo) self.strActionInfo.setLabel("Appuyer Sur Back Pour sortir") self.list = xbmcgui.ControlList(350,200,200,200) self.addControl(self.list) self.list.addItem(auj.strftime("%A (%a) %d/%m/%Y")) self.list.addItem(demain.strftime("%A (%a) %d/%m/%Y")) self.list.addItem(ademain.strftime("%A (%a) %d/%m/%Y")) self.list.addItem(aademain.strftime("%A (%a) %d/%m/%Y")) self.setFocus(self.list) def onAction(self,action): if action == ACTION_PREVIOUS_MENU: self.close() def onControl(self,control): if control == self.list: item = self.list.getSelectedItem() if item.getLabel() == auj.strftime("%A (%a) %d/%m/%Y"): self.tvdate = auj popup = SelectHour() popup.doModal() del popup elif item.getLabel() == demain.strftime("%A (%a) %d/%m/%Y"): self.tvdate = demain popup = SelectHour() popup.doModal() del popup elif item.getLabel() == ademain.strftime("%A (%a) %d/%m/%Y"): self.tvdate = ademain popup = SelectHour() popup.doModal() del popup elif item.getLabel() == aademain.strftime("%A (%a) %d/%m/%Y"): self.tvdate = aademain popup = SelectHour() popup.doModal() del popupclass SelectHour(xbmcgui.Window): def __init__(self): if Emulating: xbmcgui.Window.__init__(self) self.addControl(xbmcgui.ControlImage(0,0,720,576, 'q:\\scripts\\eurotv\\background.png')) self.strActionInfo = xbmcgui.ControlLabel(0,600,200,200,"","font14","0XFFFF00FF") self.addControl(self.strActionInfo) self.strActionInfo.setLabel("Appuyer Sur Back Pour sortir") self.list = xbmcgui.ControlList(350,200,200,200) self.addControl(self.list) self.list.addItem("Maintenant") self.list.addItem("6h à 12h") self.list.addItem("12h à 14h") self.list.addItem("14h à 17h") self.list.addItem("17h à 20h") self.list.addItem("Soir") self.list.addItem("0 to 6") self.setFocus(self.list) def onAction(self,action): if action == ACTION_PREVIOUS_MENU: self.close() def onControl(self,control): tvdate = myeurotv.tvdate if control == self.list: item = self.list.getSelectedItem() if item.getLabel() == "Maintenant": self.grabtvgrid(tvdate,"Now") elif item.getLabel() == "6h à 12h": self.grabtvgrid(tvdate,"6_12") elif item.getLabel() == "12h à 14h": self.grabtvgrid(tvdate,"12_14") elif item.getLabel() == "14h à 17h": self.grabtvgrid(tvdate,"14_17") elif item.getLabel() == "17h à 20h": self.grabtvgrid(tvdate,"17_20") elif item.getLabel() == "Soir": self.grabtvgrid(tvdate,"20_24") elif item.getLabel() == "0 to 6": self.grabtvgrid(tvdate,"0_6") def grabtvgrid(self,tvdate,tvhour): DialogProgress.create("Retrieving","http://www.eurotv.com/scripts/Seloutprint.cfm?Hour=" + str(tvhour) + "&day=" + tvdate.strftime("%Y") + "%2D" + tvdate.strftime("%m") + "%2D" + tvdate.strftime("%d") + "%2000%3A00%3A00%2E0") sock=urllib.urlopen("http://www.eurotv.com/scripts/Seloutprint.cfm?Hour=" + str(tvhour) + "&day=" + tvdate.strftime("%Y") + "%2D" + tvdate.strftime("%m") + "%2D" + tvdate.strftime("%d") + "%2000%3A00%3A00%2E0") a = sock.read() sock.close a=string.replace(a,"’","'") a=string.replace(a,"É","É") a=string.replace(a,"é","é") a=string.replace(a,"è","è") a=string.replace(a,"ê","ê") a=string.replace(a,"ë","ë") a=string.replace(a,"â","â") a=string.replace(a,"à ","à") a=string.replace(a,"î","î") a=string.replace(a,"ï","ï") a=string.replace(a,"Ç","Ç") a=string.replace(a,"ç","ç") a=string.replace(a,"«","«") a=string.replace(a,"»","»") a=string.replace(a,"€","€") a=string.replace(a,"ô","ô") a=string.replace(a,"ö","ö") a=string.replace(a,"ù","ù") a=string.replace(a,"û","û") a=string.replace(a,"…","...") a=string.replace(a,"ñ","ñ") a=string.replace(a,"°","°") f=open('C:\eurotv.html', 'w') f.write(a) f.close() f=open('C:\eurotv2.html', 'w') f.write("http://www.eurotv.com/scripts/Seloutprint.cfm?Hour=" + str(tvhour) + "&day=" + tvdate.strftime("%Y") + "%2D" + tvdate.strftime("%m") + "%2D" + tvdate.strftime("%d") + "%2000%3A00%3A00%2E0") f.close() DialogProgress.close() popup = DisplayHour() popup.doModal() del popup class DisplayHour(xbmcgui.Window,): def __init__(self): if Emulating: xbmcgui.Window.__init__(self) DialogProgress.create("Parsing HTML File", "Guide Tv: " + str(myeurotv.tvdate.strftime("%A (%a) %d/%m/%Y"))) parser=TableParser() parser.feed(open('C:\eurotv.html').read()) self.tvgrid = parser.result parser.close() DialogProgress.close() self.addControl(xbmcgui.ControlImage(0,0,720,576, 'q:\\scripts\\eurotv\\background2.png')) self.strActionInfo = xbmcgui.ControlLabel(250,70,500,500,"","font14","0XFFFFFFFF") self.addControl(self.strActionInfo) self.strActionInfo.setLabel("Programme TV : " + str(myeurotv.tvdate.strftime("%A (%a) %d/%m/%Y"))) self.list = xbmcgui.ControlList(50,150,600,300) self.addControl(self.list) for tables in self.tvgrid: for lines in tables: if lines <> ['']: self.list.addItem(urllib.unquote(str(lines))) self.setFocus(self.list) def onAction(self,action): if action == ACTION_PREVIOUS_MENU: self.close() myeurotv = SelectDay()myeurotv.doModal()del myeurotv eurotv.py