viewgit/index.php:465 Only variables should be passed by reference [2048]
viewgit/index.php:466 Non-static method GeSHi::get_language_name_from_extension() should not be called statically [2048]
# # -*- coding: utf-8 -*- # # Scarica la lista di URI per vedere i canali rai # import urllib2, re, httplib from xml.dom.minidom import parseString class ChannelList(): def __init__(self, liststore): ## Inizializzo un dizionario di canali self.channels = liststore self.UA = 'Mozilla/5.0 (X11; U; Linux i686; it; rv:1.9.0.6) Gecko/2009011912 Firefox/3.0.11' def updateChannels(self): ## Qui dobbiamo un pochino imbrogliare..ehm ehm req = urllib2.Request("http://www.rai.tv/dl/RaiTV/videoWall/PublishingBlock-5566288c-3d21-48dc-b3e2-af7fbe3b2af8.xml", None, { 'User-Agent': self.UA }) r = urllib2.urlopen(req) self.parseChannels(r.read()) def parseChannels(self, xmlfile): """Fai il parse dei canali scaricati dalla rai""" dom = parseString(xmlfile) channels = dom.getElementsByTagName("set") for c in channels: ## Recupero il nome del canale name = c.getElementsByTagName("item")[0].getAttribute("name") ## Recupero l'url videounit = c.getElementsByTagName("videoUnit") url_array = [] for vu in videounit: url = vu.getElementsByTagName("url")[0] if url.childNodes is not []: url_array.append(url.childNodes[0].data) if url_array is not []: self.channels.append((name, url_array[0])) def getChannel(self, channel): """Ottiene il vero canale da cui guardare.. :)""" ## Scorriamo la lista per trovare il canale desiderato # it = self.channels.get_iter_first() if it is None: return None ## Qui c'è poco da fare, la lista è vuota ## Devo trovare l'URL associato a channel while it is not None: chan, url = self.channels.get(it, 0) if chan is channel: break else: ## Incremento it = self.channels.iter_next(it) return self.urlToMms(url) def getChannelFromPath(self, path): """Ottiene l'URL dello streaming puntato da path nella liststore""" ## Ottengo l'URL it = self.channels.get_iter(path) url = self.channels.get_value(it, 1) return self.urlToMms(url) def getChannelFromIter(self, it): url = self.channels.get_value(it, 1) return self.urlToMms(url) def urlToMms(self, url): """Converte un URL nello streaming MMS""" req = urllib2.Request(url, None, {'User-Agent': self.UA}) r = urllib2.urlopen(req) mms = r.read() mms = re.search(r"HREF=\"(\S*)\"", mms).group(1) print "mms url // " + mms return mms def getChannelList(self): return self.channels