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 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""" for channel, url in re.findall("<videoUnit name=\"([^\"]*)\".*>.*\\n.*<url>(\S*)</url>", xmlfile): url = re.sub(r"&", "&", url) self.channels.append( (channel,url) ) 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 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) return mms def getChannelList(self): return self.channels