diff --git a/lib/src/channels/channel_client.dart b/lib/src/channels/channel_client.dart index e4c32d1..1b2cbc7 100644 --- a/lib/src/channels/channel_client.dart +++ b/lib/src/channels/channel_client.dart @@ -1,11 +1,12 @@ import 'package:youtube_explode_dart/src/channels/channel_uploads_list.dart'; +import 'package:youtube_explode_dart/src/reverse_engineering/pages/channel_page.dart'; +import 'package:youtube_explode_dart/src/reverse_engineering/responses/video_info_response.dart'; import '../common/common.dart'; import '../extensions/helpers_extension.dart'; import '../playlists/playlists.dart'; -import '../reverse_engineering/responses/channel_about_page.dart'; -import '../reverse_engineering/responses/channel_upload_page.dart'; -import '../reverse_engineering/responses/responses.dart'; +import '../reverse_engineering/pages/channel_about_page.dart'; +import '../reverse_engineering/pages/channel_upload_page.dart'; import '../reverse_engineering/youtube_http_client.dart'; import '../videos/video.dart'; import '../videos/video_id.dart'; @@ -55,16 +56,16 @@ class ChannelClient { final aboutPage = await ChannelAboutPage.get(_httpClient, channelId.value); final id = aboutPage.initialData; return ChannelAbout( - id.description, - id.viewCount, - id.joinDate, - id.title, + aboutPage.description, + aboutPage.viewCount, + aboutPage.joinDate, + aboutPage.title, [ - for (var e in id.avatar) + for (var e in aboutPage.avatar) Thumbnail(Uri.parse(e['url']), e['height'], e['width']) ], - id.country, - id.channelLinks); + aboutPage.country, + aboutPage.channelLinks); } /// Gets the info found on a YouTube Channel About page. @@ -125,7 +126,7 @@ class ChannelClient { final channel = await get(channelId); return ChannelUploadsList( - page.initialData.uploads + page.uploads .map((e) => Video( e.videoId, e.videoTitle, diff --git a/lib/src/channels/channel_uploads_list.dart b/lib/src/channels/channel_uploads_list.dart index b7a61bd..fa7bc8a 100644 --- a/lib/src/channels/channel_uploads_list.dart +++ b/lib/src/channels/channel_uploads_list.dart @@ -1,7 +1,7 @@ import 'dart:async'; import 'package:collection/collection.dart'; -import 'package:youtube_explode_dart/src/reverse_engineering/responses/channel_upload_page.dart'; +import 'package:youtube_explode_dart/src/reverse_engineering/pages/channel_upload_page.dart'; import '../../youtube_explode_dart.dart'; import '../extensions/helpers_extension.dart'; diff --git a/lib/src/extensions/helpers_extension.dart b/lib/src/extensions/helpers_extension.dart index f399a27..83c02cf 100644 --- a/lib/src/extensions/helpers_extension.dart +++ b/lib/src/extensions/helpers_extension.dart @@ -5,6 +5,8 @@ import 'package:collection/collection.dart'; import '../reverse_engineering/cipher/cipher_operations.dart'; +typedef JsonMap = Map; + /// Utility for Strings. extension StringUtility on String { /// Returns null if this string is whitespace. diff --git a/lib/src/playlists/playlist.dart b/lib/src/playlists/playlist.dart index d2a2dff..5a2e44d 100644 --- a/lib/src/playlists/playlist.dart +++ b/lib/src/playlists/playlist.dart @@ -1,4 +1,3 @@ -import 'package:equatable/equatable.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; import '../common/common.dart'; diff --git a/lib/src/playlists/playlist_client.dart b/lib/src/playlists/playlist_client.dart index e26f864..1f0903a 100644 --- a/lib/src/playlists/playlist_client.dart +++ b/lib/src/playlists/playlist_client.dart @@ -1,5 +1,5 @@ import 'package:youtube_explode_dart/src/channels/channel_id.dart'; -import 'package:youtube_explode_dart/src/reverse_engineering/responses/playlist_page.dart'; +import 'package:youtube_explode_dart/src/reverse_engineering/pages/playlist_page.dart'; import '../common/common.dart'; import '../reverse_engineering/youtube_http_client.dart'; @@ -22,25 +22,51 @@ class PlaylistClient { var response = await PlaylistPage.get(_httpClient, id.value); return Playlist( id, - response.initialData.title ?? '', - response.initialData.author ?? '', - response.initialData.description ?? '', + response.title ?? '', + response.author ?? '', + response.description ?? '', ThumbnailSet(id.value), - Engagement(response.initialData.viewCount ?? 0, null, null)); + Engagement(response.viewCount ?? 0, null, null)); } /// Enumerates videos included in the specified playlist. Stream