2023.10.12.0

API.ThisVid: update parser ('SessionPosts')
This commit is contained in:
Andy
2023-10-12 19:47:02 +03:00
parent 831d9a5a09
commit 6def34d5e9

View File

@@ -180,7 +180,7 @@ Namespace API.ThisVid
#Region "Initializer" #Region "Initializer"
Friend Sub New() Friend Sub New()
UseClientTokens = True UseClientTokens = True
PagePosts = New List(Of String) SessionPosts = New List(Of String)
End Sub End Sub
#End Region #End Region
#Region "Validation" #Region "Validation"
@@ -224,10 +224,10 @@ Namespace API.ThisVid
End Function End Function
#End Region #End Region
#Region "Download functions" #Region "Download functions"
Private ReadOnly PagePosts As List(Of String) Private ReadOnly SessionPosts As List(Of String)
Private AddedCount As Integer = 0 Private AddedCount As Integer = 0
Protected Overrides Sub DownloadDataF(ByVal Token As CancellationToken) Protected Overrides Sub DownloadDataF(ByVal Token As CancellationToken)
PagePosts.Clear() SessionPosts.Clear()
AddedCount = 0 AddedCount = 0
Responser.Cookies.ChangedAllowInternalDrop = False Responser.Cookies.ChangedAllowInternalDrop = False
Responser.Cookies.Changed = False Responser.Cookies.Changed = False
@@ -289,6 +289,7 @@ Namespace API.ThisVid
ProgressPre.Perform() ProgressPre.Perform()
Dim r$ = Responser.GetResponse(URL) Dim r$ = Responser.GetResponse(URL)
Dim cBefore% = _TempMediaList.Count Dim cBefore% = _TempMediaList.Count
Dim prevPostsFound As Boolean = False, newPostsFound As Boolean = False
If Not r.IsEmptyString Then If Not r.IsEmptyString Then
Dim __SpecialFolder$ = If(DifferentFolders And Not IsSavedPosts And IsUser, Dim __SpecialFolder$ = If(DifferentFolders And Not IsSavedPosts And IsUser,
Interaction.Switch(Model = 0, "Public", Model = 1, "Private", Model = 2, "Favourite"), Interaction.Switch(Model = 0, "Public", Model = 1, "Private", Model = 2, "Favourite"),
@@ -301,20 +302,22 @@ Namespace API.ThisVid
_TempPostsList.Add(u) _TempPostsList.Add(u)
_TempMediaList.Add(New UserMedia(u) With {.Type = UserMedia.Types.VideoPre, .SpecialFolder = __SpecialFolder}) _TempMediaList.Add(New UserMedia(u) With {.Type = UserMedia.Types.VideoPre, .SpecialFolder = __SpecialFolder})
AddedCount += 1 AddedCount += 1
newPostsFound = True
If limit > 0 And AddedCount >= limit Then Exit Sub If limit > 0 And AddedCount >= limit Then Exit Sub
ElseIf PagePosts.Count > 0 AndAlso PagePosts.Contains(u) Then ElseIf SessionPosts.Count > 0 AndAlso SessionPosts.Contains(u) Then
prevPostsFound = True
Continue For Continue For
Else Else
Exit Sub Exit Sub
End If End If
End If End If
Next Next
PagePosts.Clear() SessionPosts.ListAddList(l, LNC)
PagePosts.AddRange(l)
l.Clear() l.Clear()
End If End If
End If End If
If Not cBefore = _TempMediaList.Count And (IsUser Or Page < 1000) Then DownloadData(Page + 1, Model, Token) If (Not IsUser And prevPostsFound And Not newPostsFound And Page < 1000) Or
(Not cBefore = _TempMediaList.Count And (IsUser Or Page < 1000)) Then DownloadData(Page + 1, Model, Token)
Catch aex As ArgumentNullException When aex.HelpLink = 1 Catch aex As ArgumentNullException When aex.HelpLink = 1
Catch ex As Exception Catch ex As Exception
ProcessException(ex, Token, $"videos downloading error [{URL}]") ProcessException(ex, Token, $"videos downloading error [{URL}]")
@@ -548,7 +551,7 @@ Namespace API.ThisVid
#End Region #End Region
#Region "IDisposable Support" #Region "IDisposable Support"
Protected Overrides Sub Dispose(ByVal disposing As Boolean) Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If Not disposedValue And disposing Then PagePosts.Clear() If Not disposedValue And disposing Then SessionPosts.Clear()
MyBase.Dispose(disposing) MyBase.Dispose(disposing)
End Sub End Sub
#End Region #End Region