diff -Nru gpodder-3.9.2/debian/changelog gpodder-3.9.3/debian/changelog --- gpodder-3.9.2/debian/changelog 2016-12-17 10:33:58.000000000 +0000 +++ gpodder-3.9.3/debian/changelog 2016-12-22 13:50:56.000000000 +0000 @@ -1,20 +1,20 @@ -gpodder (3.9.2-1~gpo1~ppa~zesty0) zesty; urgency=medium +gpodder (3.9.3-1~gpo0~ppa~zesty0) zesty; urgency=medium * Automatic build for zesty - -- Thomas Perl Sat, 17 Dec 2016 11:33:58 +0100 + -- Thomas Perl Thu, 22 Dec 2016 14:50:56 +0100 -gpodder (3.9.2-1~gpo1) unstable; urgency=medium +gpodder (3.9.3-1~gpo0) unstable; urgency=medium * Automatic build for unstable - -- Thomas Perl Sat, 17 Dec 2016 11:33:47 +0100 + -- Thomas Perl Thu, 22 Dec 2016 14:50:40 +0100 -gpodder (3.9.2-0ubuntu1) UNRELEASED; urgency=medium +gpodder (3.9.3-0ubuntu1) UNRELEASED; urgency=medium * New upstream release - -- Thomas Perl Sat, 17 Dec 2016 11:33:47 +0100 + -- Thomas Perl Thu, 22 Dec 2016 14:50:40 +0100 gpodder (3.9.2-1) unstable; urgency=medium diff -Nru gpodder-3.9.2/PKG-INFO gpodder-3.9.3/PKG-INFO --- gpodder-3.9.2/PKG-INFO 2016-11-30 08:45:47.000000000 +0000 +++ gpodder-3.9.3/PKG-INFO 2016-12-22 13:50:36.000000000 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 1.0 Name: gpodder -Version: 3.9.2 +Version: 3.9.3 Summary: Media aggregator and podcast client Home-page: http://gpodder.org/ Author: Thomas Perl diff -Nru gpodder-3.9.2/share/man/man1/gpo.1 gpodder-3.9.3/share/man/man1/gpo.1 --- gpodder-3.9.2/share/man/man1/gpo.1 2016-11-30 08:45:47.000000000 +0000 +++ gpodder-3.9.3/share/man/man1/gpo.1 2016-12-22 13:50:35.000000000 +0000 @@ -1,4 +1,4 @@ -.TH GPO "1" "November 2016" "gpodder 3.9.2" "User Commands" +.TH GPO "1" "December 2016" "gpodder 3.9.3" "User Commands" .SH NAME gpo \- Text mode interface of gPodder .SH SYNOPSIS diff -Nru gpodder-3.9.2/share/man/man1/gpodder.1 gpodder-3.9.3/share/man/man1/gpodder.1 --- gpodder-3.9.2/share/man/man1/gpodder.1 2016-11-30 08:45:47.000000000 +0000 +++ gpodder-3.9.3/share/man/man1/gpodder.1 2016-12-22 13:50:35.000000000 +0000 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH GPODDER "1" "November 2016" "gpodder 3.9.2" "User Commands" +.TH GPODDER "1" "December 2016" "gpodder 3.9.3" "User Commands" .SH NAME gpodder \- Media aggregator and podcast client .SH SYNOPSIS @@ -23,3 +23,6 @@ .TP \fB\-s\fR URL, \fB\-\-subscribe\fR=\fI\,URL\/\fR subscribe to the feed at URL +.TP +\fB\-p\fR PSN, \fB\-\-psn\fR=\fI\,PSN\/\fR +Mac OS X application process number diff -Nru gpodder-3.9.2/src/gpodder/feedcore.py gpodder-3.9.3/src/gpodder/feedcore.py --- gpodder-3.9.2/src/gpodder/feedcore.py 2016-11-30 08:45:47.000000000 +0000 +++ gpodder-3.9.3/src/gpodder/feedcore.py 2016-12-22 13:50:35.000000000 +0000 @@ -190,6 +190,7 @@ raise InvalidFeed('Got HTML document instead') feed = podcastparser.parse(url, stream) + feed['headers'] = stream.headers return self._check_statuscode(stream, feed) def fetch(self, url, etag=None, modified=None): diff -Nru gpodder-3.9.2/src/gpodder/__init__.py gpodder-3.9.3/src/gpodder/__init__.py --- gpodder-3.9.2/src/gpodder/__init__.py 2016-11-30 08:45:47.000000000 +0000 +++ gpodder-3.9.3/src/gpodder/__init__.py 2016-12-22 13:50:35.000000000 +0000 @@ -20,9 +20,9 @@ # This metadata block gets parsed by setup.py - use single quotes only __tagline__ = 'Media aggregator and podcast client' __author__ = 'Thomas Perl ' -__version__ = '3.9.2' -__date__ = '2016-11-30' -__relname__ = 'Canyonero' +__version__ = '3.9.3' +__date__ = '2016-12-22' +__relname__ = 'Whacketts' __copyright__ = '© 2005-2016 Thomas Perl and the gPodder Team' __license__ = 'GNU General Public License, version 3 or later' __url__ = 'http://gpodder.org/' diff -Nru gpodder-3.9.2/src/gpodder/model.py gpodder-3.9.3/src/gpodder/model.py --- gpodder-3.9.2/src/gpodder/model.py 2016-11-30 08:45:47.000000000 +0000 +++ gpodder-3.9.3/src/gpodder/model.py 2016-12-22 13:50:35.000000000 +0000 @@ -61,8 +61,6 @@ custom_handlers = [] def fetch_channel(self, channel): - etag = channel.http_etag - modified = podcastparser.parse_pubdate(channel.http_last_modified) # If we have a username or password, rebuild the url with them included # Note: using a HTTPBasicAuthHandler would be pain because we need to # know the realm. It can be done, but I think this method works, too @@ -71,7 +69,7 @@ custom_feed = handler.handle_url(url) if custom_feed is not None: return feedcore.Result(feedcore.CUSTOM_FEED, custom_feed) - return self.fetch(url, etag, modified) + return self.fetch(url, channel.http_etag, channel.http_last_modified) def _resolve_url(self, url): url = youtube.get_real_channel_url(url) @@ -922,6 +920,11 @@ feed.get('cover_url', None), feed.get('payment_url', None)) + # Update values for HTTP conditional requests + headers = feed.get('headers', {}) + self.http_etag = headers.get('etag', self.http_etag) + self.http_last_modified = headers.get('last-modified', self.http_last_modified) + # Load all episodes to update them properly. existing = self.get_all_episodes() @@ -1030,9 +1033,6 @@ elif result.status == feedcore.NOT_MODIFIED: pass - if hasattr(result.feed, 'headers'): - self.http_etag = result.feed.headers.get('etag', self.http_etag) - self.http_last_modified = result.feed.headers.get('last-modified', self.http_last_modified) self.save() except Exception, e: # "Not really" errors diff -Nru gpodder-3.9.2/src/gpodder/plugins/soundcloud.py gpodder-3.9.3/src/gpodder/plugins/soundcloud.py --- gpodder-3.9.2/src/gpodder/plugins/soundcloud.py 2016-11-30 08:45:47.000000000 +0000 +++ gpodder-3.9.3/src/gpodder/plugins/soundcloud.py 2016-12-22 13:50:35.000000000 +0000 @@ -133,7 +133,7 @@ track it can find for its user.""" global CONSUMER_KEY try: - json_url = 'http://api.soundcloud.com/users/%(user)s/%(feed)s.json?filter=downloadable&consumer_key=%(consumer_key)s' \ + json_url = 'http://api.soundcloud.com/users/%(user)s/%(feed)s.json?filter=downloadable&consumer_key=%(consumer_key)s&limit=200' \ % { "user":self.username, "feed":feed, "consumer_key": CONSUMER_KEY } tracks = (track for track in json.load(util.urlopen(json_url)) \ if track['downloadable'])