rlaphoenix
6a65617179
Reduce the download stop check to one if check in dl
2023-03-01 08:55:40 +00:00
rlaphoenix
840db6e689
Move segment merging from dl to DASH/HLS classes
2023-03-01 08:54:35 +00:00
rlaphoenix
d07fedbbe1
Move Widevine DRM prep for URL downloads before download
2023-03-01 08:44:50 +00:00
rlaphoenix
fb49210b5a
Remove explicit dependency on colorama
...
It's not used by devine itself, but it's still a sub-dependency. Remove from being an explicit dependency in case the sub-dependencies ever remove it as well.
2023-03-01 08:35:42 +00:00
rlaphoenix
a841dbe2ab
Remove dependency on tqdm
2023-03-01 08:33:40 +00:00
rlaphoenix
f4ad7a2e6c
Mark track as stopping when skipping segments
2023-02-28 18:14:03 +00:00
rlaphoenix
b482f86bb3
Skip post-download operations if dl stop event is set
2023-02-28 18:05:04 +00:00
rlaphoenix
383e7d9647
Add full support for CTRL+C on HLS and DASH
2023-02-28 18:05:04 +00:00
rlaphoenix
8365d798a4
Pass shaka-packager & aria CTRL+C to caller as KeyboardInterrupt()s
2023-02-28 18:05:04 +00:00
rlaphoenix
ad1990cc42
Print a download cancelled message on CTRL+C
2023-02-28 18:05:04 +00:00
rlaphoenix
53c005f727
Remove unnecessary dl stop event set on CTRL+C
2023-02-28 18:05:04 +00:00
rlaphoenix
9cfda3bb9c
Don't shutdown pool or the for loop will lock
...
Since I'm using `futures.as_completed()`, it will never ever for loop over all tracks and segments and will forever be stuck in the primary thread of the operation. I.e., main thread for the download track threads, or the track thread for the download segment threads.
I've also removed all future cancelled checks as they will never be cancelled before they get the chance to run, because no future cancel calls are made anymore.
2023-02-28 18:05:03 +00:00
rlaphoenix
51fb7920c9
Mark track as skipped if it never got a chance to start downloading
2023-02-28 16:39:33 +00:00
rlaphoenix
acead803bd
Remove unnecessary sleep calls at start of download threads
2023-02-28 16:38:10 +00:00
rlaphoenix
b6d3c8368a
Update CONFIG docs to use proxy_providers
...
Also removes an old unused `proxies` config option.
2023-02-28 16:32:13 +00:00
rlaphoenix
961747b74c
Set the default aria2c --file-allocation to prealloc
...
Falloc is faster, but supports less systems/environments, and usually require admin perms on Windows.
2023-02-28 16:23:34 +00:00
rlaphoenix
ce53a1b636
Don't run aria2c under asyncio, further improve progress updates
...
I've removed asyncio usage as it's generally unnecessary. If you want to run aria2c under a thread, run it under a thread. In the case for devine, this would take another thread, and would be another thread layer deep. Pointless. Would affect speed.
With this change I've been able to improve the aria2c progress capture code quite a bit.
2023-02-28 08:21:55 +00:00
rlaphoenix
d427ec8472
Fix yet another startup crash when loading the config
2023-02-28 06:30:12 +00:00
rlaphoenix
3cfc679294
Center ASCII banner without using U+2800
2023-02-28 06:03:42 +00:00
rlaphoenix
dc55f6ffeb
Calculate DASH and HLS download speed in an alternate way
...
Also fixes getting download sizes for Subtitle tracks
2023-02-28 06:03:27 +00:00
rlaphoenix
f4122f1ae6
Add mapping for Netflix profiles starting with `h264`
...
e.g., the new -qc profiles.
2023-02-28 06:02:36 +00:00
rlaphoenix
e5e3f4687d
Fix printing of aria2c errors if progress is used
...
Also improves the general process of ingesting aria2c progress information.
2023-02-27 16:52:00 +00:00
rlaphoenix
18449c4777
Ignore ERROR prints from aria2c progress checks
2023-02-27 00:00:55 +00:00
rlaphoenix
7560ee96c9
Replace console.log calls with padded console.prints
...
While console.log is currently removing the need for `Padding(..., (0, 5))` as it is overwritten to do it automatically, but in terms of purpose the `console.print` function is more logical.
I hope to find a way to automate the padding within console.print in the future, but for now this will work.
2023-02-26 23:35:40 +00:00
rlaphoenix
eb3f268d64
Revert back to using logging over console.log where possible
...
It seems the commit I made to do this change initially seemed to help, it was actually pointless and issues I had were caused by other problems.
For consistency it seems best to stick with the logging module with the RichHandler applied. Using just console.log means being unable to control the log level and which level of logs appear.
2023-02-26 21:20:43 +00:00
rlaphoenix
401d0481df
Implement verbose arg on tree method of Movies and Album
2023-02-26 19:04:54 +00:00
rlaphoenix
375ccd7638
Merge pull request #31 from Arias800/patch-2
...
Adds more functionality to the wvd file
2023-02-26 18:49:17 +00:00
Arias800
d028957e9c
Implement `add` and `delete` sub-commands to `wvd`
...
This pull request adds the features that are detailed in this issue:
https://github.com/devine-dl/devine/issues/2
Also changes some debug logs to info logs, as the information would generally be wanted. Also changes some logging logs to console.logs.
2023-02-26 18:46:09 +00:00
rlaphoenix
6419c27e0a
Remove spacer from Spinner of progress bars
2023-02-26 15:57:10 +00:00
rlaphoenix
a8c1612eb5
Remove unused TextColumn from Track progress bar
2023-02-26 15:56:04 +00:00
rlaphoenix
73b68fe7fe
Use OnMultiplex for auto SDH-strip subtitle
2023-02-25 22:00:44 +00:00
rlaphoenix
fe320e177d
Add OnMultiplex event, for pre-multiplex
2023-02-25 21:58:32 +00:00
rlaphoenix
2635538205
Move repack to post-download, use rich status
2023-02-25 21:25:24 +00:00
rlaphoenix
7d1af8bd8c
Move sub conversion to post-download, use rich status
2023-02-25 21:20:50 +00:00
rlaphoenix
8b405b6e02
Skip CC extraction if the binary isn't found
2023-02-25 21:06:11 +00:00
rlaphoenix
a5c6052292
Move CC extraction to be post-download, use rich status
2023-02-25 21:04:04 +00:00
rlaphoenix
b535715166
Print download thread exceptions with rich traceback
2023-02-25 17:47:59 +00:00
rlaphoenix
70106d32ce
Log DRM license info under track downloads
2023-02-25 17:21:13 +00:00
rlaphoenix
178bd01069
Add a rich horizontal rule print on Service construction
2023-02-25 14:04:13 +00:00
rlaphoenix
e9b3b3a588
Use rich status when checking for proxy geofence
2023-02-25 14:03:41 +00:00
rlaphoenix
cd0c419142
Print available tracks in a Panel
2023-02-25 14:01:46 +00:00
rlaphoenix
4a5aebbca7
Add a total elapsed timer to the final log of dl command
2023-02-25 14:01:25 +00:00
rlaphoenix
09d6c4e1c3
Add a log when download finishes, listing file path
2023-02-25 14:00:39 +00:00
rlaphoenix
a5da7c8fbd
Add rich progress bar for the mux operation
...
Update dl.py
2023-02-25 13:58:58 +00:00
rlaphoenix
58673590df
Remove unnecessary if check for --skip-dl
...
This would always be a true statement as this part of the code is already in an if else statement checking skip_dl.
2023-02-25 13:55:44 +00:00
rlaphoenix
92895426b3
Replace tqdm progress bars with rich progress bars
2023-02-25 13:45:17 +00:00
rlaphoenix
cc69423374
Remove logs stating available/selected tracks
...
These are now unnecessary to distinguish as only one of the two will appear in the log depending what args are used.
2023-02-25 13:19:45 +00:00
rlaphoenix
96f408ca49
Only log available tracks if --list is used
...
Update dl.py
2023-02-25 13:12:46 +00:00
rlaphoenix
984582d19d
Replace Tracks.print() calls with new rich tree
2023-02-25 13:10:49 +00:00
rlaphoenix
48e35fb4c4
Add rich tree generator to tracks wrapper
2023-02-25 13:05:56 +00:00