9071017dbf
Refactor: unify YDL object and proxy cfg field
...
This would allow to add sites much simplier
or even drop the ydl_fn_keys.
Main purpose of the refactoring is a code cleanup.
2024-05-28 13:21:23 +04:00
7a75805423
Add SoundCloud
2024-05-28 11:10:50 +04:00
1e1fe6dd16
Config: use None
if no proxy specified
2024-05-28 09:09:59 +04:00
21dbc8659d
Fix exception handler in test
...
`{err:r}` -> `{err!r}`
2024-05-28 09:05:42 +04:00
d8f0172e95
Sanitize filenames
2024-05-24 21:28:32 +04:00
03458db829
Fix: cover.download()
...
- resp.read returns nothing, contents are already in resp.data
- add mime type safety check
2024-05-09 18:33:13 +04:00
38cc43b84f
Add cover downloader, add cfg.save_{lyrics,cover} (mainly for testing)
2024-05-09 18:05:39 +04:00
60497cf29d
Remove asyncio's debug=True
2024-05-08 14:14:24 +04:00
45e5bcee27
Fix: del playlist_items parameter only when set
...
This code sometimes had raised KeyError
2024-05-08 13:54:56 +04:00
247bf65439
Add YDL logging, change schema
2024-05-08 13:52:36 +04:00
d0ed29e685
Optimize extract_info: no process=True for YouTube
...
For YT, processing separate videos greatly increases extract_info time,
but unnecessary when obtaining only track title.
For Yandex, processing is much faster, and we NEED it to get title.
2024-05-06 21:07:19 +04:00
474c24e05a
Lyrics: switch to multiple search engines
...
Brave sometimes ratelimits SearXNG server
2024-05-06 20:34:03 +04:00
0b0759fb3b
Lyrics: add irrelevant results filtering
...
Small note on how it works, copied from
raise_on_irrelevant_result() docstring:
Raises ValueError
if no words from track title are present in search result track title
and no words from artist name are present in search result artist name
2024-05-06 20:31:42 +04:00
62ebecc87f
Remove path_length
config option
...
I've misunderstood the FS limits, 255 is for filename, not path.
Path is limited only by libc, it's 4096.
The default outtmpl in musicdlp contains slashes, so it's a path.
But YDL considers it to be a filename, so the whole
outtmpl formatting result is trimmed to path_length.
Do we really need this? I think there are no "malicious" long-named tracks :)
2024-05-06 19:43:32 +04:00
44fc039ac9
Refactor: merge ydl_wrap with ydl_pool.Downloader, add callbacks
2024-05-05 19:24:52 +04:00
e9c55a67d3
JSON schema v0.0.2
2024-05-05 19:04:18 +04:00
96be306b2b
More config options (tmpl, yt_proxy) + notes
2024-05-04 10:34:18 +04:00
0cbb9d424e
Lyrics: change search engine for more relevant results
2024-05-03 20:57:43 +04:00
df242e833f
Config, cookies
2024-05-03 20:57:20 +04:00
93c5ea3b18
Code cleanup
...
(there was an attempt to redirect yt-dlp stdout)
2024-05-03 20:10:42 +04:00
2b47b002e6
Working WS server, yt-dlp objects "pool", async wrappers
2024-05-03 18:42:53 +04:00
53a00570e7
Multiple artists support
2024-05-03 18:38:11 +04:00
77127d3476
Fix: keep connection
2024-05-03 14:39:29 +04:00
26312a655b
WS server template
2024-05-02 17:18:27 +04:00
464b65232b
Test: post-processors
2024-05-02 16:00:21 +04:00
38abaa9bba
Format: unused import
2024-04-28 14:08:28 +04:00
c354aeb183
Fix tests after moving PoolManager to shared module
2024-04-28 14:07:30 +04:00
ab93124337
shared -> http_pool
2024-04-28 14:06:20 +04:00
80a7d2bde5
id3pp: add genre (TCON)
2024-04-28 14:02:07 +04:00
7669127826
Fix id3pp: try..catch for lyrics, file.save()
2024-04-28 14:00:54 +04:00
3a25d86b4f
Shared http pool, lyrics in ID3TagsPP
2024-04-28 13:44:53 +04:00
4d83b238e4
Unify ID3 post-processor, move add_tags()
code into run()
2024-04-28 13:30:21 +04:00
0f9798efbf
Move Python configs to root
2024-04-28 13:14:12 +04:00
daae22ea0e
Split frontend and backend
2024-04-28 12:55:45 +04:00