From d591292a90ef84ee79190ff46034d6cc2ca02b53 Mon Sep 17 00:00:00 2001
From: Eliot Berriot <contact@eliotberriot.com>
Date: Fri, 13 Mar 2020 15:48:02 +0100
Subject: [PATCH] See #170: fixed several feed parsing issues, again

---
 api/funkwhale_api/audio/serializers.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/api/funkwhale_api/audio/serializers.py b/api/funkwhale_api/audio/serializers.py
index a8ba29523d..8f46edc9a9 100644
--- a/api/funkwhale_api/audio/serializers.py
+++ b/api/funkwhale_api/audio/serializers.py
@@ -365,13 +365,13 @@ def get_channel_from_rss_url(url):
             "track__description", "track__attachment_cover"
         )
     )
-    if parsed_feed.feed.rights:
+    if parsed_feed.feed.get("rights"):
         track_defaults["copyright"] = parsed_feed.feed.rights
     for entry in entries:
         logger.debug("Importing feed item %s", entry.id)
         s = RssFeedItemSerializer(data=entry)
         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
         uploads.append(
             s.save(channel, existing_uploads=existing_uploads, **track_defaults)
@@ -635,7 +635,7 @@ class RssFeedItemSerializer(serializers.Serializer):
             if row.get("rel") != "enclosure":
                 continue
             try:
-                size = int(row.get("length", 0)) or None
+                size = int(row.get("length", 0) or 0) or None
             except (TypeError, ValueError):
                 raise serializers.ValidationError("Invalid size")
 
-- 
GitLab