ADDED contrib/delicast.py Index: contrib/delicast.py ================================================================== --- contrib/delicast.py +++ contrib/delicast.py @@ -0,0 +1,83 @@ +# encoding: UTF-8 +# api: streamtuner2 +# title: Delicast +# description: directory of streaming media +# url: http://delicast.com/ +# version: 0.1 +# type: channel +# category: radio +# config: - +# png: +# priority: rare +# +# Just a standard genre/country radio directory. Not very +# suitable for extraction actually, because it requires a +# second page request for uncovering the streaming URLs. +# +# This is done in row(), so only happens on playback. Which +# of course won't allow for exporting/bookmarking etc. +# And the server is somewhat unresponsive at times. Only one +# page (50 stations) is fetched. + + +import re +from config import * +from channels import * +import ahttp + + +# Delayed streaming URL discovery +class delicast (ChannelPlugin): + + # control flags + has_search = False + listformat = "srv" + audioformat = "mp3" + titles = dict(listeners=False, bitrate=False, playing="Location") + base = "http://delicast.com/" + categories = ["60s", "70s", "80s", "90s", "Alternative", "Blues", "Chillout", "Christian", "Classical", "Community", "Country", "Culture", "Dance", "Disco", "Easy listening", "Electronic", "Folk", "Funk", "Gospel", "Hiphop", "House Indie", "Information", "Jazz", "Latin", "Lounge", "Love", "Metal", "Oldies", "Pop", "R n b", "Reggae", "Rock", "Romantic", "Soul", "Sports", "Student", "Talk", "Techno", "Trance", "Urban", "World music"] + + + # static + def update_categories(self): + pass + + + # Fetch entries + def update_streams(self, cat, search=None): + + ucat = re.sub("\W+", "-", cat.lower()) + html = ahttp.get("http://delicast.com/radio/" + ucat) + + r = [] + for tr in html.split("