vitiko98 / qobuz-dl

A complete Lossless and Hi-Res music downloader for Qobuz
GNU General Public License v3.0
1.45k stars 192 forks source link

Colon in artist/album name prevents download #246

Open iophobia opened 11 months ago

iophobia commented 11 months ago

From what I understand, qobuz-dl already has some path sanitation built-in. When an artist or album contain a colon (:) however, the dl will exit with the following traceback (redacted): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "C:\Users\user\AppData\Local\Programs\Python\Python312\Scripts\qobuz-dl.exe\__main__.py", line 7, in <module> File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\qobuz_dl\cli.py", line 176, in main _handle_commands(qobuz, arguments) File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\qobuz_dl\cli.py", line 83, in _handle_commands qobuz.download_list_of_urls(arguments.SOURCE) File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\qobuz_dl\core.py", line 180, in download_list_of_urls self.handle_url(url) File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\qobuz_dl\core.py", line 168, in handle_url self.download_from_id(item_id, type_dict["album"]) File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\qobuz_dl\core.py", line 105, in download_from_id dloader.download_id_by_type(not album) File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\qobuz_dl\downloader.py", line 61, in download_id_by_type self.download_release() File "C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\qobuz_dl\downloader.py", line 102, in download_release os.makedirs(dirn, exist_ok=True) File "<frozen os>", line 215, in makedirs File "<frozen os>", line 225, in makedirs FileNotFoundError: [WinError 3] Das System kann den angegebenen Pfad nicht finden: '2:/'

The exemplary artist here is 2:54 with their self-titled album.