#!/usr/bin/python
# -*- coding: utf8 -*-

# Les imports
import urllib2
import pygtk
pygtk.require('2.0')
import gtk
import commands

print """*** Teste de python par Lapinator ©2007 ***"""

list = []
item = []

for line in urllib2.urlopen('http://mafreebox.freebox.fr/freeboxtv/playlist.m3u'):
	tmp = line.strip().split(' ',2)
	if tmp[0][:10] == "#EXTINF:0,":
		item = [tmp[0][10:], tmp[2]]
	elif tmp[0][:7] == "rtsp://":
		item.append(tmp[0])
		if(int(item[0]) < 1000):
			list.append(item)

#print(list)

class FreeTV:
	def select_chaine(self, widget, data=None):
		commands.getstatusoutput('mplayer -ao sdl -fs '+data[2])	
	def delete_event(self, widget, event, data=None):
		print "delete event occurred"
		return False
	def destroy(self, widget, data=None):
		gtk.main_quit()
	def __init__(self):
		self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
		self.window.set_title("FreeTV")
		self.window.connect("delete_event", self.delete_event)
		self.window.connect("destroy", self.destroy)
		#self.window.set_border_width(10)
		self.window.set_size_request(350, 600)

		self.sw = gtk.ScrolledWindow()
		self.sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_ALWAYS)
		self.window.add(self.sw)
		self.sw.show()

		self.vbox = gtk.VBox()
		self.sw.add_with_viewport(self.vbox)
		self.vbox.show()
		for item in list:
			hbox = gtk.HBox()
			self.vbox.add(hbox)
			#self.vbox.pack_start(hbox, False, False, 0)
			hbox.show()

			label = gtk.Label(item[0])
			hbox.pack_start(label, False)
			label.set_size_request(50, -1)
			label.show()

			button = gtk.Button(item[1])
			button.connect("clicked", self.select_chaine, item)
			hbox.add(button)
			button.show()
		self.window.show()
	def main(self):
		gtk.main()

if __name__ == "__main__":
	tv = FreeTV()
	tv.main()


