Compare commits
No commits in common. "7a75805423f11023711e4cec636f16732f3039d4" and "e2330a15c4b7cbb8343a6bd37a8806d8b64156fb" have entirely different histories.
7a75805423
...
e2330a15c4
5 changed files with 5 additions and 22 deletions
3
Makefile
3
Makefile
|
@ -14,6 +14,3 @@ run-frontend:
|
|||
|
||||
test:
|
||||
python3 -m unittest discover -vcs ./backend
|
||||
|
||||
clean:
|
||||
rm -rf backend/__pycache__ .ruff_cache
|
||||
|
|
|
@ -23,9 +23,6 @@ class Config:
|
|||
# Proxy URL for yt_proxied downloader (can be used for geo-restricted content)
|
||||
self.yt_proxy = os.getenv('YT_PROXY') or None
|
||||
|
||||
# Proxy for soundcloud
|
||||
self.sc_proxy = os.getenv('SC_PROXY') or None
|
||||
|
||||
self.save_lyrics = _parse_bool(os.getenv('SAVE_LYRICS'), True)
|
||||
self.save_cover = _parse_bool(os.getenv('SAVE_COVER'), True)
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ class InfoYouTubePP(PostProcessor):
|
|||
if not 'track' in information:
|
||||
information['track'] = information['title']
|
||||
if not 'artist' in information:
|
||||
information['artist'] = information['uploader'].removesuffix(' - Topic')
|
||||
information['artist'] = information['channel'].removesuffix(' - Topic')
|
||||
if not 'artists' in information:
|
||||
information['artists'] = [information['artist']]
|
||||
|
||||
|
|
|
@ -27,16 +27,6 @@ class _CreateYDL:
|
|||
ydl.params['proxy'] = proxy
|
||||
return ydl
|
||||
|
||||
@staticmethod
|
||||
def soundcloud() -> YoutubeDL:
|
||||
ydl = YoutubeDL({'format': 'ba[ext=mp3]/ba'})
|
||||
ydl.add_post_processor(id3pp.InfoYouTubePP(), when='pre_process')
|
||||
proxy = config.get().sc_proxy
|
||||
if proxy is not None:
|
||||
ydl.params['proxy'] = proxy
|
||||
ydl.add_post_processor(FFmpegExtractAudioPP(preferredcodec='mp3'), when='post_process')
|
||||
return ydl
|
||||
|
||||
@staticmethod
|
||||
def yandex() -> YoutubeDL:
|
||||
return YoutubeDL()
|
||||
|
@ -45,14 +35,13 @@ class _CreateYDL:
|
|||
create_ydl_fn = {
|
||||
'youtube': _CreateYDL.youtube,
|
||||
'yt_proxied': _CreateYDL.yt_proxied,
|
||||
'soundcloud': _CreateYDL.soundcloud,
|
||||
'yandex': _CreateYDL.yandex,
|
||||
}
|
||||
|
||||
ydl_fn_keys = create_ydl_fn.keys()
|
||||
|
||||
# need process=True for track title in extract_info output
|
||||
NP_YDLS = {'yandex', 'soundcloud'}
|
||||
NP_YDLS = {'yandex'}
|
||||
|
||||
|
||||
class YdlLogger:
|
||||
|
@ -84,8 +73,9 @@ class Downloader:
|
|||
def __init__(self, logger: YdlLogger | None = None) -> None:
|
||||
|
||||
self.ydls: dict[str, YoutubeDL | None] = {
|
||||
key: None
|
||||
for key in ydl_fn_keys
|
||||
'youtube': None,
|
||||
'yt_proxied': None,
|
||||
'yandex': None,
|
||||
}
|
||||
|
||||
self.cur_ydl: YoutubeDL | None = None
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
<select id="site-select">
|
||||
<option value="youtube" selected>YouTube</option>
|
||||
<option value="yt_proxied">YT proxied</option>
|
||||
<option value="soundcloud">SoundCloud</option>
|
||||
<option value="yandex">Yandex Music</option>
|
||||
</select>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Reference in a new issue