Skip to content

Commit 5f397ef

Browse files
authored
Merge pull request #5 from MPZ-00/feature-cli-and-abort
CLI and Abort Improvements (v1.8.0)
2 parents 2a30736 + c0e583e commit 5f397ef

File tree

3 files changed

+390
-99
lines changed

3 files changed

+390
-99
lines changed

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,30 @@ All notable changes to this project will be documented in this file.
44

55
---
66

7+
## [v1.8.0] - CLI and Abort Improvements
8+
**Release Date**: 2025-11-19
9+
10+
### Added
11+
- Custom filename generation system with `--name` flag
12+
- Episode tagging support with `--numbering` flag (extracts S##E## from URLs or generates sequential numbering)
13+
- Dry-run mode with `--dry-run` flag to test downloads without actually downloading
14+
- Graceful abort handling with Ctrl+C (SIGINT signal handler)
15+
- Interactive cleanup prompt on abort: choose to keep or delete `.part` files
16+
- Progress hooks in yt-dlp downloads to respect abort signals
17+
- Thread-safe argument passing for parallel downloads
18+
19+
### Changed
20+
- Improved multi-threaded download coordination with global stop event
21+
- Enhanced executor shutdown to properly cancel pending futures on abort
22+
- Mutually exclusive `-u` and `-l` arguments for better CLI validation
23+
- Better responsiveness to abort signals during active downloads
24+
25+
### Fixed
26+
- Ctrl+C now properly stops all download threads immediately
27+
- Fixed `PermissionError` when cleaning up `.part` files during active downloads
28+
- Fixed `CancelledError` tracebacks by catching them silently
29+
- Thread-safe operations by using `copy.deepcopy()` for argument objects
30+
731
## [v1.7.4] - Dependency Cleanup
832
**Release Date**: 2025-06-15
933

README.md

Lines changed: 51 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,49 @@ Run:
8787
voe-dl -l links.txt
8888
```
8989

90-
### Optional: Parallel Downloads
91-
You can add the `-w` option to set number of parallel workers:
90+
### Setting Title in List File
91+
You can specify a custom title for all files by adding a special comment at the start of your list file:
92+
```
93+
#: My Series Title
94+
https://voe.sx/xxxxxxx
95+
https://voe.sx/yyyyyyy
96+
```
97+
This title will be used when combined with `--numbering` instead of the `--name` argument.
98+
99+
### Custom File Naming
100+
Set a custom name for downloaded files:
101+
```bash
102+
voe-dl -u https://voe.sx/yourvideo --name "MyVideo"
103+
```
104+
105+
With episode numbering (extracts S##E## from URL or numbers sequentially):
106+
```bash
107+
voe-dl -l links.txt --name "ShowName" --numbering
108+
```
109+
This creates files like: `ShowName_S01E01.mp4`, `ShowName_S01E02.mp4`, etc.
110+
111+
If you use `--numbering` without `--name`, it defaults to "Episode":
112+
```bash
113+
voe-dl -l links.txt --numbering
114+
```
115+
Creates: `Episode_S01E01.mp4`, `Episode_S01E02.mp4`, etc.
116+
117+
### Parallel Downloads
118+
Set the number of parallel workers (default is 4):
92119
```bash
93120
voe-dl -l links.txt -w 8
94121
```
95-
(Default is 4)
122+
123+
### Dry Run Mode
124+
Test the download process without actually downloading:
125+
```bash
126+
voe-dl -l links.txt --dry-run
127+
```
128+
129+
### Aborting Downloads
130+
Press `Ctrl+C` to gracefully abort downloads. You'll be prompted to either:
131+
- **Keep** `.part` files to resume later
132+
- **Delete** `.part` files to start fresh next time
96133

97134
---
98135

@@ -128,7 +165,17 @@ Run:
128165
```bash
129166
voe-dl -h
130167
```
131-
This will print all available options, arguments, and descriptions.
168+
This will print all available options:
169+
170+
```
171+
-h, --help Show help message and exit
172+
-u, --url Download single video from URL
173+
-l, --list Download videos from a text file (one URL per line)
174+
-w, --workers Number of parallel download threads (default: 4)
175+
--name Custom filename for downloaded videos
176+
--numbering Enable episode numbering (S##E## format)
177+
--dry-run Test download process without actually downloading
178+
```
132179

133180
---
134181

0 commit comments

Comments
 (0)