Check-in [26d85bbcf7]
Overview
Comment: | Configurable number of maximum result pages for RadioTime API. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
26d85bbcf7fdca1e28c97fda8f2d84b2 |
User & Date: | mario on 2015-12-26 00:52:21 |
Other Links: | manifest | tags |
Context
2016-04-04
| ||
23:24 | new vTuner plugin check-in: 9e0ac4efec user: mario tags: trunk | |
2015-12-26
| ||
00:52 | Configurable number of maximum result pages for RadioTime API. check-in: 26d85bbcf7 user: mario tags: trunk | |
00:44 | Support multiple page requests (needs rework). check-in: 0da57ffc3f user: mario tags: trunk | |
Changes
Modified channels/tunein.py from [8c2aceee6b] to [19252f8edf].
1 2 3 4 | # encoding: UTF-8 # api: streamtuner2 # title: TuneIn # description: Online Radio, Broadcasts, Podcasts per RadioTime API | | > | 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.3 # 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) } # { name: radiotime_maxpages, value: 10, type: int, description: Maximum number of pages. } # 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/ |
︙ | ︙ | |||
80 81 82 83 84 85 86 | "playing": row.get("subtext", ""), "favicon": row.get("image", None), }) return r # Fetch OPML, convert outline elements to dicts | | > > > > | > | | | | | | | | < | | | | 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | "playing": row.get("subtext", ""), "favicon": row.get("image", None), }) return r # Fetch OPML, convert outline elements to dicts def api(self, method): r = [] # fetch API page next = self.base + method max = int(conf.radiotime_maxpages) while next: opml = ahttp.get(next) next = None x = ElementTree.fromstring(opml) # append entries for outline in x.findall(".//outline"): outline = dict(outline.items()) # additional pages if "key" in outline and outline["key"] == "nextStations": if len(r) < conf.max_streams and max > 0: next = outline["URL"] max = max - 1 else: r.append(outline) return r |