1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 | # encoding: UTF-8
# api: streamtuner2
# title: TuneIn
# description: Online Radio, Broadcasts, Podcasts per RadioTime API
# version: 0.2
# type: channel
# category: radio
# url: http://tunein.com/
# config:
# { name: radiotime_group, value: music, type: select, select: music|genres, description: Catalogue type as categories. (→ Reload Category Tree) }
# priority: optional
# png:
# iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAbpJREFUOI2Nkk9PE1EUxc+ZuTMIaP+KqClxx4dA0jRVgwFM/JPIRv0CunDnxsQ1G4NGvgD7LkiExG5IDHFhDDEmblwRQJG2AVuwMNOZd91QAuUR
# e1bvnnfeLzf3PsKioq6Dtf25xsq3Kdf3gkxh9OUis29tWcdm9iPxuvHl62MNQz/a+3uhVl56M647d7sGHOxU8hpFR7Uag9+l+UddAySdWuv0soWR710DXOj93mtDWxQBRTBwq7AcZfte2bK0mQCQ11X0I5lzEW2858BZMXBkZWkGqk8Atk7c
# mBhqVCWV2E0MDz9dYLo8ptWbwdrP2aC6nSYhIOck2PiVdDwvfXxox9WqVAcPVtc/jOkm68uf56M/9T4AoAhMq5V06NCc2d+hNAzhwBttPz5q36FxchOT0xT5HwMEvRO1CHITk9MEgHHdfED4z4La9nmQqiY2dNywHY6b++d6h65OhVvVElw3
# 7rmY2VOE7xZ5pWTdwh2t52NEzwEeQtgTIXhR5uUfnVlr783m7vXGx0/32oOlCC7dLs4COAWwfiTH9+PTrrFnbWan6LkA/HLXAFckaJ+9bKYyeKP4cIEpK/wffVOh5FvT8j8AAAAASUVORK5CYII=
# documentation: http://opml.radiotime.com/
# |
|
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 | # encoding: UTF-8
# api: streamtuner2
# title: TuneIn
# description: Online Radio, Broadcasts, Podcasts per RadioTime API
# version: 0.2
# type: channel
# category: radio
# url: http://tunein.com/
# config:
# { name: radiotime_group, value: music, type: select, select: music|genres, description: Catalogue type as categories. (→ Reload Category Tree) }
# priority: default
# png:
# iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAbpJREFUOI2Nkk9PE1EUxc+ZuTMIaP+KqClxx4dA0jRVgwFM/JPIRv0CunDnxsQ1G4NGvgD7LkiExG5IDHFhDDEmblwRQJG2AVuwMNOZd91QAuUR
# e1bvnnfeLzf3PsKioq6Dtf25xsq3Kdf3gkxh9OUis29tWcdm9iPxuvHl62MNQz/a+3uhVl56M647d7sGHOxU8hpFR7Uag9+l+UddAySdWuv0soWR710DXOj93mtDWxQBRTBwq7AcZfte2bK0mQCQ11X0I5lzEW2858BZMXBkZWkGqk8Atk7c
# mBhqVCWV2E0MDz9dYLo8ptWbwdrP2aC6nSYhIOck2PiVdDwvfXxox9WqVAcPVtc/jOkm68uf56M/9T4AoAhMq5V06NCc2d+hNAzhwBttPz5q36FxchOT0xT5HwMEvRO1CHITk9MEgHHdfED4z4La9nmQqiY2dNywHY6b++d6h65OhVvVElw3
# 7rmY2VOE7xZ5pWTdwh2t52NEzwEeQtgTIXhR5uUfnVlr783m7vXGx0/32oOlCC7dLs4COAWwfiTH9+PTrrFnbWan6LkA/HLXAFckaJ+9bKYyeKP4cIEpK/wffVOh5FvT8j8AAAAASUVORK5CYII=
# documentation: http://opml.radiotime.com/
# |
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84 | r = []
# catmap only set for genres, not for category groups like "local"
if search:
url = "Search.ashx?query=%s&formats=ogg,aac,mp3" % urlencode(search)
elif cat in self.catmap and cat != "local":
url = "Browse.ashx?id=%s" % self.catmap[cat]
else:
url = "Browse.ashx&c=%s" % cat
# fetch
for row in self.api(url):
__print__(row)
if "URL" in row and "bitrate" in row and "subtext" in row:
r.append({
"genre": "radio",
"title": row["text"],
"url": row["URL"],
"bitrate": int(row.get("bitrate", 0)),
"playing": row.get("subtext", ""), |
|
<
| 67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83 | r = []
# catmap only set for genres, not for category groups like "local"
if search:
url = "Search.ashx?query=%s&formats=ogg,aac,mp3" % urlencode(search)
elif cat in self.catmap and cat != "local":
url = "Browse.ashx?id=%s" % self.catmap[cat]
else:
url = "Browse.ashx?c=%s" % cat
# fetch
for row in self.api(url):
if "URL" in row and "bitrate" in row and "subtext" in row:
r.append({
"genre": "radio",
"title": row["text"],
"url": row["URL"],
"bitrate": int(row.get("bitrate", 0)),
"playing": row.get("subtext", ""), |