Check-in [6bfe67e367]
Overview
| Comment: | Crude fix for new station lookup. Regex still has horrible backtracking. (Should use resolve_urn rather than rnjs playlist workaround.) |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
6bfe67e3678c7e9260855c18a993f59e |
| User & Date: | mario on 2019-03-24 10:25:47 |
| Other Links: | manifest | tags |
Context
|
2019-03-24
| ||
| 11:50 |
Switched radionet plugin to resolve_urn() and speedier -grep loop.
check-in: 9688154862 user: mario tags: trunk
| |
| 10:25 | Crude fix for new station lookup. Regex still has horrible backtracking. (Should use resolve_urn rather than rnjs playlist workaround.) check-in: 6bfe67e367 user: mario tags: trunk | |
|
2019-02-06
| ||
| 21:16 | Switch to XDG_CACHE_HOME/.cache (because that's what the cache files are, not really user data). More consistently use new storage path throughout core and plugins (favicon+cachereset). check-in: 2ee52fe7e8 user: mario tags: trunk | |
Changes
Modified contrib/radionet.py from [460ab10c07] to [632ecf0169].
1 2 3 4 5 | # encoding: UTF-8 # api: streamtuner2 # title: radio.net # description: Europe's biggest radio platform # url: http://radio.net/ | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | # encoding: UTF-8 # api: streamtuner2 # title: radio.net # description: Europe's biggest radio platform # url: http://radio.net/ # version: 0.7 # type: channel # category: radio # png: # iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAt0lEQVR42mNgYGD4r+Ar/F/BDwkD+SBxojBMs1mLPBArgGlFqEEENYMNQNLsukIDYkirAvGu # ABsA1OC6XOP/5f8nwIaYAg0k2gBFsAsgTgcZkvnfDugFEeK9AFKsCPMG0CU6eZJgQ4R1eP8H7LLEivWyFJANQcQCLPBAmkGG4MJohmA6C6QA5gI5OxEUDNII # MwSvASBFIA3ociCxkWQAKMDICkSQIpgh2LDnSmP80YhsCFEJiRIMADpmeUOpqgjRAAAAAElFTkSuQmCC # priority: optional |
| ︙ | ︙ | |||
65 66 67 68 69 70 71 |
has_search = False
audioformat = "audio/mpeg"
listformat = "rnjs"
titles = dict(listeners=False, playing="Description")
# sources
apiPrefix = "https://api.radio.net/info/v2"
| | > > | | | | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 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 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
has_search = False
audioformat = "audio/mpeg"
listformat = "rnjs"
titles = dict(listeners=False, playing="Description")
# sources
apiPrefix = "https://api.radio.net/info/v2"
genre_url = "http://www.radio.net/genre/{}"
apiKey = None
# Retrieve cat list and map
def update_categories(self):
html = ahttp.get("http://www.radio.net/")
self.set_key(html)
ls = re.findall("""<li><a class="language-info".*?>([\w\s']+)</a>""", html)
self.categories = [i for i in ls][0:-18]
# Fetch entries
def update_streams(self, cat, search=None):
# category page, get key
html = ahttp.get(self.genre_url.format(cat))
for p in range(2, 4):
if html.find('"?p={}">'.format(p)) >= 0:
html += ahttp.get(self.genre_url.format(cat) + "?p={}".format(p))
self.set_key(html)
log.HTML(html)
r = []
# split station blocks
for row in re.split("""<div class="stationinfo""", html)[1:]:
# extract text fields
d = re.findall("""
<a\s+href="(?:https?:)?(//(?:[\w-]+)\.radio\.net/s/([^"]+)/?)" .*?
<img[^>]+ src="([^<">]+)" .*?
<strong[^>]*>(.*?)</strong> .*?
<small[^>]*>\s*(.*?)\s*</small> .*?
""", row, re.X|re.S)
# refurbish extracted strings
if d and len(d) and len(d[0]) == 5:
href, name, img, title, desc = d[0]
r.append(dict(
name = name,
genre = cat,
title = unhtml(title),
playing = unhtml(desc),
url = "http:{}".format(href), #self._url(name),
homepage = "http:{}".format(href),
img = img,
));
return r
# Patch together JSON station info URL
|
| ︙ | ︙ |