Check-in [af2c52cdca]
Overview
Comment: | Refetch ZIP/CSV only once per day, and extract each category from CSV separately. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
af2c52cdcad972162c3b551121545c4f |
User & Date: | mario on 2016-04-11 00:55:19 |
Other Links: | manifest | tags |
Context
2016-04-11
| ||
00:55 | fix comment check-in: 65905824a7 user: mario tags: trunk | |
00:55 | Refetch ZIP/CSV only once per day, and extract each category from CSV separately. check-in: af2c52cdca user: mario tags: trunk | |
00:54 | Update UbuntuUsers wiki raw export URLs. check-in: 69a40e6b71 user: mario tags: trunk | |
Changes
Modified contrib/radiosure.py from [3b8ff7fe4d] to [c4096229db].
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 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # encoding: UTF-8 # api: streamtuner2 # title: RadioSure # description: Huge radio station collection # version: 0.3 # type: channel # category: radio # url: http://radiosure.com/ # config: - # priority: extra # png: # iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAADFBMVEULDgpKTEmQko/19/S0inLcAAAAUklEQVQI12P4DwQMDvuBBIs92zcGHh2G # BQw+FvUPGDwq/n9gaPoj/5DB6b/TQwaH/18uMrjs/yPI4FP2R4kh1vBHPUO8SsAnBn8P9ocMYFNABADRrSa61FmXoAAAAABJRU5ErkJggg== # # RadioSure is a Windows freeware/shareware for playing internet # stations. It comes with a huge database of streams. # # Fetches and keeps the ZIP/CSV database at maximum once per day. # (Not updated more frequently.) from config import * from channels import * import re import ahttp import zipfile |
︙ | ︙ | |||
73 74 75 76 77 78 79 80 | # categories are derived from the station list def update_categories(self): #self.categories = sorted(self.streams.keys()) pass # import station list def update_streams(self, cat, search=None): # refresh zip file | > | | | < < | | | | | | | | | | | < < < < | 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 | # categories are derived from the station list def update_categories(self): #self.categories = sorted(self.streams.keys()) pass # import station list def update_streams(self, cat, search=None): streams = [] # refresh zip file if not os.path.isfile(self.tmp) or os.path.getmtime(self.tmp) < (time.time() - 24*3600): with open(self.tmp, "w") 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("^([^\t]+)\t([^\t]+)\t([^\t]+)\t([^\t]+)\t([^\t]+)\t([^\t]+(?:\t[^\t]{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]#... )) return streams |