From b37f6415828598a480db83a42d92992aa3ca0786 Mon Sep 17 00:00:00 2001 From: Andy <88590076+AAndyProgram@users.noreply.github.com> Date: Thu, 18 Jan 2024 01:23:55 +0300 Subject: [PATCH] 2024.1.18.0 YT: url array form doesn't show scrollbars API.Instagram: change aspect ratio determining API.xHamster: some user videos were not downloaded API.UserDataBind: incorrect collection sorting DownloadFeedForm: change separator in result dialog when merging feeds --- Changelog.md | 10 ++++++++++ .../Controls/PlaylistArrayForm.Designer.vb | 1 + SCrawler.YouTube/My Project/AssemblyInfo.vb | 4 ++-- SCrawler.YouTubeDownloader/My Project/AssemblyInfo.vb | 4 ++-- SCrawler/API/Instagram/UserData.vb | 3 ++- SCrawler/API/UserDataBind.vb | 9 +++++++++ SCrawler/API/Xhamster/M3U8.vb | 5 +++++ SCrawler/Download/Feed/DownloadFeedForm.vb | 2 +- SCrawler/My Project/AssemblyInfo.vb | 4 ++-- 9 files changed, 34 insertions(+), 8 deletions(-) diff --git a/Changelog.md b/Changelog.md index 2ae2924..c1104b0 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,13 @@ +# 2024.1.18.0 + +*2024-01-18* + +- Fixed + - Main window: incorrect collection sorting + - xHamster: some user videos were not downloaded + - YouTube (standalone app): URL array form doesn't show scrollbars + - Minor bugs + # 2024.1.12.1 *2024-01-12* diff --git a/SCrawler.YouTube/Controls/PlaylistArrayForm.Designer.vb b/SCrawler.YouTube/Controls/PlaylistArrayForm.Designer.vb index 94b3c71..469c949 100644 --- a/SCrawler.YouTube/Controls/PlaylistArrayForm.Designer.vb +++ b/SCrawler.YouTube/Controls/PlaylistArrayForm.Designer.vb @@ -100,6 +100,7 @@ Namespace API.YouTube.Controls Me.TXT_URLS.MaxLength = 2147483647 Me.TXT_URLS.Multiline = True Me.TXT_URLS.Name = "TXT_URLS" + Me.TXT_URLS.ScrollBars = System.Windows.Forms.ScrollBars.Both Me.TXT_URLS.Size = New System.Drawing.Size(372, 261) Me.TXT_URLS.TabIndex = 0 ' diff --git a/SCrawler.YouTube/My Project/AssemblyInfo.vb b/SCrawler.YouTube/My Project/AssemblyInfo.vb index a0c9ab3..c75c616 100644 --- a/SCrawler.YouTube/My Project/AssemblyInfo.vb +++ b/SCrawler.YouTube/My Project/AssemblyInfo.vb @@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices ' by using the '*' as shown below: ' - - + + diff --git a/SCrawler.YouTubeDownloader/My Project/AssemblyInfo.vb b/SCrawler.YouTubeDownloader/My Project/AssemblyInfo.vb index aab57dc..90f385c 100644 --- a/SCrawler.YouTubeDownloader/My Project/AssemblyInfo.vb +++ b/SCrawler.YouTubeDownloader/My Project/AssemblyInfo.vb @@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices ' by using the '*' as shown below: ' - - + + diff --git a/SCrawler/API/Instagram/UserData.vb b/SCrawler/API/Instagram/UserData.vb index 9527d48..77beff2 100644 --- a/SCrawler/API/Instagram/UserData.vb +++ b/SCrawler/API/Instagram/UserData.vb @@ -749,7 +749,8 @@ Namespace API.Instagram Dim maxSize As Func(Of EContainer, Integer) = Function(ByVal _ss As EContainer) As Integer Dim w% = AConvert(Of Integer)(_ss.Value("width"), 0) Dim h% = AConvert(Of Integer)(_ss.Value("height"), 0) - Return Math.Max(w, h) + Return w + h + 'Return Math.Max(w, h) End Function Dim wrongData As Predicate(Of Sizes) = Function(_ss) _ss.HasError Or _ss.Data.IsEmptyString Dim img As Predicate(Of EContainer) = Function(_img) Not _img.Name.IsEmptyString AndAlso _img.Name.StartsWith("image_versions") AndAlso _img.Count > 0 diff --git a/SCrawler/API/UserDataBind.vb b/SCrawler/API/UserDataBind.vb index 38a5099..b3295c8 100644 --- a/SCrawler/API/UserDataBind.vb +++ b/SCrawler/API/UserDataBind.vb @@ -741,6 +741,15 @@ Namespace API Return GetEnumerator() End Function #End Region +#Region "IComparable Support" + Friend Overrides Function CompareTo(ByVal Other As UserDataBase) As Integer + If TypeOf Other Is UserDataBind Then + Return CollectionName.CompareTo(Other.CollectionName) + Else + Return -1 + End If + End Function +#End Region #Region "IEquatable support" Friend Overrides Function Equals(ByVal Other As UserDataBase) As Boolean If Other.IsCollection Then diff --git a/SCrawler/API/Xhamster/M3U8.vb b/SCrawler/API/Xhamster/M3U8.vb index a994955..5509dd6 100644 --- a/SCrawler/API/Xhamster/M3U8.vb +++ b/SCrawler/API/Xhamster/M3U8.vb @@ -84,10 +84,15 @@ Namespace API.Xhamster End Function Private Shared Function ObtainUrls(ByVal URL As String, ByVal Responser As Responser, ByVal UHD As Boolean) As List(Of M3U8URL) Try + Const sk$ = "/key=" Dim file$ = ParseFirstM3U8(URL, Responser, UHD) If Not file.IsEmptyString Then Responser.UseGZipStream = False Dim appender$ = URL.Replace(URL.Split("/").LastOrDefault, String.Empty) + If file.StartsWith(sk) Then + Dim position% = InStr(URL, sk) + If position > 0 Then appender = URL.Remove(position - 1) + End If URL = M3U8Base.CreateUrl(appender, file) Dim l As List(Of M3U8URL) = ParseSecondM3U8(URL, Responser, appender) If l.ListExists Then Return l diff --git a/SCrawler/Download/Feed/DownloadFeedForm.vb b/SCrawler/Download/Feed/DownloadFeedForm.vb index d5ea69f..65119be 100644 --- a/SCrawler/Download/Feed/DownloadFeedForm.vb +++ b/SCrawler/Download/Feed/DownloadFeedForm.vb @@ -580,7 +580,7 @@ Namespace DownloadObjects x.Dispose() For i = 1 To files.Count - 1 : files(i).Delete(SFO.File, SFODelete.DeleteToRecycleBin, EDP.ReturnValue) : Next MsgBoxE({$"Session data was combined into '{files(0).Name}'.{vbCr}{vbCr}" & - files.ListToStringE(, New CustomProvider(Function(ff As SFile) ff.Name),,, EDP.ReturnValue), msgTitle}) + files.ListToStringE(vbCr, New CustomProvider(Function(ff As SFile) ff.Name),,, EDP.ReturnValue), msgTitle}) files.Clear() data.Clear() Else diff --git a/SCrawler/My Project/AssemblyInfo.vb b/SCrawler/My Project/AssemblyInfo.vb index b27c679..3e7b84e 100644 --- a/SCrawler/My Project/AssemblyInfo.vb +++ b/SCrawler/My Project/AssemblyInfo.vb @@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices ' by using the '*' as shown below: ' - - + +