Check-in [4419f22d5d]
Overview
| Comment: | vTuner: minor fix from stream_update regex |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
4419f22d5db4e6ef82f45ea38c368c62 |
| User & Date: | mario on 2019-07-15 14:38:25 |
| Other Links: | manifest | tags |
Context
|
2019-07-15
| ||
| 14:38 | Add status messages for HTTP error responses check-in: c4b52b30d4 user: mario tags: trunk | |
| 14:38 | vTuner: minor fix from stream_update regex check-in: 4419f22d5d user: mario tags: trunk | |
|
2019-06-14
| ||
| 18:25 | streema: fix url regex (now alphanumeric titles) and urn_resolve patterns for new player layout check-in: fac6bc374a user: mario tags: trunk | |
Changes
Modified contrib/vtuner.py from [feab3a3374] to [999b1f5e71].
1 2 3 4 5 | # encoding: UTF-8 # api: streamtuner2 # title: vTuner # url: http://vtuner.com/ # description: Huge station list by music service provider | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 |
# encoding: UTF-8
# api: streamtuner2
# title: vTuner
# url: http://vtuner.com/
# description: Huge station list by music service provider
# version: 0.5
# type: channel
# category: radio
# config:
# { name: vtuner_pages, value: 1, type: int, description: "Number of pages to fetch." }
# { name: vtuner_order, value: POP, type: select, select: "POP=Popularity|AA=Alphabetically|HBR=Quality|RELI=Uptime|OP=Country", description: "Station sorting order." }
# priority: contrib
# png:
|
| ︙ | ︙ | |||
84 85 86 87 88 89 90 |
# cancel page scan if no further result links
if not re.search(r"""<A HREF="[^>]+&iCurrPage=%s">""" % (i + 1), html, re.I):
log.DATA("No further results at page %s" % i)
break
# crude <tr> extraction
rx_radio = re.compile(r"""
| | | 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# cancel page scan if no further result links
if not re.search(r"""<A HREF="[^>]+&iCurrPage=%s">""" % (i + 1), html, re.I):
log.DATA("No further results at page %s" % i)
break
# crude <tr> extraction
rx_radio = re.compile(r"""
<a\s+href="\.\./\w+/dynampls.asp\?id=(\d+)&k=\w+">([^<>]+)</a>
.+? "middle">([^<>]+)</td>
.+? Category.+?>([^<>]+)</td>
.+? <td.+?>(\w+) (\d+)K</td>
""", re.X|re.S|re.I)
# assemble
for uu in rx_radio.findall(html):
|
| ︙ | ︙ |