From 386069c8a493d5f536a400ef239f49a9190cf8c1 Mon Sep 17 00:00:00 2001 From: Mattia Date: Sat, 27 Feb 2021 18:58:42 +0100 Subject: [PATCH] Version 1.8.0-beta.2 #100 --- CHANGELOG.md | 3 + lib/src/playlists/playlist_client.dart | 3 +- .../responses/search_page.dart | 8 +- lib/src/search/search_list.dart | 85 +++++++++++++++++-- lib/src/search/search_video.dart | 40 +++++---- lib/src/videos/video.dart | 7 ++ lib/src/videos/video_client.dart | 39 +-------- pubspec.yaml | 2 +- test/comments_client_test.dart | 2 +- test/search_test.dart | 16 ++-- 10 files changed, 136 insertions(+), 69 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 654233a..42e59f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## 1.8.0-beta.2 +- `search.getVideos` now returns a `Video` instance. + ## 1.8.0-beta.1 - Removed deprecation of `Video`. - Exported `SearchList`. diff --git a/lib/src/playlists/playlist_client.dart b/lib/src/playlists/playlist_client.dart index b9b14fe..51d1c9e 100644 --- a/lib/src/playlists/playlist_client.dart +++ b/lib/src/playlists/playlist_client.dart @@ -56,7 +56,8 @@ class PlaylistClient { video.duration, ThumbnailSet(videoId), video.keywords, - Engagement(video.viewCount, video.likes, video.dislikes)); + Engagement(video.viewCount, video.likes, video.dislikes), + null); countDelta++; } diff --git a/lib/src/reverse_engineering/responses/search_page.dart b/lib/src/reverse_engineering/responses/search_page.dart index aa31a1a..5e3c0c5 100644 --- a/lib/src/reverse_engineering/responses/search_page.dart +++ b/lib/src/reverse_engineering/responses/search_page.dart @@ -251,10 +251,16 @@ class _InitialData { int.parse(renderer.viewCountText?.simpleText ?.stripNonDigits() ?.nullIfWhitespace ?? + renderer.viewCountText?.runs?.first?.text + ?.stripNonDigits() + ?.nullIfWhitespace ?? '0'), (renderer.thumbnail.thumbnails ?? []) .map((e) => Thumbnail(Uri.parse(e.url), e.height, e.width)) - .toList()); + .toList(), + renderer.publishedTimeText?.simpleText, + renderer?.viewCountText?.runs?.elementAt(1)?.text?.trim() == + 'watching'); } if (content.radioRenderer != null) { var renderer = content.radioRenderer; diff --git a/lib/src/search/search_list.dart b/lib/src/search/search_list.dart index 708def9..0a0fcf1 100644 --- a/lib/src/search/search_list.dart +++ b/lib/src/search/search_list.dart @@ -5,16 +5,29 @@ import 'package:collection/collection.dart'; import '../../youtube_explode_dart.dart'; /// This list contains search videos. -class SearchList extends DelegatingList { - final Stream _stream; +class SearchList extends DelegatingList