Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-podcastparser for openSUSE:Factory checked in at 2022-01-16 23:18:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-podcastparser (Old) and /work/SRC/openSUSE:Factory/.python-podcastparser.new.1892 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-podcastparser" Sun Jan 16 23:18:16 2022 rev:6 rq:946772 version:0.6.8 Changes: -------- --- /work/SRC/openSUSE:Factory/python-podcastparser/python-podcastparser.changes 2021-09-20 23:36:04.367389991 +0200 +++ /work/SRC/openSUSE:Factory/.python-podcastparser.new.1892/python-podcastparser.changes 2022-01-16 23:19:15.822377442 +0100 @@ -1,0 +2,6 @@ +Sun Jan 16 12:33:45 UTC 2022 - Dirk M??ller <dmuel...@suse.com> + +- update to 0.6.8: + * support more iTunes specific tags + +------------------------------------------------------------------- Old: ---- podcastparser-0.6.7.tar.gz New: ---- podcastparser-0.6.8.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-podcastparser.spec ++++++ --- /var/tmp/diff_new_pack.YOgiLw/_old 2022-01-16 23:19:16.158377608 +0100 +++ /var/tmp/diff_new_pack.YOgiLw/_new 2022-01-16 23:19:16.162377610 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-podcastparser # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-podcastparser -Version: 0.6.7 +Version: 0.6.8 Release: 0 Summary: A podcast parser License: ISC @@ -29,6 +29,7 @@ BuildRequires: %{python_module setuptools} BuildRequires: %{python_module xml} BuildRequires: fdupes +BuildRequires: python-rpm-macros Requires: python-xml BuildArch: noarch %python_subpackages ++++++ podcastparser-0.6.7.tar.gz -> podcastparser-0.6.8.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/PKG-INFO new/podcastparser-0.6.8/PKG-INFO --- old/podcastparser-0.6.7/PKG-INFO 2021-08-12 17:58:10.686236600 +0200 +++ new/podcastparser-0.6.8/PKG-INFO 2021-09-23 07:56:03.069217400 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: podcastparser -Version: 0.6.7 +Version: 0.6.8 Summary: Simplified, fast RSS parser Home-page: http://gpodder.org/podcastparser/ Author: Thomas Perl @@ -27,8 +27,8 @@ To release, update the version number in podcastparser.py, commit and push. -Then create an (anotated) tag and push it. +Then create an (annotated) tag and push it. -The travis pipeline will publish on pypi (only the python 2.7 job will succeed). +The GitHub action will publish on pypi. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/README.md new/podcastparser-0.6.8/README.md --- old/podcastparser-0.6.7/README.md 2021-08-12 17:57:55.000000000 +0200 +++ new/podcastparser-0.6.8/README.md 2021-09-23 07:55:47.000000000 +0200 @@ -14,6 +14,6 @@ To release, update the version number in podcastparser.py, commit and push. -Then create an (anotated) tag and push it. +Then create an (annotated) tag and push it. -The travis pipeline will publish on pypi (only the python 2.7 job will succeed). +The GitHub action will publish on pypi. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/doc/index.rst new/podcastparser-0.6.8/doc/index.rst --- old/podcastparser-0.6.7/doc/index.rst 2021-08-12 17:57:55.000000000 +0200 +++ new/podcastparser-0.6.8/doc/index.rst 2021-09-23 07:55:47.000000000 +0200 @@ -95,6 +95,25 @@ **rss/channel/generator** A string indicating the program used to generate the channel. (e.g. MightyInHouse Content System v2.3). +**rss/channel/language** + Podcast language. + +**rss/channel/itunes:author** + The group responsible for creating the show. + +**rss/channel/itunes:owner** + The podcast owner contact information. + The <itunes:owner> tag information is for administrative communication about the podcast and isn't displayed in Apple Podcasts + +**rss/channel/itunes:explicit** + Indicates whether podcast contains explicit material. + +**rss/channel/itunes:new-feed-url** + The new podcast RSS Feed URL. + +**rss/redirect/newLocation** + The new podcast RSS Feed URL. + **rss/channel/item** Episode. @@ -159,6 +178,19 @@ **rss/channel/item/psc:chapters/psc:chapter** Chapter entry (@start, @title, @href and @image). +**rss/channel/item/itunes:explicit** + Indicates whether episode contains explicit material. + +**rss/channel/item/itunes:author** + The group responsible for creating the episode. + +**rss/channel/item/itunes:episode** + An episode number. + +**rss/channel/item/itunes:episodeType** + The episode type. + This flag is used if an episode is a trailer or bonus content. + .. _Why RSS Content Module is Popular: https://developer.mozilla.org/en-US/docs/Web/RSS/Article/Why_RSS_Content_Module_is_Popular_-_Including_HTML_Contents Atom diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/podcastparser.egg-info/PKG-INFO new/podcastparser-0.6.8/podcastparser.egg-info/PKG-INFO --- old/podcastparser-0.6.7/podcastparser.egg-info/PKG-INFO 2021-08-12 17:58:10.000000000 +0200 +++ new/podcastparser-0.6.8/podcastparser.egg-info/PKG-INFO 2021-09-23 07:56:03.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: podcastparser -Version: 0.6.7 +Version: 0.6.8 Summary: Simplified, fast RSS parser Home-page: http://gpodder.org/podcastparser/ Author: Thomas Perl @@ -27,8 +27,8 @@ To release, update the version number in podcastparser.py, commit and push. -Then create an (anotated) tag and push it. +Then create an (annotated) tag and push it. -The travis pipeline will publish on pypi (only the python 2.7 job will succeed). +The GitHub action will publish on pypi. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/podcastparser.egg-info/SOURCES.txt new/podcastparser-0.6.8/podcastparser.egg-info/SOURCES.txt --- old/podcastparser-0.6.7/podcastparser.egg-info/SOURCES.txt 2021-08-12 17:58:10.000000000 +0200 +++ new/podcastparser-0.6.8/podcastparser.egg-info/SOURCES.txt 2021-09-23 07:56:03.000000000 +0200 @@ -30,6 +30,20 @@ tests/data/duration.rss tests/data/empty.json tests/data/empty.rss +tests/data/episode_itunes_author.json +tests/data/episode_itunes_author.rss +tests/data/episode_number.json +tests/data/episode_number.rss +tests/data/episode_number_invalid.json +tests/data/episode_number_invalid.rss +tests/data/episode_type.json +tests/data/episode_type.rss +tests/data/episode_type_invalid.json +tests/data/episode_type_invalid.rss +tests/data/explicit_episode.json +tests/data/explicit_episode.rss +tests/data/explicit_feed.json +tests/data/explicit_feed.rss tests/data/generator.json tests/data/generator.rss tests/data/html_description.json @@ -46,12 +60,18 @@ tests/data/image_and_audio.rss tests/data/image_url_on_newline.json tests/data/image_url_on_newline.rss +tests/data/itunes_author.json +tests/data/itunes_author.rss tests/data/itunes_duration.json tests/data/itunes_duration.rss tests/data/itunes_episode_image.json tests/data/itunes_episode_image.rss tests/data/itunes_no_xmlns.json tests/data/itunes_no_xmlns.rss +tests/data/itunes_owner.json +tests/data/itunes_owner.rss +tests/data/itunes_owner_name_only.json +tests/data/itunes_owner_name_only.rss tests/data/itunes_subtitle.json tests/data/itunes_subtitle.rss tests/data/itunes_type.json @@ -64,6 +84,8 @@ tests/data/itunes_type_serial.rss tests/data/itunes_xmlns.json tests/data/itunes_xmlns.rss +tests/data/language.json +tests/data/language.rss tests/data/leading_space_url.json tests/data/leading_space_url.rss tests/data/max_episodes.json @@ -81,6 +103,8 @@ tests/data/mediarss.rss tests/data/multi_enclosures.json tests/data/multi_enclosures.rss +tests/data/new_feed_url.json +tests/data/new_feed_url.rss tests/data/no_enclosure.json tests/data/no_enclosure.rss tests/data/no_guid.json @@ -99,6 +123,8 @@ tests/data/payment.rss tests/data/permalink.json tests/data/permalink.rss +tests/data/redirect_new_location.json +tests/data/redirect_new_location.rss tests/data/relative.json tests/data/relative.rss tests/data/relative_cover.json diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/podcastparser.py new/podcastparser-0.6.8/podcastparser.py --- old/podcastparser-0.6.7/podcastparser.py 2021-08-12 17:57:55.000000000 +0200 +++ new/podcastparser-0.6.8/podcastparser.py 2021-09-23 07:55:47.000000000 +0200 @@ -22,7 +22,7 @@ # Will be parsed by setup.py to determine package metadata __author__ = 'Thomas Perl <m...@thp.io>' -__version__ = '0.6.7' +__version__ = '0.6.8' __website__ = 'http://gpodder.org/podcastparser/' __license__ = 'ISC License' @@ -185,6 +185,24 @@ ATTRIBUTE = 'url' +class EpisodeAttrNumber(EpisodeAttr): + def end(self, handler, text): + value = self.filter_func(text) + try: + episode_num = int(value) + except ValueError: + return + if episode_num > 0: + handler.set_episode_attr(self.key, episode_num) + + +class EpisodeAttrType(EpisodeAttr): + def end(self, handler, text): + value = self.filter_func(text).lower() + if value in ('full', 'trailer', 'bonus'): + handler.set_episode_attr(self.key, value) + + class Enclosure(Target): def __init__(self, file_size_attribute): Target.__init__(self) @@ -304,6 +322,44 @@ handler.get_episode_attr('chapters').append(chapter) +class ItunesOwnerAttr(Target): + WANT_TEXT = True + + def end(self, handler, text): + if not self.overwrite and handler.get_episode_attr(self.key): + return + handler.append_itunes_owner(self.key, self.filter_func(text)) + + +class ItunesOwnerItem(Target): + def start(self, handler, attrs): + handler.add_itunes_owner() + + +class PodcastAttrExplicit(Target): + WANT_TEXT = True + _VALUES_MAPPER = { + 'yes': True, + 'explicit': True, + 'true': True, + 'no': False, + 'clean': False, + 'false': False, + } + + def end(self, handler, text): + value = self.filter_func(text).lower() + if value in self._VALUES_MAPPER: + handler.set_podcast_attr(self.key, self._VALUES_MAPPER[value]) + + +class EpisodeAttrExplicit(PodcastAttrExplicit): + def end(self, handler, text): + value = self.filter_func(text).lower() + if value in self._VALUES_MAPPER: + handler.set_episode_attr(self.key, self._VALUES_MAPPER[value]) + + class Namespace(): # Mapping of XML namespaces to prefixes as used in MAPPING below NAMESPACES = { @@ -642,6 +698,15 @@ 'rss/channel/itunes:type': PodcastAttrType('type', squash_whitespace), 'rss/channel/atom:link': PodcastAtomLink(), 'rss/channel/generator': PodcastAttr('generator', squash_whitespace), + 'rss/channel/language': PodcastAttr('language', squash_whitespace), + 'rss/channel/itunes:author': PodcastAttr('itunes_author', squash_whitespace), + 'rss/channel/itunes:owner': ItunesOwnerItem('itunes_owner', squash_whitespace), + 'rss/channel/itunes:explicit': PodcastAttrExplicit('explicit', squash_whitespace), + 'rss/channel/itunes:new-feed-url': PodcastAttr('new_url', squash_whitespace), + 'rss/redirect/newLocation': PodcastAttr('new_url', squash_whitespace), + + 'rss/channel/itunes:owner/itunes:email': ItunesOwnerAttr('email', squash_whitespace), + 'rss/channel/itunes:owner/itunes:name': ItunesOwnerAttr('name', squash_whitespace), 'rss/channel/item': EpisodeItem(), 'rss/channel/item/guid': EpisodeGuid('guid'), @@ -655,6 +720,10 @@ 'rss/channel/item/itunes:duration': EpisodeAttr('total_time', parse_time), 'rss/channel/item/pubDate': EpisodeAttr('published', parse_pubdate), 'rss/channel/item/atom:link': AtomLink(), + 'rss/channel/item/itunes:explicit': EpisodeAttrExplicit('explicit', squash_whitespace), + 'rss/channel/item/itunes:author': EpisodeAttr('itunes_author', squash_whitespace), + 'rss/channel/item/itunes:episode': EpisodeAttrNumber('number', squash_whitespace), + 'rss/channel/item/itunes:episodeType': EpisodeAttrType('type', squash_whitespace), 'rss/channel/item/itunes:image': EpisodeAttrFromHref('episode_art_url'), 'rss/channel/item/media:thumbnail': EpisodeAttrFromUrl('episode_art_url'), @@ -712,7 +781,7 @@ self.episodes = [] self.data = { 'title': file_basename_no_extension(url), - 'episodes': self.episodes + 'episodes': self.episodes, } self.path_stack = [] self.namespace = None @@ -793,6 +862,12 @@ 'mime_type': mime_type, }) + def add_itunes_owner(self): + self.data['itunes_owner'] = {} + + def append_itunes_owner(self, key, value): + self.data['itunes_owner'][key] = value + def startElement(self, name, attrs): self.namespace = Namespace(attrs, self.namespace) name = self.namespace.map(name) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/episode_itunes_author.json new/podcastparser-0.6.8/tests/data/episode_itunes_author.json --- old/podcastparser-0.6.7/tests/data/episode_itunes_author.json 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/episode_itunes_author.json 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,22 @@ +{ + "title": "episode_itunes_author", + "episodes": [ + { + "title": "Episode", + "description": "", + "published": 0, + "guid": "http://example.org/example.mp3", + "link": "", + "total_time": 0, + "payment_url": null, + "itunes_author": "John Doe", + "enclosures": [ + { + "file_size": -1, + "url": "http://example.org/example.mp3", + "mime_type": "application/octet-stream" + } + ] + } + ] +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/episode_itunes_author.rss new/podcastparser-0.6.8/tests/data/episode_itunes_author.rss --- old/podcastparser-0.6.7/tests/data/episode_itunes_author.rss 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/episode_itunes_author.rss 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,9 @@ +<rss> + <channel> + <item> + <title>Episode</title> + <enclosure url="http://example.org/example.mp3"/> + <itunes:author>John Doe</itunes:author> + </item> + </channel> +</rss> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/episode_number.json new/podcastparser-0.6.8/tests/data/episode_number.json --- old/podcastparser-0.6.7/tests/data/episode_number.json 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/episode_number.json 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,22 @@ +{ + "title": "episode_number", + "episodes": [ + { + "title": "Episode", + "description": "", + "published": 0, + "guid": "http://example.org/example.mp3", + "link": "", + "total_time": 0, + "payment_url": null, + "number": 1, + "enclosures": [ + { + "file_size": -1, + "url": "http://example.org/example.mp3", + "mime_type": "application/octet-stream" + } + ] + } + ] +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/episode_number.rss new/podcastparser-0.6.8/tests/data/episode_number.rss --- old/podcastparser-0.6.7/tests/data/episode_number.rss 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/episode_number.rss 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,9 @@ +<rss> + <channel> + <item> + <title>Episode</title> + <enclosure url="http://example.org/example.mp3"/> + <itunes:episode>1</itunes:episode> + </item> + </channel> +</rss> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/episode_number_invalid.json new/podcastparser-0.6.8/tests/data/episode_number_invalid.json --- old/podcastparser-0.6.7/tests/data/episode_number_invalid.json 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/episode_number_invalid.json 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,21 @@ +{ + "title": "episode_number_invalid", + "episodes": [ + { + "title": "Episode", + "description": "", + "published": 0, + "guid": "http://example.org/example.mp3", + "link": "", + "total_time": 0, + "payment_url": null, + "enclosures": [ + { + "file_size": -1, + "url": "http://example.org/example.mp3", + "mime_type": "application/octet-stream" + } + ] + } + ] +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/episode_number_invalid.rss new/podcastparser-0.6.8/tests/data/episode_number_invalid.rss --- old/podcastparser-0.6.7/tests/data/episode_number_invalid.rss 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/episode_number_invalid.rss 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,9 @@ +<rss> + <channel> + <item> + <title>Episode</title> + <enclosure url="http://example.org/example.mp3"/> + <itunes:episode>-1</itunes:episode> + </item> + </channel> +</rss> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/episode_type.json new/podcastparser-0.6.8/tests/data/episode_type.json --- old/podcastparser-0.6.7/tests/data/episode_type.json 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/episode_type.json 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,22 @@ +{ + "title": "Podcast", + "episodes": [ + { + "title": "Episode", + "description": "", + "published": 0, + "guid": "http://example.org/example.mp3", + "link": "", + "total_time": 0, + "payment_url": null, + "type": "trailer", + "enclosures": [ + { + "file_size": -1, + "url": "http://example.org/example.mp3", + "mime_type": "application/octet-stream" + } + ] + } + ] +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/episode_type.rss new/podcastparser-0.6.8/tests/data/episode_type.rss --- old/podcastparser-0.6.7/tests/data/episode_type.rss 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/episode_type.rss 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,10 @@ +<rss> + <channel> + <title>Podcast</title> + <item> + <title>Episode</title> + <itunes:episodeType>trailer</itunes:episodeType> + <enclosure url="http://example.org/example.mp3"/> + </item> + </channel> +</rss> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/episode_type_invalid.json new/podcastparser-0.6.8/tests/data/episode_type_invalid.json --- old/podcastparser-0.6.7/tests/data/episode_type_invalid.json 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/episode_type_invalid.json 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,21 @@ +{ + "title": "Podcast", + "episodes": [ + { + "title": "Episode", + "description": "", + "published": 0, + "guid": "http://example.org/example.mp3", + "link": "", + "total_time": 0, + "payment_url": null, + "enclosures": [ + { + "file_size": -1, + "url": "http://example.org/example.mp3", + "mime_type": "application/octet-stream" + } + ] + } + ] +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/episode_type_invalid.rss new/podcastparser-0.6.8/tests/data/episode_type_invalid.rss --- old/podcastparser-0.6.7/tests/data/episode_type_invalid.rss 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/episode_type_invalid.rss 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,10 @@ +<rss> + <channel> + <title>Podcast</title> + <item> + <title>Episode</title> + <itunes:episodeType>russkie_vpered</itunes:episodeType> + <enclosure url="http://example.org/example.mp3"/> + </item> + </channel> +</rss> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/explicit_episode.json new/podcastparser-0.6.8/tests/data/explicit_episode.json --- old/podcastparser-0.6.7/tests/data/explicit_episode.json 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/explicit_episode.json 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,22 @@ +{ + "title": "explicit_episode", + "episodes": [ + { + "title": "Episode", + "description": "", + "published": 0, + "guid": "http://example.org/example.mp3", + "link": "", + "total_time": 0, + "payment_url": null, + "explicit": false, + "enclosures": [ + { + "file_size": -1, + "url": "http://example.org/example.mp3", + "mime_type": "application/octet-stream" + } + ] + } + ] +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/explicit_episode.rss new/podcastparser-0.6.8/tests/data/explicit_episode.rss --- old/podcastparser-0.6.7/tests/data/explicit_episode.rss 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/explicit_episode.rss 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,9 @@ +<rss> + <channel> + <item> + <title>Episode</title> + <itunes:explicit>No</itunes:explicit> + <enclosure url="http://example.org/example.mp3"/> + </item> + </channel> +</rss> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/explicit_feed.json new/podcastparser-0.6.8/tests/data/explicit_feed.json --- old/podcastparser-0.6.7/tests/data/explicit_feed.json 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/explicit_feed.json 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,5 @@ +{ + "title": "explicit_feed", + "episodes": [], + "explicit": false +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/explicit_feed.rss new/podcastparser-0.6.8/tests/data/explicit_feed.rss --- old/podcastparser-0.6.7/tests/data/explicit_feed.rss 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/explicit_feed.rss 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,5 @@ +<rss> + <channel> + <itunes:explicit>No</itunes:explicit> + </channel> +</rss> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/itunes_author.json new/podcastparser-0.6.8/tests/data/itunes_author.json --- old/podcastparser-0.6.7/tests/data/itunes_author.json 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/itunes_author.json 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,5 @@ +{ + "title": "itunes_author", + "episodes": [], + "itunes_author": "Charlie Dorsett" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/itunes_author.rss new/podcastparser-0.6.8/tests/data/itunes_author.rss --- old/podcastparser-0.6.7/tests/data/itunes_author.rss 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/itunes_author.rss 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,5 @@ +<rss> + <channel> + <itunes:author>Charlie Dorsett</itunes:author> + </channel> +</rss> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/itunes_owner.json new/podcastparser-0.6.8/tests/data/itunes_owner.json --- old/podcastparser-0.6.7/tests/data/itunes_owner.json 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/itunes_owner.json 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,8 @@ +{ + "title": "itunes_owner", + "episodes": [], + "itunes_owner": { + "name": "Charlie Dorsett", + "email": "cedors...@example.com" + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/itunes_owner.rss new/podcastparser-0.6.8/tests/data/itunes_owner.rss --- old/podcastparser-0.6.7/tests/data/itunes_owner.rss 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/itunes_owner.rss 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,8 @@ +<rss> + <channel> + <itunes:owner> + <itunes:name>Charlie Dorsett</itunes:name> + <itunes:email>cedors...@example.com</itunes:email> + </itunes:owner> + </channel> +</rss> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/itunes_owner_name_only.json new/podcastparser-0.6.8/tests/data/itunes_owner_name_only.json --- old/podcastparser-0.6.7/tests/data/itunes_owner_name_only.json 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/itunes_owner_name_only.json 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,7 @@ +{ + "title": "itunes_owner_name_only", + "episodes": [], + "itunes_owner": { + "name": "Charlie Dorsett" + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/itunes_owner_name_only.rss new/podcastparser-0.6.8/tests/data/itunes_owner_name_only.rss --- old/podcastparser-0.6.7/tests/data/itunes_owner_name_only.rss 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/itunes_owner_name_only.rss 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,7 @@ +<rss> + <channel> + <itunes:owner> + <itunes:name>Charlie Dorsett</itunes:name> + </itunes:owner> + </channel> +</rss> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/language.json new/podcastparser-0.6.8/tests/data/language.json --- old/podcastparser-0.6.7/tests/data/language.json 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/language.json 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,5 @@ +{ + "title": "language", + "episodes": [], + "language": "en-us" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/language.rss new/podcastparser-0.6.8/tests/data/language.rss --- old/podcastparser-0.6.7/tests/data/language.rss 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/language.rss 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,5 @@ +<rss> + <channel> + <language><![CDATA[en-us]]></language> + </channel> +</rss> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/new_feed_url.json new/podcastparser-0.6.8/tests/data/new_feed_url.json --- old/podcastparser-0.6.7/tests/data/new_feed_url.json 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/new_feed_url.json 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,5 @@ +{ + "title": "Podcast", + "episodes": [], + "new_url": "http://newlocation.com/example.rss" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/new_feed_url.rss new/podcastparser-0.6.8/tests/data/new_feed_url.rss --- old/podcastparser-0.6.7/tests/data/new_feed_url.rss 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/new_feed_url.rss 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,6 @@ +<rss> + <channel> + <title>Podcast</title> + <itunes:new-feed-url>http://newlocation.com/example.rss</itunes:new-feed-url> + </channel> +</rss> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/redirect_new_location.json new/podcastparser-0.6.8/tests/data/redirect_new_location.json --- old/podcastparser-0.6.7/tests/data/redirect_new_location.json 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/redirect_new_location.json 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,5 @@ +{ + "title": "redirect_new_location", + "episodes": [], + "new_url": "http://weblog.infoworld.com/udell/rss.xml" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/podcastparser-0.6.7/tests/data/redirect_new_location.rss new/podcastparser-0.6.8/tests/data/redirect_new_location.rss --- old/podcastparser-0.6.7/tests/data/redirect_new_location.rss 1970-01-01 01:00:00.000000000 +0100 +++ new/podcastparser-0.6.8/tests/data/redirect_new_location.rss 2021-09-23 07:55:47.000000000 +0200 @@ -0,0 +1,7 @@ +<rss> + <redirect> + <newLocation> + http://weblog.infoworld.com/udell/rss.xml + </newLocation> + </redirect> +</rss>