Skip to content

Commit 82ef4f4

Browse files
committed
2023.6.19.0
YT.Progress: make the playlists parsing progress more informative; change form display method YT.YouTubeMediaContainerBase: fix sort algo YT.Tray: add 'Add' button; add 'Ctrl+Click' on tray icon to add download YT.Settings: add setting 'Download on click in tray: show form' LPSG: some files didn't download (encoding) Twitter: hide cache deletion errors Mastogon: fixed bug in 'ReparseMissing' function Reddit: downloaded gifs are static XHamster: videos are not downloading or downloading incorrectly Progress: fix bugs; minor improvements
1 parent d344143 commit 82ef4f4

33 files changed

Lines changed: 779 additions & 104 deletions

Changelog.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
# 2023.6.19.0
2+
3+
*2023-06-19*
4+
5+
- Added
6+
- **OnlyFans**
7+
- YouTube: make the playlists parsing progress more informative
8+
- YouTube: add `Add` button to tray
9+
- YouTube: add `Ctrl+Click` on tray icon to add download
10+
- YouTube: add setting `Download on click in tray: show form`
11+
- Minor improvements to progress bars
12+
- Other improvements
13+
- Fixed
14+
- YouTube: incorrect sorting algorithm
15+
- LPSG: some files didn't download
16+
- Reddit: downloaded gifs are static (Issue #141)
17+
- xHamster: videos are not downloading or downloading incorrectly (Issue #144)
18+
- Progress bar bugs
19+
- Minor bugs
20+
121
# 2023.6.9.0
222

323
*2023-06-09*

ProgramScreenshots/SavedPosts.png

3.48 KB
Loading
20.1 KB
Loading

ProgramsComparison.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ https://github.com/RipMeApp/ripme
117117
| **Free options** | The program is completely free | The program is completely free, but site limits are not declared |
118118
| Operating Systems | Windows 10+ | Windows, MacOS, Linux |
119119
| Select want content type to download | Yes | Yes |
120-
| Suported sites | 15 internal and any site using plugins | 86+ sites (declared) |
120+
| Suported sites | 15+ internal and any site using plugins | 86+ sites (declared) |
121121
| Other sites support | **Yes** | No |
122122
| Still supported | **Yes** | **No (last release date May 4, 2021)** |
123123

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
:eu:
1212
:greece:
1313

14-
A program to download photo and video from [any site](#supported-sites) (e.g. YouTube, YouTube Music, Reddit, Twitter, Mastodon, Instagram, TikTok, RedGifs, PornHub, XHamster, XVIDEOS, ThisVid, LPSG, Pinterest).
14+
A program to download photo and video from [any site](#supported-sites) (e.g. YouTube, YouTube Music, OnlyFans, Reddit, Twitter, Mastodon, Instagram, TikTok, RedGifs, PornHub, XHamster, XVIDEOS, ThisVid, LPSG, Pinterest).
1515

1616
**If you like SCrawler, please like the program on [this site](https://alternativeto.net/software/scrawler/about/) and/or [this](https://www.softpedia.com/get/Internet/Download-Managers/Social-networks-crawler.shtml)**
1717
<!---Do you like this program? Consider adding to my coffee fund by making a donation to show your support. :blush:
@@ -31,6 +31,7 @@ A program to download photo and video from [any site](#supported-sites) (e.g. Yo
3131
- Reddit images, galleries of images, videos, saved posts;
3232
- Redgifs videos (https://www.redgifs.com/);
3333
- Twitter images and videos, saved (bookmarked) posts;
34+
- OnlyFans images and videos, saved (bookmarked) posts;
3435
- Mastodon images and videos, saved (bookmarked) posts;
3536
- Instagram images and videos, tagged posts, stories, saved posts;
3637
- TikTok videos (*currently broken*; [limited](https://github.com/AAndyProgram/SCrawler/wiki/Settings#tiktok-limits));
@@ -65,6 +66,7 @@ A program to download photo and video from [any site](#supported-sites) (e.g. Yo
6566
- **YouTube Music**
6667
- **Reddit**
6768
- **Twitter**
69+
- **OnlyFans**
6870
- **Mastodon**
6971
- **Instagram**
7072
- TikTok (*currently broken*; [limited](https://github.com/AAndyProgram/SCrawler/wiki/Settings#tiktok-limits))
@@ -122,6 +124,7 @@ The program parses user posts and compares file names with existing ones to remo
122124
- **[SITES REQUIREMENTS](https://github.com/AAndyProgram/SCrawler/wiki/Settings#sites-requirements)**
123125
- [Reddit](https://github.com/AAndyProgram/SCrawler/wiki/Settings#reddit)
124126
- [Twitter](https://github.com/AAndyProgram/SCrawler/wiki/Settings#twitter)
127+
- [OnlyFans](https://github.com/AAndyProgram/SCrawler/wiki/Settings#onlyfans)
125128
- [Mastodon](https://github.com/AAndyProgram/SCrawler/wiki/Settings#Mastodon)
126129
- [Instagram](https://github.com/AAndyProgram/SCrawler/wiki/Settings#instagram)
127130
- [TikTok](https://github.com/AAndyProgram/SCrawler/wiki/Settings#tiktok)

SCrawler.YouTube/Base/YouTubeSettings.vb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,9 @@ Namespace API.YouTube.Base
152152
<Browsable(True), GridVisible(False), XMLVN({"Defaults"}, False), Category("Defaults"), DisplayName("Confirm exit"),
153153
Description("Exit confirmation when closing the program.")>
154154
Public ReadOnly Property ExitConfirm As XMLValue(Of Boolean)
155+
<Browsable(True), GridVisible(False), XMLVN({"Defaults"}), Category("Defaults"), DisplayName("Download on click in tray: show form"),
156+
Description("Show main window when download by clicking (Ctrl+Click) the tray icon. Default: false")>
157+
Public ReadOnly Property ShowFormDownTrayClick As XMLValue(Of Boolean)
155158
#End Region
156159
#Region "Defaults Video"
157160
<Browsable(True), GridVisible, XMLVN({"DefaultsVideo"}, "MKV"), Category("Defaults Video"), DisplayName("Default format"),

SCrawler.YouTube/Controls/ParsingProgressForm.Designer.vb

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

SCrawler.YouTube/Controls/ParsingProgressForm.vb

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,27 @@ Namespace API.YouTube.Controls
1717
Return TokenSource.Token
1818
End Get
1919
End Property
20-
Public Sub New()
20+
Private ReadOnly CountMax As Integer
21+
Private CountCurrent As Integer = 1
22+
Friend Sub NextPlaylist()
23+
CountCurrent += 1
24+
MyProgress.InformationTemporary(True) = InfoStr
25+
MyProgress.Information = InfoStr
26+
End Sub
27+
Private ReadOnly Property InfoStr As String
28+
Get
29+
Const MainMsg$ = "Data parsing in progress"
30+
If CountMax > 1 Then
31+
Return $"{MainMsg} [{CountCurrent - 1}/{CountMax}]"
32+
Else
33+
Return MainMsg
34+
End If
35+
End Get
36+
End Property
37+
Public Sub New(Optional ByVal _Count As Integer = 1)
2138
InitializeComponent()
22-
MyProgress = New MyProgress(PR_MAIN, LBL_MAIN, "Data parsing in progress") With {.ResetProgressOnMaximumChanges = False}
39+
CountMax = _Count
40+
MyProgress = New MyProgress(PR_MAIN, LBL_MAIN, InfoStr) With {.ResetProgressOnMaximumChanges = False}
2341
TokenSource = New CancellationTokenSource
2442
End Sub
2543
Public Sub SetInitialValues(ByVal Count As Integer, ByVal Info As String)

SCrawler.YouTube/Downloader/VideoListForm.vb

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,7 @@ Namespace DownloadObjects.STDownloader
237237
Dim pForm As ParsingProgressForm = Nothing
238238
Try
239239
Dim useCookies As Boolean = MyYouTubeSettings.DefaultUseCookies
240+
Dim sTag$ = If(Sender?.Tag, String.Empty)
240241
Dim disableDown As Boolean = e.Shift
241242
If e.Control Then useCookies = True
242243
Dim useCookiesParse As Boolean? = Nothing
@@ -247,29 +248,36 @@ Namespace DownloadObjects.STDownloader
247248
Dim GetDefault As Boolean = True
248249
Dim GetShorts As Boolean = True
249250

250-
If Sender.Tag = "pls" Then
251+
If sTag = "pls" Then
251252
Using pf As New PlaylistArrayForm With {.DesignXML = DesignXML}
252253
pf.ShowDialog()
253254
If pf.DialogResult = DialogResult.OK Then
254255
With pf.URLs
255256
If .Count > 0 Then
256-
pForm = New ParsingProgressForm
257-
pForm.Show()
257+
pForm = New ParsingProgressForm(.Count)
258+
pForm.Show(Me)
258259
pForm.SetInitialValues(.Count, "Parsing playlists...")
259260
Dim containers As New List(Of IYouTubeMediaContainer)
260-
For Each u$ In .Self : containers.Add(YouTubeFunctions.Parse(u, useCookiesParse, pForm.Token, pForm.MyProgress, True, False)) : pForm.MyProgress.Perform() : Next
261+
For Each u$ In .Self
262+
containers.Add(YouTubeFunctions.Parse(u, useCookiesParse, pForm.Token, pForm.MyProgress, True, False))
263+
pForm.NextPlaylist()
264+
pForm.MyProgress.Perform()
265+
Next
261266
pForm.Dispose()
262267
If containers.Count > 0 Then containers.ListDisposeRemoveAll(Function(cc) cc.HasError Or Not cc.Exists)
263268
If containers.Count > 0 Then
264-
c = New Channel With {.UserTitle = IIf(pf.IsOneArtist, containers(0).UserTitle, "Playlists")}
269+
c = New Channel With {
270+
.UserTitle = IIf(pf.IsOneArtist, containers(0).UserTitle, "Playlists"),
271+
.IsMusic = containers.Any(Function(cc) cc.IsMusic)
272+
}
265273
c.Elements.AddRange(containers)
266274
End If
267275
End If
268276
End With
269277
End If
270278
End Using
271279
Else
272-
Select Case CStr(Sender.Tag)
280+
Select Case sTag
273281
Case "ans" : GetShorts = False
274282
Case "as" : GetDefault = False : GetShorts = True
275283
End Select
@@ -280,7 +288,7 @@ Namespace DownloadObjects.STDownloader
280288
If Not c Is Nothing OrElse YouTubeFunctions.IsMyUrl(url) Then
281289
If c Is Nothing Then
282290
pForm = New ParsingProgressForm
283-
pForm.Show()
291+
pForm.Show(Me)
284292
pForm.SetInitialValues(1, "Parsing data...")
285293
c = YouTubeFunctions.Parse(url, useCookiesParse, pForm.Token, pForm.MyProgress, GetDefault, GetShorts)
286294
pForm.Dispose()

SCrawler.YouTube/My Project/AssemblyInfo.vb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
3232
' by using the '*' as shown below:
3333
' <Assembly: AssemblyVersion("1.0.*")>
3434

35-
<Assembly: AssemblyVersion("2023.6.9.0")>
36-
<Assembly: AssemblyFileVersion("2023.6.9.0")>
35+
<Assembly: AssemblyVersion("2023.6.19.0")>
36+
<Assembly: AssemblyFileVersion("2023.6.19.0")>
3737
<Assembly: NeutralResourcesLanguage("en")>

0 commit comments

Comments
 (0)