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 <[email protected]>
+
+- 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 <[email protected]>'
-__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": "[email protected]"
+ }
+}
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>[email protected]</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>