|
|
|
@@ -1,4 +1,4 @@ |
|
|
|
import 'package:webfeed/util/helpers.dart'; |
|
|
|
import 'package:webfeed/util/xml.dart'; |
|
|
|
import 'package:xml/xml.dart'; |
|
|
|
|
|
|
|
import 'rss_itunes_category.dart'; |
|
|
|
@@ -42,19 +42,25 @@ class RssItemItunes { |
|
|
|
} |
|
|
|
var episodeStr = findElementOrNull(element, "itunes:episode")?.text?.trim(); |
|
|
|
var seasonStr = findElementOrNull(element, "itunes:season")?.text?.trim(); |
|
|
|
var durationStr = findElementOrNull(element, "itunes:duration")?.text?.trim(); |
|
|
|
var durationStr = |
|
|
|
findElementOrNull(element, "itunes:duration")?.text?.trim(); |
|
|
|
|
|
|
|
return RssItemItunes( |
|
|
|
title: findElementOrNull(element, "itunes:title")?.text?.trim(), |
|
|
|
episode: episodeStr == null ? null : int.parse(episodeStr), |
|
|
|
season: seasonStr == null ? null : int.parse(seasonStr), |
|
|
|
duration: durationStr == null ? null : parseDuration(durationStr), |
|
|
|
episodeType: newRssItunesEpisodeType(findElementOrNull(element, "itunes:episodeType")), |
|
|
|
episodeType: newRssItunesEpisodeType( |
|
|
|
findElementOrNull(element, "itunes:episodeType")), |
|
|
|
author: findElementOrNull(element, "itunes:author")?.text?.trim(), |
|
|
|
summary: findElementOrNull(element, "itunes:summary")?.text?.trim(), |
|
|
|
explicit: parseBoolLiteral(element, "itunes:explicit"), |
|
|
|
subtitle: findElementOrNull(element, "itunes:subtitle")?.text?.trim(), |
|
|
|
keywords: findElementOrNull(element, "itunes:keywords")?.text?.split(",")?.map((keyword) => keyword.trim())?.toList(), |
|
|
|
keywords: findElementOrNull(element, "itunes:keywords") |
|
|
|
?.text |
|
|
|
?.split(",") |
|
|
|
?.map((keyword) => keyword.trim()) |
|
|
|
?.toList(), |
|
|
|
image: RssItunesImage.parse(findElementOrNull(element, "itunes:image")), |
|
|
|
category: RssItunesCategory.parse( |
|
|
|
findElementOrNull(element, "itunes:category")), |
|
|
|
|