1
2
3
4
5
6
7
8
9
10
11
12
13
|
# encoding: UTF-8
# api: streamtuner2
# title: Delicast
# description: directory of streaming media
# url: http://delicast.com/
# version: 0.4
# type: channel
# category: radio
# config: -
# png:
# iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAA
# AmJLR0QA/4ePzL8AAAAHdElNRQffBB4UJAsX77G0AAAANUlEQVQY02OwQwMMdv/BAEUASCFEoAIIEZIEIGYjBCAUwpb/6O5ACEABGQJ2cFsQIlB3oAEA6iVo+vl+BbQA
# AAAldEVYdGRhdGU6Y3JlYXRlADIwMTUtMDQtMzBUMjI6MzY6MDMrMDI6MDAFLUvfAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE1LTA0LTMwVDIyOjM2OjAzKzAyOjAwdHDz
|
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# encoding: UTF-8
# api: streamtuner2
# title: Delicast
# description: directory of streaming media
# url: http://delicast.com/
# version: 0.5
# type: channel
# category: radio
# config: -
# png:
# iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAA
# AmJLR0QA/4ePzL8AAAAHdElNRQffBB4UJAsX77G0AAAANUlEQVQY02OwQwMMdv/BAEUASCFEoAIIEZIEIGYjBCAUwpb/6O5ACEABGQJ2cFsQIlB3oAEA6iVo+vl+BbQA
# AAAldEVYdGRhdGU6Y3JlYXRlADIwMTUtMDQtMzBUMjI6MzY6MDMrMDI6MDAFLUvfAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE1LTA0LTMwVDIyOjM2OjAzKzAyOjAwdHDz
|
83
84
85
86
87
88
89
90
91
92
|
# Update `url` on station data access (incurs a delay for playing or recording)
def resolve_urn(self, row):
if row.get("url").startswith("urn:delicast"):
html = ahttp.get(row["homepage"])
ls = re.findall("^var url = \"(.+)\";", html, re.M)
row["url"] = ls[0]
return row
|
>
|
>
>
|
83
84
85
86
87
88
89
90
91
92
93
94
95
|
# Update `url` on station data access (incurs a delay for playing or recording)
def resolve_urn(self, row):
if row.get("url").startswith("urn:delicast"):
html = ahttp.get(row["homepage"])
ls = re.findall("^var url = \"(.+)\";", html, re.M)
if ls:
row["url"] = unhtml(ls[0])
else:
log.ERR("No stream found on %s" % row["homepage"])
return row
|