Videoguida: Realizzazione Camera Cafè Player (parte 19)

Sviluppo del ciclo di caricamento degli episodi dal file di impostazioni.

La diciottesima 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_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):
      print episode
      episode += 1
    videos.append(episodes)
  return videos

signals = {
  'on_winMain_delete_event': on_winMain_delete_event,
  '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()
About these ads

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...




Indice degli argomenti


Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

%d blogger cliccano Mi Piace per questo: