def __builditem(self, station): statbr = station['bitrate'] try: statbr_int = int(statbr) except: statbr = "0" stationitem = AudioItem(station['listen_url'], self, station['name'], False) stationitem.player = 'mplayer' stationitem.reconect = True stationitem.network_play = True if station['listen_url'].find('.',-6) == -1 and station['audiotype'] == 'MP3': stationitem.is_playlist = True else: stationitem.is_playlist = False stationitem.is_playlist = False if station['audiotype'][:3] == 'AAC': stationitem.mplayer_options = '-demuxer aac' elif station['audiotype'] == 'OGG': stationitem.mplayer_options = '-demuxer ogg' #else: #stationitem.mplayer_options = '-demuxer audio' stationitem.bitrate = int(statbr) stationitem.length = 0 stationitem.remain = 0 stationitem.info = { 'title':station['name'], 'description':'%s - %skbs - %s' % (station['audiotype'], statbr, " ".join(station['genres'].keys())) } return stationitem
def generate_station_list(self, arg=None, menuw=None): """ Generates the Station List """ stationlist = [] pop = ProgressBox(text=_('Fetching station list for %s') % arg, full=2) pop.show() xmlfile = self.retrievexml(arg) pop.tick() if xmlfile == None: stationlist = [ menu.MenuItem(_('Error retrieving stations'), action=menuw.back_one_menu, arg=None) ] else: try: parser = make_parser() parseStationXML = StationParser() parser.setContentHandler(parseStationXML) parser.parse(xmlfile) for station in parseStationXML.stationlist: statid = urllib2.quote(station["id"]) statname = station["name"] statbr = station["br"] statct = station['ct'] if int(statbr) >= self.min_bitrate and ( self.max_bitrate == 0 or int(statbr) <= self.max_bitrate): stationitem = AudioItem( 'http://www.shoutcast.com%s?id=%s' % (parseStationXML.tunein, statid), self, statname, False) stationitem.player = 'mplayer' stationitem.reconect = True stationitem.network_play = True stationitem.is_playlist = True stationitem.bitrate = int(statbr) stationitem.length = 0 stationitem.remain = 0 stationitem.info = { 'title': statname, 'description': '%s - %skbs' % (station['genre'], statbr) } stationlist.append(stationitem) stationlist.sort(key=self.stationsortkey) except: stationlist = [ menu.MenuItem(_('Error retrieving stationlist'), action=menuw.back_one_menu, arg=None) ] stationmenu = menu.Menu(arg, stationlist, item_types='audio') menuw.pushmenu(stationmenu) menuw.refresh() pop.destroy()
def __builditem(self, station): statbr = station['bitrate'] try: statbr_int = int(statbr) except: statbr = "0" stationitem = AudioItem(station['listen_url'], self, station['name'], False) stationitem.player = 'mplayer' stationitem.reconect = True stationitem.network_play = True if station['listen_url'].find( '.', -6) == -1 and station['audiotype'] == 'MP3': stationitem.is_playlist = True else: stationitem.is_playlist = False stationitem.is_playlist = False if station['audiotype'][:3] == 'AAC': stationitem.mplayer_options = '-demuxer aac' elif station['audiotype'] == 'OGG': stationitem.mplayer_options = '-demuxer ogg' #else: #stationitem.mplayer_options = '-demuxer audio' stationitem.bitrate = int(statbr) stationitem.length = 0 stationitem.remain = 0 stationitem.info = { 'title': station['name'], 'description': '%s - %skbs - %s' % (station['audiotype'], statbr, " ".join(station['genres'].keys())) } return stationitem
def generate_station_list(self, arg=None, menuw=None): """ Generates the Station List """ stationlist = [] pop = ProgressBox(text = _('Fetching station list for %s') % arg, full = 2) pop.show() xmlfile = self.retrievexml(arg) pop.tick() if xmlfile == None: stationlist = [ menu.MenuItem( _('Error retrieving stations'), action = menuw.back_one_menu, arg = None) ] else: try: parser = make_parser() parseStationXML = StationParser() parser.setContentHandler(parseStationXML) parser.parse(xmlfile) for station in parseStationXML.stationlist: statid = urllib2.quote(station["id"]) statname = station["name"] statbr = station["br"] statct = station['ct'] if int(statbr) >= self.min_bitrate and (self.max_bitrate == 0 or int(statbr) <= self.max_bitrate): stationitem = AudioItem('http://www.shoutcast.com%s?id=%s' % (parseStationXML.tunein, statid), self, statname, False) stationitem.player = 'mplayer' stationitem.reconect = True stationitem.network_play = True stationitem.is_playlist = True stationitem.bitrate = int(statbr) stationitem.length = 0 stationitem.remain = 0 stationitem.info = {'title':statname, 'description':'%s - %skbs' % (station['genre'], statbr) } stationlist.append(stationitem) stationlist.sort(key = self.stationsortkey) except: stationlist = [ menu.MenuItem( _('Error retrieving stationlist'), action = menuw.back_one_menu, arg = None) ] stationmenu = menu.Menu( arg, stationlist, item_types = 'audio' ) menuw.pushmenu(stationmenu) menuw.refresh() pop.destroy()