From 54f9a14c9a2199b22a368ba85e24726e99a049cb Mon Sep 17 00:00:00 2001 From: Demetria Lovato Date: Mon, 28 Jun 2021 00:38:35 -0700 Subject: [PATCH] add thumbnail download to downloader --- .vs/youtube-downloader/v16/.suo | Bin 183808 -> 183808 bytes Server/Functions/Downloader.cs | 27 ++++++++++++++++++++++++--- bin/Debug/youtube-downloader.exe | Bin 48128 -> 48640 bytes bin/Debug/youtube-downloader.pdb | Bin 120320 -> 120320 bytes obj/Debug/youtube-downloader.exe | Bin 48128 -> 48640 bytes obj/Debug/youtube-downloader.pdb | Bin 120320 -> 120320 bytes 6 files changed, 24 insertions(+), 3 deletions(-) diff --git a/.vs/youtube-downloader/v16/.suo b/.vs/youtube-downloader/v16/.suo index 94bba03c676a9e23bfd42666e1f91e27fcb0abb6..9fe42a480c8b1eed641e496b02d570bb14a61254 100644 GIT binary patch delta 3502 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 media = new List(); try { - await DL.ytc.Search.GetVideosAsync(text).ForEachAsync((e) => { media.Add(new SavedMedia() { Title = e.Title, Id = e.Id, Kind = InfoType.Video }); }); - await DL.ytc.Search.GetPlaylistsAsync(text).ForEachAsync((e) => { media.Add(new SavedMedia() { Title = e.Title, Id = e.Id, Kind = InfoType.Playlist }); }); - await DL.ytc.Search.GetChannelsAsync(text).ForEachAsync((e) => { media.Add(new SavedMedia() { Title = e.Title, Id = e.Id, Kind = InfoType.Channel }); }); + await DL.ytc.Search.GetVideosAsync(text).ForEachAsync((e) => { + foreach(var t in e.Thumbnails) + { + DL._DownloadThumbnail(t.Resolution.Width, t.Resolution.Height, e.Id, t.Url); + } + media.Add(new SavedMedia() {Title = e.Title, Id = e.Id, Kind = InfoType.Video }); + + }); + await DL.ytc.Search.GetPlaylistsAsync(text).ForEachAsync((e) => { + foreach (var t in e.Thumbnails) + { + DL._DownloadThumbnail(t.Resolution.Width, t.Resolution.Height, e.Id, t.Url); + } + media.Add(new SavedMedia() { Title = e.Title, Id = e.Id, Kind = InfoType.Playlist }); + + }); + await DL.ytc.Search.GetChannelsAsync(text).ForEachAsync((e) => { + foreach (var t in e.Thumbnails) + { + DL._DownloadThumbnail(t.Resolution.Width, t.Resolution.Height, e.Id, t.Url); + } + media.Add(new SavedMedia() { Title = e.Title, Id = e.Id, Kind = InfoType.Channel }); + + }); }catch (Exception ex) { _ = ex; diff --git a/bin/Debug/youtube-downloader.exe b/bin/Debug/youtube-downloader.exe index 9312185514ea336d3bdce183b3c8363197703373..94d3b13b2e1c466363312d6f8dd2cb7f25a38917 100644 GIT binary patch delta 5850 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 aEm^^hBf_4Ba}GK7`mp!)@1!Mp&i?|JRkHQ~ delta 5227 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 aEm^^hBf_4Ba}GK7`mp!)@1!Mp&i?|JRkHQ~ delta 5227 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