The Webfeed Flutter package for Appeto SDK.
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.0 KiB

  1. import 'package:webfeed/domain/media/category.dart';
  2. import 'package:webfeed/domain/media/content.dart';
  3. import 'package:webfeed/domain/media/credit.dart';
  4. import 'package:webfeed/domain/media/rating.dart';
  5. import 'package:webfeed/util/xml.dart';
  6. import 'package:xml/xml.dart';
  7. class Group {
  8. final List<Content> contents;
  9. final List<Credit> credits;
  10. final Category category;
  11. final Rating rating;
  12. Group({
  13. this.contents,
  14. this.credits,
  15. this.category,
  16. this.rating,
  17. });
  18. factory Group.parse(XmlElement element) {
  19. if (element == null) {
  20. return null;
  21. }
  22. return new Group(
  23. contents: element.findElements("media:content").map((e) {
  24. return new Content.parse(e);
  25. }).toList(),
  26. credits: element.findElements("media:credit").map((e) {
  27. return new Credit.parse(e);
  28. }).toList(),
  29. category: new Category.parse(
  30. findElementOrNull(element, "media:category"),
  31. ),
  32. rating: new Rating.parse(
  33. findElementOrNull(element, "media:rating"),
  34. ),
  35. );
  36. }
  37. }