The Webfeed Flutter package for Appeto SDK.
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

44 řádky
1.2 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/group.dart';
  5. import 'package:webfeed/domain/media/rating.dart';
  6. import 'package:webfeed/util/helpers.dart';
  7. import 'package:xml/xml.dart';
  8. class Media {
  9. final Group group;
  10. final List<Content> contents;
  11. final List<Credit> credits;
  12. final Category category;
  13. final Rating rating;
  14. Media({
  15. this.group,
  16. this.contents,
  17. this.credits,
  18. this.category,
  19. this.rating,
  20. });
  21. factory Media.parse(XmlElement element) {
  22. return new Media(
  23. group: new Group.parse(
  24. findElementOrNull(element, "media:group"),
  25. ),
  26. contents: element.findElements("media:content").map((e) {
  27. return new Content.parse(e);
  28. }).toList(),
  29. credits: element.findElements("media:credit").map((e) {
  30. return new Credit.parse(e);
  31. }).toList(),
  32. category: new Category.parse(
  33. findElementOrNull(element, "media:category"),
  34. ),
  35. rating: new Rating.parse(
  36. findElementOrNull(element, "media:rating"),
  37. ),
  38. );
  39. }
  40. }