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 |
︙ | ︙ |