rlaphoenix
b7b88f66ce
feat(dl): Change --vcodec default to None, use any codec
2024-03-04 10:41:07 +00:00
rlaphoenix
1adc551926
refactor(dl): Remove unused `get_profiles()` method
2024-03-04 09:31:15 +00:00
rlaphoenix
77976c7e74
feat(Subtitle): Convert from fTTML->TTML & fVTT->WebVTT post-download
2024-03-02 15:37:12 +00:00
rlaphoenix
cae47017dc
refactor: Move dl command's download_track() to Track.download()
2024-03-02 15:08:22 +00:00
rlaphoenix
f510095bcf
feat(dl): Skip video lang filter if --v-lang unused & only 1 video lang
...
This hopefully improves user-experience for anyone using Devine mainly for content outside the English language. For example, if you do -l it and there's only English video track's available, then there's really no need to filter by language and fail.
However, it still attempts filtering if you explicitly used --v-lang. If the user expected all episodes to be French by using `--v-lang fr`, and the service had one random episode in English, then the user would very likely want to be informed to verify and decide how they want to deal with it if it really was English.
2024-03-02 12:54:17 +00:00
rlaphoenix
a7c2210f0b
fix(version): The `__version__` variable forgot to be updated
2024-03-02 06:10:01 +00:00
rlaphoenix
76dc54fc13
fix(dl): Have --sub-format default to None to keep original sub format
2024-03-01 05:18:46 +00:00
rlaphoenix
c516f54a07
refactor(DASH): Change how Video FPS is gotten to remove FutureWarning log
2024-03-01 05:15:47 +00:00
rlaphoenix
289808b80c
refactor(DASH): Move data values from track url to track data property
2024-03-01 05:08:59 +00:00
rlaphoenix
90c544966a
refactor(Track): Rename extra to data, enforce type as dict
...
Setting data as a dictionary allows more places of code (including DASH, HLS, Services, etc) to get/set what they want by key instead of typically by index (list/tuple). Tuples or lists were typically in services because DASH and HLS stored needed data as a tuple and services did not want to interrupt or remove that data, even though it would be fine.
2024-03-01 04:29:45 +00:00
rlaphoenix
a6a5699577
refactor(Track): Move delete and move methods near start of Class
2024-03-01 04:15:46 +00:00
rlaphoenix
866de402fb
refactor(Track): Return new path on move(), raise exceptions on errors
2024-03-01 04:14:44 +00:00
rlaphoenix
3ceabd0c74
feat(Track): Add a name property to use for the Track Name
2024-03-01 04:11:53 +00:00
rlaphoenix
2a6fb96c3d
fix(Track): Don't use fallback values "Zzzz"/"ZZ" for track name
2024-03-01 04:11:53 +00:00
rlaphoenix
c14b37a696
fix(Track): Don't modify lang when getting name
2024-03-01 04:11:53 +00:00
rlaphoenix
5b7c72d270
refactor(Track): Move the path class instance variable with the rest
2024-03-01 04:11:52 +00:00
rlaphoenix
3358c4d203
refactor(Track): Remove unnecessary bool casting
2024-03-01 04:11:52 +00:00
rlaphoenix
6e9f977642
docs(Track): Remove unnecessary comments
2024-03-01 04:11:52 +00:00
rlaphoenix
bd90bd6dca
feat(Track): Make ID optional, Automatically compute one if not provided
2024-03-01 04:11:52 +00:00
rlaphoenix
fa9db335d6
refactor(Track): Rename Descriptor's M3U & MPD to HLS & DASH
2024-03-01 04:11:52 +00:00
rlaphoenix
ec5bd39c1b
refactor(Track): Remove unused DRM enum
2024-03-01 04:11:52 +00:00
rlaphoenix
ba693e214b
refactor(Track): Remove swap() method and it's uses
...
Re-using the same track path and file name with a different output file, is not ideal as the files contents are different and the target file name specifies what processing it had done on it, which is useful during debugging when browsing the temp directory.
2024-03-01 03:04:07 +00:00
rlaphoenix
470e051100
refactor(Track): Add type checks, improve typing
2024-03-01 02:43:43 +00:00
rlaphoenix
944cfb0273
ci(pre-commit): Add a conventional-commit hook
2024-03-01 02:17:41 +00:00
rlaphoenix
27b3693cc1
docs(changelog): Add v3.0.0 changes
2024-03-01 00:03:09 +00:00
rlaphoenix
9aeab18dc3
Bump to v3.0.0
2024-03-01 00:01:33 +00:00
rlaphoenix
a5fb5d33f1
Update default curl-impersonate browser to chrome120
2024-02-29 23:58:14 +00:00
rlaphoenix
a55f4f6ac7
Update dependencies
2024-02-29 23:57:57 +00:00
rlaphoenix
1039de021b
Update the copyright year and project description
2024-02-29 23:25:23 +00:00
rlaphoenix
be0ed0b0fb
Simplify `Tracks.__add__` method, support Chapter(s) & Track objects
2024-02-29 23:19:05 +00:00
rlaphoenix
97efb59e5f
Only decode text direction entities in Sub files (cont.)
...
Already did this for HLS, but somehow forgot to for DASH and direct URLs.
2024-02-29 22:06:57 +00:00
rlaphoenix
4073cefc74
Remove Subtitle.remove_multi_lang_srt_header()
...
The root cause of the error which required calling this function was identified and fixed in this release.
2024-02-29 22:06:02 +00:00
Arias800
75641bc8ee
Add default shaka-packager build name ( #74 )
...
If the user build Shaka-packager manually, the default name will be “packager”.
Adding it to the list will ensure that Devine detects the app in this situation.
2024-02-27 22:48:54 +00:00
rlaphoenix
0c20160ddc
Implement `__add__` to Tracks class
2024-02-20 22:06:39 +00:00
rlaphoenix
eef397f2e8
HLS: Don't include map data if discontinuity/end of playlist was decrypted
...
The decrypt() call just before it would have included the map data for us, as it was needed to decrypt. Therefore, it would not need to be added again when merge_discontinuity() is called. In some cases re-adding the map data can cause playback or final merge failure.
2024-02-20 20:12:09 +00:00
rlaphoenix
b829ea5c5e
DASH: Detect SDH subtitles via AudioPurposeCS:2007=2
2024-02-20 19:29:21 +00:00
rlaphoenix
7f898cf2df
HLS: Fix map data exists check when merging segments
...
`map_data` may resolve Truthy, while `map_data[1]` itself could be None, resulting in `None` being written to the stream.
2024-02-20 02:14:58 +00:00
rlaphoenix
2635d06d58
Set stop event & mark track failed if new HLS DRM fails to license
2024-02-20 01:46:47 +00:00
rlaphoenix
8de3a95c6b
Flush file buffers when merging DASH or HLS segments
2024-02-20 01:35:58 +00:00
rlaphoenix
1259a26b14
Create and use new utility to get file extension from URLs/Paths
...
Fixes #73
2024-02-19 18:14:50 +00:00
rlaphoenix
c826a702ab
DASH: Fix URL concatenation in some edge cases
...
In some of the urljoin()'s it would end with `/None`, e.g., `http://.../some_base_value/None `, when it should just join with the base value only.
2024-02-19 17:45:40 +00:00
rlaphoenix
1b76e8ee28
Aria2c: Fix shutdown condition edge condition when URLs > 1000
...
`stopped_downloads` is capped to just 1000 objects even though I asked for 999999 downloads, so if aria2c is downloading more than 1000 URLs the count of stopped downloads will never match the count of download URLs and never stop.
2024-02-17 23:33:52 +00:00
rlaphoenix
d65d29efa3
Remove unnecessary LANGUAGE_MUX_MAP
...
This language tag/code mapping table is no longer needed as of MKVToolNix v67, which has been the minimum supported version for some time now already.
2024-02-17 23:19:07 +00:00
rlaphoenix
81dca063fa
Consolidate typing of Requests/MozillaCookieJar typing to CookieJar
2024-02-16 21:02:06 +00:00
rlaphoenix
9e0515609f
HLS: Ignore possible folders when doing naive final merge
2024-02-16 18:41:05 +00:00
rlaphoenix
323577a5fd
HLS: Update first segment of EXT-X-KEY state data on discontinuity
2024-02-16 18:21:21 +00:00
rlaphoenix
e26e55caf3
HLS: Don't reset EXT-X-KEY state data on discontinuity
2024-02-16 16:50:12 +00:00
rlaphoenix
506ba0f615
HLS: Only merge relevant segments on discontinuity
2024-02-16 16:49:42 +00:00
rlaphoenix
2388c85894
HLS: Ensure all segments to decrypt in range exist
2024-02-16 16:49:13 +00:00
rlaphoenix
7587243aa2
HLS: Don't decrypt on key change if there were no prior segments
2024-02-16 16:48:38 +00:00