diff --git a/trunk/0001-plugins.twitch-Update-for-API-change.patch b/trunk/0001-plugins.twitch-Update-for-API-change.patch new file mode 100644 index 0000000000..f2ad9fac47 --- /dev/null +++ b/trunk/0001-plugins.twitch-Update-for-API-change.patch @@ -0,0 +1,57 @@ +From bbc6d0e7c1a8b6bf053345e88366cae115baa2d3 Mon Sep 17 00:00:00 2001 +From: Christopher Rosell +Date: Fri, 12 Dec 2014 00:14:43 +0100 +Subject: [PATCH] plugins.twitch: Update for API change. + +Resolves #633. +--- + src/livestreamer/plugins/twitch.py | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +diff --git a/src/livestreamer/plugins/twitch.py b/src/livestreamer/plugins/twitch.py +index ca0d2bd..0adc872 100644 +--- a/src/livestreamer/plugins/twitch.py ++++ b/src/livestreamer/plugins/twitch.py +@@ -125,8 +125,8 @@ def time_to_offset(t): + + + class UsherService(object): +- def _create_url(self, endpoint, asset, **extra_params): +- url = "http://usher.twitch.tv/{0}/{1}".format(endpoint, asset) ++ def _create_url(self, endpoint, **extra_params): ++ url = "http://usher.twitch.tv{0}".format(endpoint) + params = { + "player": "twitchweb", + "p": int(random() * 999999), +@@ -145,11 +145,12 @@ class UsherService(object): + + return req.url + +- def select(self, channel, **extra_params): +- return self._create_url("select", channel, **extra_params) ++ def channel(self, channel, **extra_params): ++ return self._create_url("/api/channel/hls/{0}.m3u8".format(channel), ++ **extra_params) + +- def vod(self, vod_id, **extra_params): +- return self._create_url("vod", vod_id, **extra_params) ++ def video(self, video_id, **extra_params): ++ return self._create_url("/vod/{0}".format(video_id), **extra_params) + + + class TwitchAPI(object): +@@ -417,9 +418,9 @@ class Twitch(Plugin): + self._authenticate() + sig, token = self._access_token(type) + if type == "live": +- url = self.usher.select(self.channel, nauthsig=sig, nauth=token) ++ url = self.usher.channel(self.channel, sig=sig, token=token) + elif type == "video": +- url = self.usher.vod(self.video_id, nauthsig=sig, nauth=token) ++ url = self.usher.video(self.video_id, nauthsig=sig, nauth=token) + + try: + streams = HLSStream.parse_variant_playlist(self.session, url) +-- +2.1.3 + diff --git a/trunk/PKGBUILD b/trunk/PKGBUILD index b86c85d8e4..1f789e587a 100644 --- a/trunk/PKGBUILD +++ b/trunk/PKGBUILD @@ -2,7 +2,7 @@ # Maintainer: Daniel Wallace # Contributor: Christopher Rosell pkgname=livestreamer -pkgver=1.10.2 +pkgver=1.11.0 pkgrel=1 pkgdesc='CLI program that launches streams from various streaming services in a custom video player' arch=('any') @@ -13,8 +13,15 @@ makedepends=('python-sphinx') provides=('livestreamer') conflicts=('livestreamer-git') options=(!emptydirs) -source=(http://pypi.python.org/packages/source/l/$pkgname/$pkgname-$pkgver.tar.gz) -sha256sums=('50bae61fe2a1ec1df215a825b62ebba508a31d7d54ecb332586feb968d137391') +source=(https://pypi.python.org/packages/source/l/$pkgname/$pkgname-$pkgver.tar.gz + 0001-plugins.twitch-Update-for-API-change.patch) +sha256sums=('5af677ec93ebce229ac235ea6c23aec915deb4aacc8bdb8418c8488fbdd96920' + '2dd33dca00befedb0754700c3aeb7921361b2c87c78eb55de397c18376d94952') + +prepare() { + cd "$srcdir/$pkgname-$pkgver" + patch -Np1 -i ../0001-plugins.twitch-Update-for-API-change.patch +} build() { cd "$srcdir/$pkgname-$pkgver"