mirror of
https://github.com/AAndyProgram/SCrawler.git
synced 2026-03-15 16:22:17 +00:00
Compare commits
2 Commits
2024.7.24.
...
2024.8.10.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e285de10f6 | ||
|
|
26db0e3e24 |
21
Changelog.md
21
Changelog.md
@@ -1,3 +1,24 @@
|
||||
# 2024.8.10.0
|
||||
|
||||
*2024-08-10*
|
||||
|
||||
- Added
|
||||
- Feed: button to open file folder
|
||||
- Updated
|
||||
- yt-dlp up to version **2024.08.06**
|
||||
- gallery-dl up to version **1.27.2**
|
||||
- Fixed
|
||||
- YouTube (standalone app): **video is being parsed using cookies but is not downloading** *(Issue #205)*
|
||||
|
||||
# 2024.8.1.0
|
||||
|
||||
*2024-08-01*
|
||||
|
||||
- Added
|
||||
- Minor improvements
|
||||
- Updated
|
||||
- yt-dlp up to version **2024.08.01**
|
||||
|
||||
# 2024.7.24.0
|
||||
|
||||
*2024-07-24*
|
||||
|
||||
@@ -32,6 +32,7 @@ Namespace API.YouTube.Controls
|
||||
Private Initialization As Boolean = True
|
||||
Private ReadOnly InheritsFromContainer As Boolean
|
||||
Private ReadOnly M3U8Files As List(Of SFile)
|
||||
Friend Property UseCookies As Boolean = False
|
||||
Private ReadOnly Property M3U8FilesFull As List(Of SFile)
|
||||
Get
|
||||
Return ListAddList(Nothing, M3U8Files, LAP.NotContainsOnly).ListAddValue(CMB_PLS.Text, LAP.NotContainsOnly)
|
||||
@@ -65,6 +66,7 @@ Namespace API.YouTube.Controls
|
||||
CNT_PROCESSOR = New TableControlsProcessor(TP_CONTROLS)
|
||||
Me.InheritsFromContainer = InheritsFromContainer
|
||||
MyFieldsChecker = New FieldsChecker
|
||||
UseCookies = MyYouTubeSettings.DefaultUseCookies
|
||||
End Sub
|
||||
#End Region
|
||||
#Region "Form handlers"
|
||||
@@ -227,7 +229,7 @@ Namespace API.YouTube.Controls
|
||||
Dim data As IEnumerable(Of Control)
|
||||
|
||||
If .HasElements Then
|
||||
data = .Elements.Select(Function(ee) New MediaItem(ee, True) With {.Dock = DockStyle.Fill, .Checked = ee.Checked})
|
||||
data = .Elements.Select(Function(ee) New MediaItem(ee, True) With {.Dock = DockStyle.Fill, .Checked = ee.Checked, .UseCookies = UseCookies})
|
||||
Else
|
||||
data = (From m As MediaObject In .Self.MediaObjects
|
||||
Where m.Type = __contentType
|
||||
|
||||
@@ -437,7 +437,7 @@ Namespace DownloadObjects.STDownloader
|
||||
Else
|
||||
RaiseEvent BeforeOpenEditor(Me, MyContainer)
|
||||
End If
|
||||
Using f As New VideoOptionsForm(MyContainer, initProtected Or isFull)
|
||||
Using f As New VideoOptionsForm(MyContainer, initProtected Or isFull) With {.UseCookies = UseCookies}
|
||||
f.ShowDialog()
|
||||
.Protected = IIf(f.DialogResult = DialogResult.OK, True, initProtected)
|
||||
End Using
|
||||
@@ -465,12 +465,12 @@ Namespace DownloadObjects.STDownloader
|
||||
If Not MyContainer Is Nothing Then
|
||||
Dim f As Form = Nothing
|
||||
Select Case MyContainer.ObjectType
|
||||
Case Base.YouTubeMediaType.Single : f = New VideoOptionsForm(MyContainer, True)
|
||||
Case Base.YouTubeMediaType.Single : f = New VideoOptionsForm(MyContainer, True) With {.UseCookies = UseCookies}
|
||||
Case Base.YouTubeMediaType.Channel, Base.YouTubeMediaType.PlayList
|
||||
If MyContainer.IsMusic Then
|
||||
f = New MusicPlaylistsForm(MyContainer)
|
||||
Else
|
||||
f = New VideoOptionsForm(MyContainer, True)
|
||||
f = New VideoOptionsForm(MyContainer, True) With {.UseCookies = UseCookies}
|
||||
End If
|
||||
End Select
|
||||
If Not f Is Nothing Then
|
||||
|
||||
@@ -132,7 +132,8 @@ Namespace DownloadObjects.STDownloader
|
||||
#End Region
|
||||
#Region "Controls"
|
||||
Protected Sub ControlCreateAndAdd(ByVal Container As IYouTubeMediaContainer, Optional ByVal DisableDownload As Boolean = False,
|
||||
Optional ByVal PerformClick As Boolean = True, Optional ByVal IsLoading As Boolean = False)
|
||||
Optional ByVal PerformClick As Boolean = True, Optional ByVal IsLoading As Boolean = False,
|
||||
Optional ByVal UseCookies As Boolean = False)
|
||||
ControlInvokeFast(TP_CONTROLS, Sub()
|
||||
With TP_CONTROLS
|
||||
.SuspendLayout()
|
||||
@@ -142,7 +143,7 @@ Namespace DownloadObjects.STDownloader
|
||||
.RowStyles.Insert(0, New RowStyle(SizeType.Absolute, 60))
|
||||
.RowCount = .RowStyles.Count
|
||||
OffsetControls(0, True)
|
||||
Dim cnt As New MediaItem(Container) With {.Dock = DockStyle.Fill, .Margin = New Padding(0)}
|
||||
Dim cnt As New MediaItem(Container) With {.Dock = DockStyle.Fill, .Margin = New Padding(0), .UseCookies = UseCookies}
|
||||
AddHandler cnt.FileDownloaded, AddressOf MediaControl_FileDownloaded
|
||||
AddHandler cnt.Removal, AddressOf MediaControl_Removal
|
||||
AddHandler cnt.DownloadAgain, AddressOf MediaControl_DownloadAgain
|
||||
@@ -333,19 +334,19 @@ Namespace DownloadObjects.STDownloader
|
||||
If Not c Is Nothing Then
|
||||
Dim f As Form
|
||||
Select Case c.ObjectType
|
||||
Case YouTubeMediaType.Single : f = New VideoOptionsForm(c)
|
||||
Case YouTubeMediaType.Single : f = New VideoOptionsForm(c) With {.UseCookies = useCookies}
|
||||
Case YouTubeMediaType.Channel, YouTubeMediaType.PlayList
|
||||
If c.IsMusic Then
|
||||
f = New MusicPlaylistsForm(c)
|
||||
Else
|
||||
f = New VideoOptionsForm(c)
|
||||
f = New VideoOptionsForm(c) With {.UseCookies = useCookies}
|
||||
End If
|
||||
Case Else : c.Dispose() : Throw New ArgumentException($"Object type {c.ObjectType} not implemented", "IYouTubeMediaContainer.ObjectType")
|
||||
End Select
|
||||
If Not f Is Nothing Then
|
||||
If TypeOf f Is IDesignXMLContainer Then DirectCast(f, IDesignXMLContainer).DesignXML = DesignXML
|
||||
f.ShowDialog()
|
||||
If f.DialogResult = DialogResult.OK AndAlso ValidateContainerURL(c) Then ControlCreateAndAdd(c, disableDown)
|
||||
If f.DialogResult = DialogResult.OK AndAlso ValidateContainerURL(c) Then ControlCreateAndAdd(c, disableDown,,, useCookies)
|
||||
f.Dispose()
|
||||
End If
|
||||
End If
|
||||
|
||||
@@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2024.7.24.0")>
|
||||
<Assembly: AssemblyFileVersion("2024.7.24.0")>
|
||||
<Assembly: AssemblyVersion("2024.8.10.0")>
|
||||
<Assembly: AssemblyFileVersion("2024.8.10.0")>
|
||||
<Assembly: NeutralResourcesLanguage("en")>
|
||||
|
||||
@@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2024.7.24.0")>
|
||||
<Assembly: AssemblyFileVersion("2024.7.24.0")>
|
||||
<Assembly: AssemblyVersion("2024.8.10.0")>
|
||||
<Assembly: AssemblyFileVersion("2024.8.10.0")>
|
||||
<Assembly: NeutralResourcesLanguage("en")>
|
||||
|
||||
@@ -574,6 +574,7 @@ Namespace DownloadObjects
|
||||
Dim sesFilesReplaced As Boolean = False
|
||||
Dim filesReplace As New List(Of KeyValuePair(Of SFile, SFile))
|
||||
Dim updateFileLocations As Boolean = Settings.FeedMoveCopyUpdateFileLocationOnMove
|
||||
Dim postUrl$
|
||||
Dim result As Boolean = False
|
||||
|
||||
If FeedMediaData Is Nothing Then
|
||||
@@ -678,7 +679,11 @@ Namespace DownloadObjects
|
||||
mm_data = mm.Data
|
||||
mm_data.File = df
|
||||
__isSavedPosts = mm.IsSavedPosts And moveOptions.ReplaceUserProfile_Profile Is Nothing
|
||||
mm = New UserMediaD(mm_data, If(moveOptions.ReplaceUserProfile_Profile, mm.User), mm.Session, mm.Date) With {.IsSavedPosts = __isSavedPosts}
|
||||
postUrl = mm.PostUrl(True)
|
||||
mm = New UserMediaD(mm_data, If(moveOptions.ReplaceUserProfile_Profile, mm.User), mm.Session, mm.Date) With {
|
||||
.IsSavedPosts = __isSavedPosts,
|
||||
.PostUrl = postUrl
|
||||
}
|
||||
If __isSavedPosts Then mm.UserInfo = __user
|
||||
Downloader.Files(indx) = mm
|
||||
downloaderFilesUpdated = True
|
||||
@@ -709,7 +714,11 @@ Namespace DownloadObjects
|
||||
mm_data = mm.Data
|
||||
mm_data.File = df
|
||||
__isSavedPosts = mm.IsSavedPosts And moveOptions.ReplaceUserProfile_Profile Is Nothing
|
||||
mm = New UserMediaD(mm_data, If(moveOptions.ReplaceUserProfile_Profile, mm.User), mm.Session, mm.Date) With {.IsSavedPosts = __isSavedPosts}
|
||||
postUrl = mm.PostUrl(True)
|
||||
mm = New UserMediaD(mm_data, If(moveOptions.ReplaceUserProfile_Profile, mm.User), mm.Session, mm.Date) With {
|
||||
.IsSavedPosts = __isSavedPosts,
|
||||
.PostUrl = postUrl
|
||||
}
|
||||
If __isSavedPosts Then mm.UserInfo = __user
|
||||
sessionData(indx) = mm
|
||||
sesFilesReplaced = True
|
||||
|
||||
25
SCrawler/Download/Feed/FeedMedia.Designer.vb
generated
25
SCrawler/Download/Feed/FeedMedia.Designer.vb
generated
@@ -27,7 +27,6 @@ Namespace DownloadObjects
|
||||
Dim TP_LBL As System.Windows.Forms.TableLayoutPanel
|
||||
Dim CONTEXT_SEP_3 As System.Windows.Forms.ToolStripSeparator
|
||||
Dim CONTEXT_SEP_4 As System.Windows.Forms.ToolStripSeparator
|
||||
Me.CONTEXT_SEP_2 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.CH_CHECKED = New System.Windows.Forms.CheckBox()
|
||||
Me.LBL_INFO = New System.Windows.Forms.Label()
|
||||
Me.CONTEXT_DATA = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||
@@ -37,6 +36,7 @@ Namespace DownloadObjects
|
||||
Me.BTT_CONTEXT_OPEN_USER = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.BTT_CONTEXT_OPEN_USER_URL = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.BTT_CONTEXT_OPEN_USER_POST = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.CONTEXT_SEP_2 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.BTT_COPY_TO = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.BTT_MOVE_TO = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.BTT_FEED_ADD_FAV = New System.Windows.Forms.ToolStripMenuItem()
|
||||
@@ -52,6 +52,7 @@ Namespace DownloadObjects
|
||||
Me.ICON_SITE = New System.Windows.Forms.PictureBox()
|
||||
Me.TP_MAIN = New System.Windows.Forms.TableLayoutPanel()
|
||||
Me.LBL_TITLE = New System.Windows.Forms.Label()
|
||||
Me.BTT_CONTEXT_OPEN_FILE_FOLDER = New System.Windows.Forms.ToolStripMenuItem()
|
||||
CONTEXT_SEP_1 = New System.Windows.Forms.ToolStripSeparator()
|
||||
TP_LBL = New System.Windows.Forms.TableLayoutPanel()
|
||||
CONTEXT_SEP_3 = New System.Windows.Forms.ToolStripSeparator()
|
||||
@@ -67,11 +68,6 @@ Namespace DownloadObjects
|
||||
CONTEXT_SEP_1.Name = "CONTEXT_SEP_1"
|
||||
CONTEXT_SEP_1.Size = New System.Drawing.Size(302, 6)
|
||||
'
|
||||
'CONTEXT_SEP_2
|
||||
'
|
||||
Me.CONTEXT_SEP_2.Name = "CONTEXT_SEP_2"
|
||||
Me.CONTEXT_SEP_2.Size = New System.Drawing.Size(302, 6)
|
||||
'
|
||||
'TP_LBL
|
||||
'
|
||||
TP_LBL.ColumnCount = 3
|
||||
@@ -114,9 +110,9 @@ Namespace DownloadObjects
|
||||
'
|
||||
'CONTEXT_DATA
|
||||
'
|
||||
Me.CONTEXT_DATA.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BTT_CONTEXT_DOWN, Me.CONTEXT_SEP_0, Me.BTT_CONTEXT_OPEN_MEDIA, Me.BTT_CONTEXT_OPEN_USER, CONTEXT_SEP_1, Me.BTT_CONTEXT_OPEN_USER_URL, Me.BTT_CONTEXT_OPEN_USER_POST, Me.CONTEXT_SEP_2, Me.BTT_COPY_TO, Me.BTT_MOVE_TO, CONTEXT_SEP_3, Me.BTT_FEED_ADD_FAV, Me.BTT_FEED_ADD_FAV_REMOVE, Me.BTT_FEED_ADD_SPEC, Me.BTT_FEED_ADD_SPEC_REMOVE, Me.BTT_FEED_REMOVE_FAV, Me.BTT_FEED_REMOVE_SPEC, CONTEXT_SEP_4, Me.BTT_CONTEXT_FIND_USER, Me.BTT_CONTEXT_INFO, Me.CONTEXT_SEP_5, Me.BTT_CONTEXT_DELETE})
|
||||
Me.CONTEXT_DATA.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BTT_CONTEXT_DOWN, Me.CONTEXT_SEP_0, Me.BTT_CONTEXT_OPEN_MEDIA, Me.BTT_CONTEXT_OPEN_USER, Me.BTT_CONTEXT_OPEN_FILE_FOLDER, CONTEXT_SEP_1, Me.BTT_CONTEXT_OPEN_USER_URL, Me.BTT_CONTEXT_OPEN_USER_POST, Me.CONTEXT_SEP_2, Me.BTT_COPY_TO, Me.BTT_MOVE_TO, CONTEXT_SEP_3, Me.BTT_FEED_ADD_FAV, Me.BTT_FEED_ADD_FAV_REMOVE, Me.BTT_FEED_ADD_SPEC, Me.BTT_FEED_ADD_SPEC_REMOVE, Me.BTT_FEED_REMOVE_FAV, Me.BTT_FEED_REMOVE_SPEC, CONTEXT_SEP_4, Me.BTT_CONTEXT_FIND_USER, Me.BTT_CONTEXT_INFO, Me.CONTEXT_SEP_5, Me.BTT_CONTEXT_DELETE})
|
||||
Me.CONTEXT_DATA.Name = "CONTEXT_PIC"
|
||||
Me.CONTEXT_DATA.Size = New System.Drawing.Size(306, 414)
|
||||
Me.CONTEXT_DATA.Size = New System.Drawing.Size(306, 436)
|
||||
'
|
||||
'BTT_CONTEXT_DOWN
|
||||
'
|
||||
@@ -160,6 +156,11 @@ Namespace DownloadObjects
|
||||
Me.BTT_CONTEXT_OPEN_USER_POST.Size = New System.Drawing.Size(305, 22)
|
||||
Me.BTT_CONTEXT_OPEN_USER_POST.Text = "Open post"
|
||||
'
|
||||
'CONTEXT_SEP_2
|
||||
'
|
||||
Me.CONTEXT_SEP_2.Name = "CONTEXT_SEP_2"
|
||||
Me.CONTEXT_SEP_2.Size = New System.Drawing.Size(302, 6)
|
||||
'
|
||||
'BTT_COPY_TO
|
||||
'
|
||||
Me.BTT_COPY_TO.Image = Global.SCrawler.My.Resources.Resources.PastePic_32
|
||||
@@ -289,6 +290,13 @@ Namespace DownloadObjects
|
||||
Me.LBL_TITLE.Size = New System.Drawing.Size(140, 25)
|
||||
Me.LBL_TITLE.TabIndex = 1
|
||||
'
|
||||
'BTT_CONTEXT_OPEN_FILE_FOLDER
|
||||
'
|
||||
Me.BTT_CONTEXT_OPEN_FILE_FOLDER.Image = Global.SCrawler.My.Resources.Resources.FolderPic_32
|
||||
Me.BTT_CONTEXT_OPEN_FILE_FOLDER.Name = "BTT_CONTEXT_OPEN_FILE_FOLDER"
|
||||
Me.BTT_CONTEXT_OPEN_FILE_FOLDER.Size = New System.Drawing.Size(305, 22)
|
||||
Me.BTT_CONTEXT_OPEN_FILE_FOLDER.Text = "Open file folder"
|
||||
'
|
||||
'FeedMedia
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
@@ -335,5 +343,6 @@ Namespace DownloadObjects
|
||||
Private WithEvents BTT_MOVE_TO As ToolStripMenuItem
|
||||
Private WithEvents CONTEXT_SEP_5 As ToolStripSeparator
|
||||
Private WithEvents CONTEXT_SEP_2 As ToolStripSeparator
|
||||
Private WithEvents BTT_CONTEXT_OPEN_FILE_FOLDER As ToolStripMenuItem
|
||||
End Class
|
||||
End Namespace
|
||||
@@ -178,6 +178,7 @@ Namespace DownloadObjects
|
||||
BTT_CONTEXT_DOWN.Visible = True
|
||||
CONTEXT_SEP_0.Visible = True
|
||||
BTT_CONTEXT_OPEN_USER.Visible = False
|
||||
BTT_CONTEXT_OPEN_FILE_FOLDER.Visible = False
|
||||
CONTEXT_SEP_5.Visible = False
|
||||
BTT_CONTEXT_DELETE.Visible = False
|
||||
|
||||
@@ -416,8 +417,12 @@ Namespace DownloadObjects
|
||||
End Sub
|
||||
#End Region
|
||||
#Region "Open media, folder"
|
||||
Private Sub BTT_CONTEXT_OPEN_MEDIA_Click(sender As Object, e As EventArgs) Handles BTT_CONTEXT_OPEN_MEDIA.Click
|
||||
File.Open()
|
||||
Private Sub BTT_CONTEXT_OPEN_MEDIA_Click(sender As Object, e As EventArgs) Handles BTT_CONTEXT_OPEN_MEDIA.Click, BTT_CONTEXT_OPEN_FILE_FOLDER.Click
|
||||
If Not sender Is Nothing AndAlso sender Is BTT_CONTEXT_OPEN_FILE_FOLDER Then
|
||||
GlobalOpenPath(File)
|
||||
Else
|
||||
File.Open()
|
||||
End If
|
||||
End Sub
|
||||
Private Sub BTT_CONTEXT_OPEN_USER_Click(sender As Object, e As EventArgs) Handles BTT_CONTEXT_OPEN_USER.Click
|
||||
If Not UserKey.IsEmptyString Then
|
||||
@@ -455,6 +460,8 @@ Namespace DownloadObjects
|
||||
Dim url$ = String.Empty
|
||||
If IsSubscription Then
|
||||
url = Post.URL_BASE
|
||||
ElseIf Not Media.PostUrl.IsEmptyString Then
|
||||
url = Media.PostUrl
|
||||
Else
|
||||
If Not UserKey.IsEmptyString And Not Post.Post.ID.IsEmptyString Then
|
||||
Dim u As IUserData
|
||||
|
||||
@@ -195,6 +195,7 @@ Namespace DownloadObjects
|
||||
#Region "Add"
|
||||
Friend Overloads Function Add(ByVal Item As UserMediaD, Optional ByVal AutoSave As Boolean = True) As Boolean
|
||||
If Not Items.Contains(Item) Then
|
||||
Item.PostUrl = Item.PostUrl(True)
|
||||
Items.Add(Item)
|
||||
If AutoSave Then Save()
|
||||
Return True
|
||||
@@ -242,6 +243,7 @@ Namespace DownloadObjects
|
||||
Dim m As UserMedia
|
||||
Dim f As SFile = Nothing
|
||||
Dim ff As SFile
|
||||
Dim postUrl$ = String.Empty
|
||||
Dim user As IUserData
|
||||
Dim processRemove As Boolean
|
||||
Dim userArr As New List(Of IUserData)
|
||||
@@ -254,7 +256,8 @@ Namespace DownloadObjects
|
||||
m = d.Data
|
||||
m.File = ff
|
||||
d = New UserMediaD(m, If(replaceUser, d.User), d.Session, d.Date) With {
|
||||
.IsSavedPosts = If(replaceUser Is Nothing, d.IsSavedPosts, DirectCast(replaceUser, UserDataBase).IsSavedPosts)
|
||||
.IsSavedPosts = If(replaceUser Is Nothing, d.IsSavedPosts, DirectCast(replaceUser, UserDataBase).IsSavedPosts),
|
||||
.PostUrl = postUrl
|
||||
}
|
||||
Items(i) = d
|
||||
ri += 1
|
||||
@@ -268,6 +271,7 @@ Namespace DownloadObjects
|
||||
For i = Count - 1 To 0 Step -1
|
||||
If p.Invoke(Items(i)) Then
|
||||
d = Items(i)
|
||||
postUrl = d.PostUrl(True)
|
||||
f = Nothing
|
||||
ff = Nothing
|
||||
processRemove = True
|
||||
|
||||
@@ -36,6 +36,7 @@ Namespace DownloadObjects
|
||||
Private Const Name_Session As String = "Session"
|
||||
Private Const Name_File As String = "File"
|
||||
Private Const Name_IsSavedPosts As String = "IsSavedPosts"
|
||||
Private Const Name_PostUrl As String = "PostUrl"
|
||||
#End Region
|
||||
Friend ReadOnly User As IUserData
|
||||
Friend ReadOnly Data As UserMedia
|
||||
@@ -43,6 +44,48 @@ Namespace DownloadObjects
|
||||
Friend ReadOnly [Date] As Date
|
||||
Friend Session As Integer
|
||||
Friend IsSavedPosts As Boolean
|
||||
Private _PostUrl As String
|
||||
Friend Property PostUrl(Optional ByVal Generate As Boolean = False) As String
|
||||
Get
|
||||
Try
|
||||
If Not _PostUrl.IsEmptyString Then
|
||||
Return _PostUrl
|
||||
ElseIf Generate Then
|
||||
Dim url$ = String.Empty
|
||||
With UserInfo
|
||||
If Not .Plugin.IfNullOrEmpty(.Site).IsEmptyString And Not .Name.IsEmptyString And Not Data.Post.ID.IsEmptyString Then
|
||||
Dim u As IUserData
|
||||
If IsSavedPosts Then
|
||||
If Not .Plugin.IsEmptyString Then
|
||||
Dim host As SettingsHostCollection = Settings(.Plugin)
|
||||
If Not host Is Nothing Then
|
||||
u = host.Default.GetInstance(Download.SavedPosts, UserInfo, False, False)
|
||||
If Not u Is Nothing AndAlso Not u.HOST Is Nothing Then
|
||||
With DirectCast(u, UserDataBase)
|
||||
.IsSavedPosts = True
|
||||
.HostStatic = True
|
||||
End With
|
||||
Try : url = u.HOST.Source.GetUserPostUrl(u, Data) : Catch : End Try
|
||||
u.Dispose()
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
u = Settings.GetUser(UserInfo)
|
||||
If Not u Is Nothing Then url = UserDataBase.GetPostUrl(u, Data)
|
||||
End If
|
||||
End If
|
||||
End With
|
||||
Return url
|
||||
End If
|
||||
Catch
|
||||
End Try
|
||||
Return String.Empty
|
||||
End Get
|
||||
Set(ByVal _PostUrl As String)
|
||||
Me._PostUrl = _PostUrl
|
||||
End Set
|
||||
End Property
|
||||
Friend Sub New(ByVal Data As UserMedia, ByVal User As IUserData, ByVal Session As Integer)
|
||||
Me.Data = Data
|
||||
Me.User = User
|
||||
@@ -78,6 +121,7 @@ Namespace DownloadObjects
|
||||
Data = New UserMedia(e(Name_Media), User)
|
||||
[Date] = AConvert(Of Date)(e.Value(Name_Date), DateTimeDefaultProvider, Now)
|
||||
Session = e.Value(Name_Session).FromXML(Of Integer)(0)
|
||||
_PostUrl = e.Value(Name_PostUrl)
|
||||
Dim f As SFile = e.Value(Name_File)
|
||||
If f.Exists Then Data.File = f
|
||||
End If
|
||||
@@ -106,7 +150,8 @@ Namespace DownloadObjects
|
||||
New EContainer(Name_Date, AConvert(Of String)([Date], DateTimeDefaultProvider, String.Empty)),
|
||||
New EContainer(Name_Session, Session),
|
||||
New EContainer(Name_File, Data.File),
|
||||
New EContainer(Name_IsSavedPosts, IsSavedPosts.BoolToInteger)},
|
||||
New EContainer(Name_IsSavedPosts, IsSavedPosts.BoolToInteger),
|
||||
New EContainer(Name_PostUrl, _PostUrl)},
|
||||
If(IsSavedPosts, UserInfo.ToEContainer, If(Not User Is Nothing, DirectCast(User, UserDataBase).User.ToEContainer, Nothing)), LAP.IgnoreICopier)
|
||||
End Function
|
||||
End Structure
|
||||
|
||||
@@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2024.7.24.0")>
|
||||
<Assembly: AssemblyFileVersion("2024.7.24.0")>
|
||||
<Assembly: AssemblyVersion("2024.8.10.0")>
|
||||
<Assembly: AssemblyFileVersion("2024.8.10.0")>
|
||||
<Assembly: NeutralResourcesLanguage("en")>
|
||||
|
||||
Reference in New Issue
Block a user