Stampa dell’elenco degli episodi e i relativi indirizzi per ciascun episodio per la serie scelta.
La ventiduesima 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])):
print 'Episodio %d' % (episode + 1), videos[active][episode]
def on_cboEpisode_changed(widget, data=None):
active = cboEpisode.get_active()
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()
1 Risposta a “Videoguida: Realizzazione Camera Cafè Player (parte 23)”