Commit graph

34 commits

Author SHA1 Message Date
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