Caricamento degli episodi e relativi indirizzi nella ComboBox degli episodi. Correzione del difetto di aggiornamento del pulsante di collegamento senza episodi scelti.
La ventitreesima parte è disponibile a questa pagina.
Si consiglia di attivare il video in alta qualità cliccando sul video e scegliendo la qualità 720p HD.
Il codice sorgente usato in questo esempio è il seguente:
import gtk import gtk.glade import ConfigParser def on_winMain_delete_event(widget, data=None): gtk.main_quit() return False def on_cboSeries_changed(widget, data=None): active = cboSeries.get_active() modelEpisode.clear() for episode in range(len(videos[active])): modelEpisode.append(['Episodio %d' % (episode + 1), videos[active][episode]]) def on_cboEpisode_changed(widget, data=None): active = cboEpisode.get_active() if active >= 0: btnURL.set_uri(modelEpisode[active][1]) btnURL.set_label(modelEpisode[active][1]) def loadEpisodes(filename): videos = [] config = ConfigParser.RawConfigParser() config.read(filename) series = config.getint('general', 'series') for serie in xrange(1, series + 1): episodes = [] episode = 1 while config.has_option('serie %d' % serie, 'Episode%d' % episode): episodes.append(config.get('serie %d' % serie, 'Episode%d' % episode)) episode += 1 videos.append(episodes) return videos signals = { 'on_winMain_delete_event': on_winMain_delete_event, 'on_cboSeries_changed': on_cboSeries_changed, 'on_cboEpisode_changed': on_cboEpisode_changed } gladeFile = gtk.glade.XML(fname='cameracafeplayer.glade') gladeFile.signal_autoconnect(signals) gw = gladeFile.get_widget winMain = gw('winMain') cboSeries = gw('cboSeries') cboEpisode = gw('cboEpisode') btnURL = gw('btnURL') modelSeries = gtk.ListStore(str) cboSeries.set_model(modelSeries) crSeries = gtk.CellRendererText() cboSeries.pack_start(crSeries, True) cboSeries.add_attribute(crSeries, 'text', 0) modelEpisode = gtk.ListStore(str, str) modelEpisode.append(['Episodio 1', 'http://wwwqualcosa 1']) modelEpisode.append(['Episodio 2', 'http://wwwqualcosa 2']) modelEpisode.append(['Episodio 3', 'http://wwwqualcosa 3']) modelEpisode.append(['Episodio 4', 'http://wwwqualcosa 4']) modelEpisode.append(['Episodio 5', 'http://wwwqualcosa 5']) modelEpisode.append(['Episodio 6', 'http://wwwqualcosa 6']) cboEpisode.set_model(modelEpisode) crEpisode = gtk.CellRendererText() cboEpisode.pack_start(crEpisode, True) cboEpisode.add_attribute(crEpisode, 'text', 0) videos = loadEpisodes('cameracafeplayer.txt') for serie in xrange(1, len(videos) + 1): modelSeries.append(['Stagione %d' % serie]) print videos winMain.show() gtk.main()
Approfitto di questo commento per farti i complimenti per le guide presenti nel blog molto chiare e ben fatte
grazie, son lieto che le trovi di tuo gradimento.
ciao
Ho voluto tutto questo tutorial sarebbe stato in inglese.