| @@ -3,7 +3,7 @@ import 'package:webfeed/domain/atom_generator.dart'; | |||||
| import 'package:webfeed/domain/atom_item.dart'; | import 'package:webfeed/domain/atom_item.dart'; | ||||
| import 'package:webfeed/domain/atom_link.dart'; | import 'package:webfeed/domain/atom_link.dart'; | ||||
| import 'package:webfeed/domain/atom_person.dart'; | import 'package:webfeed/domain/atom_person.dart'; | ||||
| import 'package:webfeed/util/helpers.dart'; | |||||
| import 'package:webfeed/util/xml.dart'; | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| class AtomFeed { | class AtomFeed { | ||||
| @@ -3,7 +3,7 @@ import 'package:webfeed/domain/atom_link.dart'; | |||||
| import 'package:webfeed/domain/atom_person.dart'; | import 'package:webfeed/domain/atom_person.dart'; | ||||
| import 'package:webfeed/domain/atom_source.dart'; | import 'package:webfeed/domain/atom_source.dart'; | ||||
| import 'package:webfeed/domain/media/media.dart'; | import 'package:webfeed/domain/media/media.dart'; | ||||
| import 'package:webfeed/util/helpers.dart'; | |||||
| import 'package:webfeed/util/xml.dart'; | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| class AtomItem { | class AtomItem { | ||||
| @@ -1,4 +1,4 @@ | |||||
| import 'package:webfeed/util/helpers.dart'; | |||||
| import 'package:webfeed/util/xml.dart'; | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| class AtomPerson { | class AtomPerson { | ||||
| @@ -1,4 +1,4 @@ | |||||
| import 'package:webfeed/util/helpers.dart'; | |||||
| import 'package:webfeed/util/xml.dart'; | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| class AtomSource { | class AtomSource { | ||||
| @@ -1,4 +1,4 @@ | |||||
| import 'package:webfeed/util/helpers.dart'; | |||||
| import 'package:webfeed/util/xml.dart'; | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| class DublinCore { | class DublinCore { | ||||
| @@ -1,7 +1,7 @@ | |||||
| import 'package:webfeed/domain/media/star_rating.dart'; | import 'package:webfeed/domain/media/star_rating.dart'; | ||||
| import 'package:webfeed/domain/media/statistics.dart'; | import 'package:webfeed/domain/media/statistics.dart'; | ||||
| import 'package:webfeed/domain/media/tags.dart'; | import 'package:webfeed/domain/media/tags.dart'; | ||||
| import 'package:webfeed/util/helpers.dart'; | |||||
| import 'package:webfeed/util/xml.dart'; | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| class Community { | class Community { | ||||
| @@ -2,7 +2,7 @@ import 'package:webfeed/domain/media/category.dart'; | |||||
| import 'package:webfeed/domain/media/content.dart'; | import 'package:webfeed/domain/media/content.dart'; | ||||
| import 'package:webfeed/domain/media/credit.dart'; | import 'package:webfeed/domain/media/credit.dart'; | ||||
| import 'package:webfeed/domain/media/rating.dart'; | import 'package:webfeed/domain/media/rating.dart'; | ||||
| import 'package:webfeed/util/helpers.dart'; | |||||
| import 'package:webfeed/util/xml.dart'; | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| class Group { | class Group { | ||||
| @@ -19,7 +19,7 @@ import 'package:webfeed/domain/media/status.dart'; | |||||
| import 'package:webfeed/domain/media/text.dart'; | import 'package:webfeed/domain/media/text.dart'; | ||||
| import 'package:webfeed/domain/media/thumbnail.dart'; | import 'package:webfeed/domain/media/thumbnail.dart'; | ||||
| import 'package:webfeed/domain/media/title.dart'; | import 'package:webfeed/domain/media/title.dart'; | ||||
| import 'package:webfeed/util/helpers.dart'; | |||||
| import 'package:webfeed/util/xml.dart'; | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| class Media { | class Media { | ||||
| @@ -1,4 +1,4 @@ | |||||
| import 'package:webfeed/util/helpers.dart'; | |||||
| import 'package:webfeed/util/xml.dart'; | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| class Scene { | class Scene { | ||||
| @@ -5,7 +5,7 @@ import 'package:webfeed/domain/rss_category.dart'; | |||||
| import 'package:webfeed/domain/rss_cloud.dart'; | import 'package:webfeed/domain/rss_cloud.dart'; | ||||
| import 'package:webfeed/domain/rss_image.dart'; | import 'package:webfeed/domain/rss_image.dart'; | ||||
| import 'package:webfeed/domain/rss_item.dart'; | import 'package:webfeed/domain/rss_item.dart'; | ||||
| import 'package:webfeed/util/helpers.dart'; | |||||
| import 'package:webfeed/util/xml.dart'; | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| import 'rss_itunes.dart'; | import 'rss_itunes.dart'; | ||||
| @@ -1,4 +1,4 @@ | |||||
| import 'package:webfeed/util/helpers.dart'; | |||||
| import 'package:webfeed/util/xml.dart'; | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| class RssImage { | class RssImage { | ||||
| @@ -4,12 +4,11 @@ import 'package:webfeed/domain/media/media.dart'; | |||||
| import 'package:webfeed/domain/rss_category.dart'; | import 'package:webfeed/domain/rss_category.dart'; | ||||
| import 'package:webfeed/domain/rss_content.dart'; | import 'package:webfeed/domain/rss_content.dart'; | ||||
| import 'package:webfeed/domain/rss_enclosure.dart'; | import 'package:webfeed/domain/rss_enclosure.dart'; | ||||
| import 'package:webfeed/domain/rss_item_itunes.dart'; | |||||
| import 'package:webfeed/domain/rss_source.dart'; | import 'package:webfeed/domain/rss_source.dart'; | ||||
| import 'package:webfeed/util/helpers.dart'; | |||||
| import 'package:webfeed/util/xml.dart'; | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| import 'rss_item_itunes.dart'; | |||||
| class RssItem { | class RssItem { | ||||
| final String title; | final String title; | ||||
| final String description; | final String description; | ||||
| @@ -42,8 +41,7 @@ class RssItem { | |||||
| this.enclosure, | this.enclosure, | ||||
| this.dc, | this.dc, | ||||
| this.itunes, | this.itunes, | ||||
| }) | |||||
| : this.pubDate = _parsePubDate(pubDate); | |||||
| }) : this.pubDate = _parsePubDate(pubDate); | |||||
| factory RssItem.parse(XmlElement element) { | factory RssItem.parse(XmlElement element) { | ||||
| return RssItem( | return RssItem( | ||||
| @@ -1,4 +1,4 @@ | |||||
| import 'package:webfeed/util/helpers.dart'; | |||||
| import 'package:webfeed/util/xml.dart'; | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| import 'rss_itunes_category.dart'; | import 'rss_itunes_category.dart'; | ||||
| @@ -42,19 +42,25 @@ class RssItemItunes { | |||||
| } | } | ||||
| var episodeStr = findElementOrNull(element, "itunes:episode")?.text?.trim(); | var episodeStr = findElementOrNull(element, "itunes:episode")?.text?.trim(); | ||||
| var seasonStr = findElementOrNull(element, "itunes:season")?.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( | return RssItemItunes( | ||||
| title: findElementOrNull(element, "itunes:title")?.text?.trim(), | title: findElementOrNull(element, "itunes:title")?.text?.trim(), | ||||
| episode: episodeStr == null ? null : int.parse(episodeStr), | episode: episodeStr == null ? null : int.parse(episodeStr), | ||||
| season: seasonStr == null ? null : int.parse(seasonStr), | season: seasonStr == null ? null : int.parse(seasonStr), | ||||
| duration: durationStr == null ? null : parseDuration(durationStr), | 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(), | author: findElementOrNull(element, "itunes:author")?.text?.trim(), | ||||
| summary: findElementOrNull(element, "itunes:summary")?.text?.trim(), | summary: findElementOrNull(element, "itunes:summary")?.text?.trim(), | ||||
| explicit: parseBoolLiteral(element, "itunes:explicit"), | explicit: parseBoolLiteral(element, "itunes:explicit"), | ||||
| subtitle: findElementOrNull(element, "itunes:subtitle")?.text?.trim(), | 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")), | image: RssItunesImage.parse(findElementOrNull(element, "itunes:image")), | ||||
| category: RssItunesCategory.parse( | category: RssItunesCategory.parse( | ||||
| findElementOrNull(element, "itunes:category")), | findElementOrNull(element, "itunes:category")), | ||||
| @@ -1,7 +1,6 @@ | |||||
| import 'package:webfeed/util/xml.dart'; | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| import 'package:webfeed/util/helpers.dart'; | |||||
| import 'rss_itunes_category.dart'; | import 'rss_itunes_category.dart'; | ||||
| import 'rss_itunes_image.dart'; | import 'rss_itunes_image.dart'; | ||||
| import 'rss_itunes_owner.dart'; | import 'rss_itunes_owner.dart'; | ||||
| @@ -66,4 +65,3 @@ class RssItunes { | |||||
| ); | ); | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,6 +1,6 @@ | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| import '../util/helpers.dart'; | |||||
| import '../util/xml.dart'; | |||||
| class RssItunesOwner { | class RssItunesOwner { | ||||
| final String name; | final String name; | ||||