mirror of
https://github.com/AAndyProgram/SCrawler.git
synced 2026-03-15 08:12:17 +00:00
2023.10.4.0
YT: file name is missing when destination is changed by selecting one of the saved locations; missing files still appear in the list API.UserDataBase: hide 'OperationCanceledException' and 'ObjectDisposedException' API.Reddit: unable to save settings without OAuth data TDownloader: 'ReconfPool' MainFrame: replace 'DownloadQueue.FormShow' with 'ShowDownloadQueueForm' SettingsHost: add a notification if the user has disabled downloading from the site
This commit is contained in:
@@ -1305,6 +1305,10 @@ BlockNullPicture:
|
||||
DownloadSingleObject_CreateMedia(Data, Token)
|
||||
DownloadSingleObject_Download(Data, Token)
|
||||
DownloadSingleObject_PostProcessing(Data)
|
||||
Catch oex As OperationCanceledException When Token.IsCancellationRequested
|
||||
Data.DownloadState = UserMediaStates.Missing
|
||||
ErrorsDescriber.Execute(EDP.SendToLog, oex, $"{Site} download canceled: {Data.URL}")
|
||||
Catch dex As ObjectDisposedException When Disposed
|
||||
Catch ex As Exception
|
||||
Data.DownloadState = UserMediaStates.Missing
|
||||
ErrorsDescriber.Execute(EDP.SendToLog, ex, $"{Site} single data downloader error: {Data.URL}")
|
||||
|
||||
@@ -238,7 +238,7 @@ Namespace API.Reddit
|
||||
For i% = 0 To p.Count - 1
|
||||
If CStr(p(i).Value).IsEmptyString Then wrong.Add(p(i).Name)
|
||||
Next
|
||||
If wrong.Count > 0 Then
|
||||
If wrong.Count > 0 And wrong.Count <> 4 Then
|
||||
MsgBoxE({$"You have not completed the following fields: {wrong.ListToString}." & vbCr &
|
||||
"To use OAuth authorization, all authorization fields must be filled in.", "Validate token fields"}, vbCritical)
|
||||
Return False
|
||||
|
||||
@@ -303,32 +303,40 @@ Namespace DownloadObjects
|
||||
End Sub
|
||||
#End Region
|
||||
#Region "Pool"
|
||||
Friend Sub ReconfPool()
|
||||
If Pool.Count = 0 OrElse Not Pool.Exists(Function(j) j.Working Or j.Count > 0) Then
|
||||
Dim i%
|
||||
Pool.ListClearDispose
|
||||
If Settings.Plugins.Count > 0 Then
|
||||
Pool.Add(New Job(Download.Main))
|
||||
For Each p As PluginHost In Settings.Plugins
|
||||
If p.Settings.IsSeparatedTasks Then
|
||||
Pool.Add(New Job(Download.Main))
|
||||
Pool.Last.AddHost(p.Settings)
|
||||
ElseIf Not p.Settings.TaskGroupName.IsEmptyString Then
|
||||
i = -1
|
||||
If Pool.Count > 0 Then i = Pool.FindIndex(Function(pt) pt.GroupName = p.Settings.TaskGroupName)
|
||||
If i >= 0 Then
|
||||
Pool(i).AddHost(p.Settings)
|
||||
Else
|
||||
Pool.Add(New Job(Download.Main, p.Settings.TaskGroupName))
|
||||
Friend Sub ReconfPool(Optional ByVal Round As Integer = 0)
|
||||
Try
|
||||
If Pool.Count = 0 OrElse Not Pool.Exists(Function(j) j.Working Or j.Count > 0) Then
|
||||
Dim i%
|
||||
Pool.ListClearDispose
|
||||
If Settings.Plugins.Count > 0 Then
|
||||
Pool.Add(New Job(Download.Main))
|
||||
For Each p As PluginHost In Settings.Plugins
|
||||
If p.Settings.IsSeparatedTasks Then
|
||||
Pool.Add(New Job(Download.Main))
|
||||
Pool.Last.AddHost(p.Settings)
|
||||
ElseIf Not p.Settings.TaskGroupName.IsEmptyString Then
|
||||
i = -1
|
||||
If Pool.Count > 0 Then i = Pool.FindIndex(Function(pt) pt.GroupName = p.Settings.TaskGroupName)
|
||||
If i >= 0 Then
|
||||
Pool(i).AddHost(p.Settings)
|
||||
Else
|
||||
Pool.Add(New Job(Download.Main, p.Settings.TaskGroupName))
|
||||
Pool.Last.AddHost(p.Settings)
|
||||
End If
|
||||
Else
|
||||
Pool(0).AddHost(p.Settings)
|
||||
End If
|
||||
Else
|
||||
Pool(0).AddHost(p.Settings)
|
||||
End If
|
||||
Next
|
||||
Next
|
||||
End If
|
||||
RaiseEvent Reconfigured()
|
||||
End If
|
||||
RaiseEvent Reconfigured()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
If Round = 0 Then
|
||||
ReconfPool(Round + 1)
|
||||
Else
|
||||
Throw ex
|
||||
End If
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
#Region "Thread"
|
||||
|
||||
@@ -423,7 +423,19 @@ CloseResume:
|
||||
InfoForm.FormShow(EDP.LogMessageValue)
|
||||
End Sub
|
||||
Private Sub MENU_INFO_SHOW_QUEUE_Click(sender As Object, e As EventArgs) Handles MENU_INFO_SHOW_QUEUE.Click
|
||||
DownloadQueue.FormShow(EDP.LogMessageValue)
|
||||
ShowDownloadQueueForm()
|
||||
End Sub
|
||||
Private Sub ShowDownloadQueueForm(Optional ByVal Round As Integer = 0)
|
||||
Try
|
||||
DownloadQueue.FormShow(EDP.LogMessageValue)
|
||||
Catch ex As Exception
|
||||
If Round = 0 Then
|
||||
If Not DownloadQueue Is Nothing Then DownloadQueue.Dispose() : DownloadQueue = Nothing
|
||||
ShowDownloadQueueForm(Round + 1)
|
||||
Else
|
||||
ErrorsDescriber.Execute(EDP.SendToLog, ex, "ShowDownloadQueueForm")
|
||||
End If
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub MENU_INFO_SHOW_MISSING_Click(sender As Object, e As EventArgs) Handles MENU_INFO_SHOW_MISSING.Click
|
||||
MyMissingPosts.FormShow(EDP.LogMessageValue)
|
||||
|
||||
@@ -331,6 +331,7 @@ Namespace Plugin.Hosts
|
||||
End If
|
||||
Return _AvailableValue
|
||||
Else
|
||||
If Not Silent Then MsgBoxE({$"Downloading data for the site {Name} has been disabled by you.", $"{Name} downloading disabled"}, vbExclamation)
|
||||
Return False
|
||||
End If
|
||||
End Function
|
||||
|
||||
Reference in New Issue
Block a user