Check-in [4ebb6babed]
Overview
| Comment: | Adapt GenericChannel to use state icon for multi-URL stations. Fix RadioSure slightly to use spaces instead of TABs for `url` lists. |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
4ebb6babed509b779025de89a9405466 |
| User & Date: | mario on 2016-11-11 22:58:00 |
| Other Links: | manifest | tags |
Context
|
2016-11-13
| ||
| 13:23 | action: optionalize quoting for BSD/Linux if plain http:// url without special chars. And fix regex to properly caret-escape + quote for Windows. check-in: 52f8cb3961 user: mario tags: trunk | |
|
2016-11-11
| ||
| 22:58 | Adapt GenericChannel to use state icon for multi-URL stations. Fix RadioSure slightly to use spaces instead of TABs for `url` lists. check-in: 4ebb6babed user: mario tags: trunk | |
| 22:24 | dirble: Fix unexpected Null/None for content_type and bitrate stream[] values. check-in: 6c6c870008 user: mario tags: trunk | |
Changes
Modified channels/__init__.py from [a62aaaa5c0] to [55add89636].
| ︙ | ︙ | |||
402 403 404 405 406 407 408 409 410 411 412 413 414 415 |
def prepare_filter_icons(self, row):
if conf.show_bookmarks:
# and "bookmarks" in self.parent.channels:
row["favourite"] = self.parent.bookmarks.is_in(row.get("url", "file:///tmp/none"))
# this should really go into bookmarks plugin itself,
# disadvantage: would decelerate processing loop further
if not row.get("state"):
if row.get("favourite"):
row["state"] = gtk.STOCK_ABOUT
if row.get("deleted"):
row["state"] = gtk.STOCK_DELETE
# Stream list cleanup - invoked directly after reload(),
| > > | 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 |
def prepare_filter_icons(self, row):
if conf.show_bookmarks:
# and "bookmarks" in self.parent.channels:
row["favourite"] = self.parent.bookmarks.is_in(row.get("url", "file:///tmp/none"))
# this should really go into bookmarks plugin itself,
# disadvantage: would decelerate processing loop further
if not row.get("state"):
if row.get("url", "").find(" ") > 0:
row["state"] = gtk.STOCK_UNINDENT
if row.get("favourite"):
row["state"] = gtk.STOCK_ABOUT
if row.get("deleted"):
row["state"] = gtk.STOCK_DELETE
# Stream list cleanup - invoked directly after reload(),
|
| ︙ | ︙ |
Modified contrib/radiosure.py from [5396599cac] to [e1d926fd86].
1 2 3 4 | # encoding: UTF-8 # api: streamtuner2 # title: RadioSure # description: Huge radio station collection | | | 1 2 3 4 5 6 7 8 9 10 11 12 | # encoding: UTF-8 # api: streamtuner2 # title: RadioSure # description: Huge radio station collection # version: 0.5 # type: channel # category: radio # url: http://radiosure.com/ # config: - # priority: extra # png: # iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAADFBMVEULDgpKTEmQko/19/S0inLcAAAAUklEQVQI12P4DwQMDvuBBIs92zcGHh2G |
| ︙ | ︙ | |||
82 83 84 85 86 87 88 |
with open(self.tmp, "wb") as f:
f.write(ahttp.get(self.zip, binary=1))
# get first file
zip = zipfile.ZipFile(self.tmp)
csv = zip.read(zip.namelist()[0])
self.status("Updating streams from RadioSure CSV database")
# fields = ["title", "playing", "genre", "country", "language", "url"]
| | | | 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
with open(self.tmp, "wb") as f:
f.write(ahttp.get(self.zip, binary=1))
# get first file
zip = zipfile.ZipFile(self.tmp)
csv = zip.read(zip.namelist()[0])
self.status("Updating streams from RadioSure CSV database")
# fields = ["title", "playing", "genre", "country", "language", "url"]
for e in re.findall(r"^([^\t]+)\t([^\t]+)\t([^\t]+)\t([^\t]+)\t([^\t]+)\t([^\t]+(?:\t[^\t\n]{3,})*)", csv, re.M):
if cat == e[2]:
streams.append(dict(
title = e[0],
playing = e[1],
genre = e[2],
country = e[3],
language = e[4],
url = e[5].replace("\t", " ")#...
))
return streams
|