1
0
mirror of https://github.com/stonega/tsacdop synced 2025-01-24 20:52:56 +01:00
tsacdop-podcast-app-android/lib/webfeed/domain/media/group.dart
stonegate 1021f2eea4 modified: lib/class/audiostate.dart
new file:   lib/class/fireside_data.dart
	modified:   lib/episodes/episodedetail.dart
	modified:   lib/home/appbar/addpodcast.dart
	modified:   lib/home/audioplayer.dart
	modified:   lib/local_storage/key_value_storage.dart
	modified:   lib/local_storage/sqflite_localpodcast.dart
	modified:   lib/podcasts/podcastdetail.dart
	modified:   lib/webfeed/domain/atom_feed.dart
	modified:   lib/webfeed/domain/atom_item.dart
	modified:   lib/webfeed/domain/atom_person.dart
	modified:   lib/webfeed/domain/atom_source.dart
	modified:   lib/webfeed/domain/media/community.dart
	modified:   lib/webfeed/domain/media/embed.dart
	modified:   lib/webfeed/domain/media/group.dart
	modified:   lib/webfeed/domain/media/media.dart
	modified:   lib/webfeed/domain/media/scene.dart
	modified:   pubspec.lock
	modified:   pubspec.yaml
2020-02-26 17:54:59 +08:00

41 lines
1.1 KiB
Dart

import 'package:tsacdop/webfeed/domain/media/category.dart';
import 'package:tsacdop/webfeed/domain/media/content.dart';
import 'package:tsacdop/webfeed/domain/media/credit.dart';
import 'package:tsacdop/webfeed/domain/media/rating.dart';
import 'package:tsacdop/webfeed/util/helpers.dart';
import 'package:xml/xml.dart';
class Group {
final List<Content> contents;
final List<Credit> credits;
final Category category;
final Rating rating;
Group({
this.contents,
this.credits,
this.category,
this.rating,
});
factory Group.parse(XmlElement element) {
if (element == null) {
return null;
}
return new Group(
contents: element.findElements("media:content").map((e) {
return new Content.parse(e);
}).toList(),
credits: element.findElements("media:credit").map((e) {
return new Credit.parse(e);
}).toList(),
category: new Category.parse(
findElementOrNull(element, "media:category"),
),
rating: new Rating.parse(
findElementOrNull(element, "media:rating"),
),
);
}
}