Check-in [cbd84b656f]
Overview
| Comment: | `timedout` and `description` are seemingly gone from the API responses. |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
cbd84b656f88b32fde71fffb6b8e100b |
| User & Date: | mario on 2015-05-15 17:55:37 |
| Other Links: | manifest | tags |
Context
|
2015-05-15
| ||
| 17:58 | Add ahttp.fix_url() for dirble `website` addresses. check-in: 96d86cc203 user: mario tags: trunk | |
| 17:55 | `timedout` and `description` are seemingly gone from the API responses. check-in: cbd84b656f user: mario tags: trunk | |
| 17:49 | Add `filter_bitrate` to default pack: list. check-in: 9a5cee5ac7 user: mario tags: trunk | |
Changes
Modified channels/dirble.py from [8581a994c5] to [d2166f415b].
1 2 3 4 5 | # encoding: UTF-8 # api: streamtuner2 # title: Dirble # description: Song history tracker for Internet radio stations. # url: http://dirble.com/ | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# encoding: UTF-8
# api: streamtuner2
# title: Dirble
# description: Song history tracker for Internet radio stations.
# url: http://dirble.com/
# version: 2.1
# type: channel
# category: radio
# config:
# { name: dirble_api_key, value: "", type: text, description: Alternative API access key., hidden: 1 }
# png:
# iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAACP0lE
# QVQokVVSO0+UURA9M/d+jyWbBVcQFSQhPqJSYBRFA5pVoFGURApjYYWtvYUNP8FKOwsttDFq
# jMTEWEiDD0wETNSIxJC46yqEsCz7ve4di28hOO2cMzNnzqH+azcBACAiAgQg1EsAQESwCYBA
# pwCxNowjI1v7YGLH0Y5iSQFhJEprYjZxtG13+/lCb2dOWxBBABiTrJSLkx8+z/xa0yRutml4
# sC9X+qqJyFqTzTcPDfTup2p5NSTFSintOFmvZ7iv687Dl8/ezufaGgcHT2enKjpdbxMbRcnr
# x09uT36JfJ9FWLtnCoWxkRM3Ris/F//Mlpce3LtvSsW6BhAxs5VgtVqtxUaJQCqPnr4ItXfr
|
| ︙ | ︙ | |||
83 84 85 86 87 88 89 90 91 92 93 94 |
def unpack(self, r):
# find stream (might select on `bitrate` or `format` if available)
if len(r.get("streams", [])):
s = r["streams"][0]
else:
return {}
# rename fields
return dict(
genre = " ".join(c["slug"] for c in r["categories"]),
title = r["name"],
| > | | | 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 |
def unpack(self, r):
# find stream (might select on `bitrate` or `format` if available)
if len(r.get("streams", [])):
s = r["streams"][0]
else:
return {}
print r
# rename fields
return dict(
genre = " ".join(c["slug"] for c in r["categories"]),
title = r["name"],
playing = "{} {}".format(r.get("country"), r.get("description")),
homepage = r["website"],
url = s["stream"],
format = s["content_type"],
bitrate = s["bitrate"],
# img = r["image"]["image"]["thumb"]["url"], # CDN HTTPS trip up requests.get
state = self.state_map[int(s["status"])] if s["status"] in [0,1,2] else "",
deleted = s.get("timedout", False),
)
state_map = ["gtk-media-pause", "gtk-media-next", "gtk-media-rewind"]
# Patch API url together, send request, decode JSON list
def api(self, method, **params):
|
| ︙ | ︙ |