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