Added Instagram downloading, filter by site, channels groups, change folder function, imgur compatibility, special folders, deleting with keeping data, Reddit saved posts downloading
Fixed limited twitter downloading, suspended profiles
Updated download algo
Concat sites editors into a single form
Updated Reddit downloading algo
Fixed saved function in video downloader
Some improvements
This commit is contained in:
Andy
2021-12-27 00:31:03 +03:00
parent 5f2c4476ad
commit 4db7a74e1a
47 changed files with 4682 additions and 2105 deletions

View File

@@ -12,6 +12,19 @@ Imports PersonalUtilities.Forms.Toolbars
Namespace Editors
Friend Class GlobalSettingsForm : Implements IOkCancelToolbar
Private ReadOnly MyDefs As DefaultFormProps(Of FieldsChecker)
Private Class SavedPostsChecker : Implements ICustomProvider
Private Function Convert(ByVal Value As Object, ByVal DestinationType As Type, ByVal Provider As IFormatProvider,
Optional ByVal NothingArg As Object = Nothing, Optional ByVal e As ErrorsDescriber = Nothing) As Object Implements ICustomProvider.Convert
If Not ACheck(Value) OrElse CStr(Value).Contains("/") Then
Return Nothing
Else
Return Value
End If
End Function
Private Function GetFormat(ByVal FormatType As Type) As Object Implements IFormatProvider.GetFormat
Throw New NotImplementedException()
End Function
End Class
Friend Sub New()
InitializeComponent()
MyDefs = New DefaultFormProps(Of FieldsChecker)
@@ -31,6 +44,7 @@ Namespace Editors
TXT_MAX_JOBS_USERS.Value = .MaxUsersJobsCount.Value
TXT_MAX_JOBS_CHANNELS.Value = .ChannelsMaxJobsCount.Value
CH_CHECK_VER_START.Checked = .CheckUpdatesAtStart
TXT_IMGUR_CLIENT_ID.Text = .ImgurClientID
'Defaults
CH_SEPARATE_VIDEO_FOLDER.Checked = .SeparateVideoFolder.Value
CH_DEF_TEMP.Checked = .DefaultTemporary
@@ -52,19 +66,31 @@ Namespace Editors
OPT_FILE_DATE_START.Checked = Not .FileDateTimePositionEnd
OPT_FILE_DATE_END.Checked = .FileDateTimePositionEnd
'Reddit
SetChecker(CH_REDDIT_TEMP, .RedditTemporary)
SetChecker(CH_REDDIT_DOWN_IMG, .RedditDownloadImages)
SetChecker(CH_REDDIT_DOWN_VID, .RedditDownloadVideos)
With .Site(Sites.Reddit)
SetChecker(CH_REDDIT_TEMP, .Temporary)
SetChecker(CH_REDDIT_DOWN_IMG, .DownloadImages)
SetChecker(CH_REDDIT_DOWN_VID, .DownloadVideos)
TXT_REDDIT_SAVED_POSTS_USER.Text = .SavedPostsUserName
End With
'Twitter
SetChecker(CH_TWITTER_TEMP, .TwitterTemporary)
SetChecker(CH_TWITTER_DOWN_IMG, .TwitterDownloadImages)
SetChecker(CH_TWITTER_DOWN_VID, .TwitterDownloadVideos)
CH_TWITTER_USER_MEDIA.Checked = .TwitterDefaultGetUserMedia
With .Site(Sites.Twitter)
SetChecker(CH_TWITTER_TEMP, .Temporary)
SetChecker(CH_TWITTER_DOWN_IMG, .DownloadImages)
SetChecker(CH_TWITTER_DOWN_VID, .DownloadVideos)
CH_TWITTER_USER_MEDIA.Checked = .GetUserMediaOnly
End With
'Instagram
With .Site(Sites.Instagram)
SetChecker(CH_INSTA_TEMP, .Temporary)
SetChecker(CH_INSTA_DOWN_IMG, .DownloadImages)
SetChecker(CH_INSTA_DOWN_VID, .DownloadVideos)
End With
End With
.MyFieldsChecker = New FieldsChecker
With .MyFieldsChecker
.AddControl(Of String)(TXT_GLOBAL_PATH, TXT_GLOBAL_PATH.CaptionText)
.AddControl(Of String)(TXT_COLLECTIONS_PATH, TXT_COLLECTIONS_PATH.CaptionText)
.AddControl(Of String)(TXT_REDDIT_SAVED_POSTS_USER, TXT_REDDIT_SAVED_POSTS_USER.CaptionText, True, New SavedPostsChecker)
.EndLoaderOperations()
End With
.AppendDetectors()
@@ -128,6 +154,7 @@ Namespace Editors
.MaxUsersJobsCount.Value = CInt(TXT_MAX_JOBS_USERS.Value)
.ChannelsMaxJobsCount.Value = TXT_MAX_JOBS_CHANNELS.Value
.CheckUpdatesAtStart.Value = CH_CHECK_VER_START.Checked
.ImgurClientID.Value = TXT_IMGUR_CLIENT_ID.Text
'Defaults
.SeparateVideoFolder.Value = CH_SEPARATE_VIDEO_FOLDER.Checked
.DefaultTemporary.Value = CH_DEF_TEMP.Checked
@@ -152,14 +179,25 @@ Namespace Editors
.FileReplaceNameByDate.Value = False
End If
'Reddit
SetPropByChecker(.RedditTemporary, CH_REDDIT_TEMP)
SetPropByChecker(.RedditDownloadImages, CH_REDDIT_DOWN_IMG)
SetPropByChecker(.RedditDownloadVideos, CH_REDDIT_DOWN_VID)
With .Site(Sites.Reddit)
SetPropByChecker(.Temporary, CH_REDDIT_TEMP)
SetPropByChecker(.DownloadImages, CH_REDDIT_DOWN_IMG)
SetPropByChecker(.DownloadVideos, CH_REDDIT_DOWN_VID)
.SavedPostsUserName.Value = TXT_REDDIT_SAVED_POSTS_USER.Text
End With
'Twitter
SetPropByChecker(.TwitterTemporary, CH_TWITTER_TEMP)
SetPropByChecker(.TwitterDownloadImages, CH_TWITTER_DOWN_IMG)
SetPropByChecker(.TwitterDownloadVideos, CH_TWITTER_DOWN_VID)
.TwitterDefaultGetUserMedia.Value = CH_TWITTER_USER_MEDIA.Checked
With .Site(Sites.Twitter)
SetPropByChecker(.Temporary, CH_TWITTER_TEMP)
SetPropByChecker(.DownloadImages, CH_TWITTER_DOWN_IMG)
SetPropByChecker(.DownloadVideos, CH_TWITTER_DOWN_VID)
.GetUserMediaOnly.Value = CH_TWITTER_USER_MEDIA.Checked
End With
'Instagram
With .Site(Sites.Instagram)
SetPropByChecker(.Temporary, CH_INSTA_TEMP)
SetPropByChecker(.DownloadImages, CH_INSTA_DOWN_IMG)
SetPropByChecker(.DownloadVideos, CH_INSTA_DOWN_VID)
End With
.EndUpdate()
End With