From 7a92f7fe4335f15ff383eb7cc6570beabae34952 Mon Sep 17 00:00:00 2001 From: Syed Mubashir Ali <81847925+syedmubashiralii@users.noreply.github.com> Date: Tue, 22 Apr 2025 12:52:40 +0500 Subject: [PATCH 1/3] Update rss_item.dart --- lib/domain/rss_item.dart | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/domain/rss_item.dart b/lib/domain/rss_item.dart index abd3a22..9687ef6 100644 --- a/lib/domain/rss_item.dart +++ b/lib/domain/rss_item.dart @@ -25,6 +25,7 @@ class RssItem { final RssEnclosure? enclosure; final DublinCore? dc; final Itunes? itunes; + final String? imageUrl; RssItem({ this.title, @@ -41,9 +42,18 @@ class RssItem { this.enclosure, this.dc, this.itunes, + this.imageUrl, }); factory RssItem.parse(XmlElement element) { + final imageElement = element.findElements('image:image').firstOrNull?.innerText ?? + element + .findElements('*') + .firstWhere( + (e) => e.name.local == 'image' && e.name.prefix == 'image', + orElse: () => XmlElement(XmlName('')), + ) + .innerText; return RssItem( title: element.findElements('title').firstOrNull?.innerText, description: element.findElements('description').firstOrNull?.innerText, @@ -72,6 +82,7 @@ class RssItem { .firstOrNull, dc: DublinCore.parse(element), itunes: Itunes.parse(element), + imageUrl: imageElement.isNotEmpty ? imageElement : null, ); } } From a3de14a066231861e1cc1c847ea060b7d2169cbb Mon Sep 17 00:00:00 2001 From: Syed Mubashir Ali <81847925+syedmubashiralii@users.noreply.github.com> Date: Tue, 22 Apr 2025 14:00:57 +0500 Subject: [PATCH 2/3] Update dublin_core.dart --- lib/domain/dublin_core/dublin_core.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/domain/dublin_core/dublin_core.dart b/lib/domain/dublin_core/dublin_core.dart index 5110ac8..b34890b 100644 --- a/lib/domain/dublin_core/dublin_core.dart +++ b/lib/domain/dublin_core/dublin_core.dart @@ -20,6 +20,7 @@ class DublinCore { final String? relation; final String? coverage; final String? rights; + final String? dateString; DublinCore({ this.title, @@ -39,6 +40,7 @@ class DublinCore { this.relation, this.coverage, this.rights, + this.dateString }); factory DublinCore.parse(XmlElement element) { @@ -53,6 +55,8 @@ class DublinCore { element.findElements('dc:contributor').firstOrNull?.innerText, date: parseDateTime(element.findElements('dc:date').firstOrNull?.innerText), + dateString: + element.findElements('dc:date').firstOrNull?.innerText, created: parseDateTime( element.findElements('dc:created').firstOrNull?.innerText), modified: parseDateTime( From 6ca59b1cb7a84f4bcaf6c356bf53389fd39bd88a Mon Sep 17 00:00:00 2001 From: Syed Mubashir Ali <81847925+syedmubashiralii@users.noreply.github.com> Date: Fri, 25 Apr 2025 15:03:59 +0500 Subject: [PATCH 3/3] Update pubspec.yaml --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index cdafd25..3712195 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -10,7 +10,7 @@ environment: dependencies: xml: ^6.4.2 - intl: ^0.19.0 + intl: ^0.20.0 dev_dependencies: flutter_lints: ^4.0.0