See #170: fixed several feed parsing issues, again

This commit is contained in:
Eliot Berriot 2020-03-13 15:48:02 +01:00
parent a119a5d90a
commit d591292a90
No known key found for this signature in database
GPG Key ID: 6B501DFD73514E14
1 changed files with 3 additions and 3 deletions

View File

@ -365,13 +365,13 @@ def get_channel_from_rss_url(url):
"track__description", "track__attachment_cover" "track__description", "track__attachment_cover"
) )
) )
if parsed_feed.feed.rights: if parsed_feed.feed.get("rights"):
track_defaults["copyright"] = parsed_feed.feed.rights track_defaults["copyright"] = parsed_feed.feed.rights
for entry in entries: for entry in entries:
logger.debug("Importing feed item %s", entry.id) logger.debug("Importing feed item %s", entry.id)
s = RssFeedItemSerializer(data=entry) s = RssFeedItemSerializer(data=entry)
if not s.is_valid(): if not s.is_valid():
logger.debug("Skipping invalid RSS feed item %s", entry) logger.debug("Skipping invalid RSS feed item %s, ", entry, str(s.errors))
continue continue
uploads.append( uploads.append(
s.save(channel, existing_uploads=existing_uploads, **track_defaults) s.save(channel, existing_uploads=existing_uploads, **track_defaults)
@ -635,7 +635,7 @@ class RssFeedItemSerializer(serializers.Serializer):
if row.get("rel") != "enclosure": if row.get("rel") != "enclosure":
continue continue
try: try:
size = int(row.get("length", 0)) or None size = int(row.get("length", 0) or 0) or None
except (TypeError, ValueError): except (TypeError, ValueError):
raise serializers.ValidationError("Invalid size") raise serializers.ValidationError("Invalid size")