diff --git a/TIDALDL-PY/setup.py b/TIDALDL-PY/setup.py index 6cf4b65..32e87eb 100644 --- a/TIDALDL-PY/setup.py +++ b/TIDALDL-PY/setup.py @@ -13,6 +13,6 @@ setup( packages=find_packages(), include_package_data=True, platforms="any", - install_requires=["aigpy>=2021.9.10.3", "requests>=2.22.0", "pycryptodome", "pydub", "prettytable", "lyricsgenius"], + install_requires=["aigpy>=2021.12.10.1", "requests>=2.22.0", "pycryptodome", "pydub", "prettytable", "lyricsgenius"], entry_points={'console_scripts': ['tidal-dl = tidal_dl:main', ]} ) diff --git a/TIDALDL-PY/tidal_dl/__init__.py b/TIDALDL-PY/tidal_dl/__init__.py index 2682950..e765667 100644 --- a/TIDALDL-PY/tidal_dl/__init__.py +++ b/TIDALDL-PY/tidal_dl/__init__.py @@ -199,6 +199,7 @@ def changeSettings(): CONF.lyricsServerProxy = Printf.enterFormat( LANG.CHANGE_LYRICS_SERVER_PROXY, CONF.lyricsServerProxy, CONF.lyricsServerProxy) CONF.lyricFile = Printf.enter(LANG.CHANGE_ADD_LRC_FILE) == '1' + CONF.addTypeFolder = Printf.enter(LANG.CHANGE_ADD_TYPE_FOLDER) == '1' LANG = setLang(CONF.language) Settings.save(CONF) diff --git a/TIDALDL-PY/tidal_dl/download.py b/TIDALDL-PY/tidal_dl/download.py index e226f59..61d64dd 100644 --- a/TIDALDL-PY/tidal_dl/download.py +++ b/TIDALDL-PY/tidal_dl/download.py @@ -8,6 +8,7 @@ @Contact : yaronhuang@foxmail.com @Desc : ''' +import requests import logging import os import datetime @@ -338,7 +339,19 @@ def __downloadVideo__(conf, video: Video, album=None, playlist=None): path = getVideoPath(conf, video, album, playlist) logging.info("[DL Video] name=" + aigpy.path.getFileName(path) + "\nurl=" + stream.m3u8Url) - check, msg = aigpy.m3u8.download(stream.m3u8Url, path) + m3u8content = requests.get(stream.m3u8Url).content + if m3u8content is None: + Printf.err(video.title + ' get m3u8 content failed.') + return + + urls = aigpy.m3u8.parseTsUrls(m3u8content) + if len(urls) <= 0: + Printf.err(video.title + ' parse ts urls failed.') + logging.info("[DL Video] title=" + video.title + "\m3u8Content=" + str(m3u8content)) + return + + check, msg = aigpy.m3u8.downloadByTsUrls(urls, path) + # check, msg = aigpy.m3u8.download(stream.m3u8Url, path) if check is True: Printf.success(aigpy.path.getFileName(path)) else: diff --git a/TIDALDL-PY/tidal_dl/lang/arabic.py b/TIDALDL-PY/tidal_dl/lang/arabic.py index 9bfa15d..4adc90f 100644 --- a/TIDALDL-PY/tidal_dl/lang/arabic.py +++ b/TIDALDL-PY/tidal_dl/lang/arabic.py @@ -38,6 +38,8 @@ class LangArabic(object): SETTING_LYRICS_SERVER_PROXY = "Lyrics server proxy" SETTING_PATH = "Settings path" SETTINGS_ADD_LRC_FILE = "Save timed lyrics (.lrc file)" + SETTING_APIKEY = "APIKey support" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "خيار" FUNCTION = "وظيفة" @@ -49,6 +51,7 @@ class LangArabic(object): CHOICE_SET_ACCESS_TOKEN = "اعداد AccessToken" CHOICE_DOWNLOAD_BY_URL = "التحميل عبر الرابط او رقم التتبع" CHOICE_LOGOUT = "Logout" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[خطأ]" PRINT_INFO = "[معلومة]" @@ -82,6 +85,7 @@ class LangArabic(object): CHANGE_ADD_LYRICS = "Add lyrics('0'-No,'1'-Yes):" CHANGE_LYRICS_SERVER_PROXY = "Lyrics server proxy('0' not modify):" CHANGE_ADD_LRC_FILE = "Save timed lyrics .lrc file ('0'-No,'1'-Yes):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "Starting login process..." diff --git a/TIDALDL-PY/tidal_dl/lang/chinese.py b/TIDALDL-PY/tidal_dl/lang/chinese.py index 66bbafb..502f24b 100644 --- a/TIDALDL-PY/tidal_dl/lang/chinese.py +++ b/TIDALDL-PY/tidal_dl/lang/chinese.py @@ -38,6 +38,8 @@ class LangChinese(object): SETTING_LYRICS_SERVER_PROXY = "歌词服务器代理" SETTING_PATH = "Settings path" SETTINGS_ADD_LRC_FILE = "Save timed lyrics (.lrc file)" + SETTING_APIKEY = "APIKey支持" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "选项" FUNCTION = "功能" @@ -49,6 +51,7 @@ class LangChinese(object): CHOICE_SET_ACCESS_TOKEN = "设置AccessToken" CHOICE_DOWNLOAD_BY_URL = "通过链接或ID下载" CHOICE_LOGOUT = "注销" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[错误]" PRINT_INFO = "[提示]" @@ -82,6 +85,7 @@ class LangChinese(object): CHANGE_ADD_LYRICS = "添加歌词('0'-否,'1'-是):" CHANGE_LYRICS_SERVER_PROXY = "歌词服务器代理('0' 不修改):" CHANGE_ADD_LRC_FILE = "Save timed lyrics .lrc file ('0'-否,'1'-是):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "开始启动登录..." diff --git a/TIDALDL-PY/tidal_dl/lang/croatian.py b/TIDALDL-PY/tidal_dl/lang/croatian.py index 965e108..6f96c22 100644 --- a/TIDALDL-PY/tidal_dl/lang/croatian.py +++ b/TIDALDL-PY/tidal_dl/lang/croatian.py @@ -38,6 +38,8 @@ class LangCroatian(object): SETTING_LYRICS_SERVER_PROXY = "Lyrics server proxy" SETTING_PATH = "Settings path" SETTINGS_ADD_LRC_FILE = "Save timed lyrics (.lrc file)" + SETTING_APIKEY = "APIKey support" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "ODABIR" FUNCTION = "FUNKCIJA" @@ -49,6 +51,7 @@ class LangCroatian(object): CHOICE_SET_ACCESS_TOKEN = "Postavi AccessToken" CHOICE_DOWNLOAD_BY_URL = "Preuzmi po url-u ili ID-u" CHOICE_LOGOUT = "Logout" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[ERR]" PRINT_INFO = "[INFO]" @@ -82,6 +85,7 @@ class LangCroatian(object): CHANGE_ADD_LYRICS = "Add lyrics('0'-No,'1'-Yes):" CHANGE_LYRICS_SERVER_PROXY = "Lyrics server proxy('0' not modify):" CHANGE_ADD_LRC_FILE = "Save timed lyrics .lrc file ('0'-No,'1'-Yes):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "Starting login process..." diff --git a/TIDALDL-PY/tidal_dl/lang/czech.py b/TIDALDL-PY/tidal_dl/lang/czech.py index c3d1cbb..5c1ed38 100644 --- a/TIDALDL-PY/tidal_dl/lang/czech.py +++ b/TIDALDL-PY/tidal_dl/lang/czech.py @@ -38,6 +38,8 @@ class LangCzech(object): SETTING_LYRICS_SERVER_PROXY = "Lyrics server proxy" SETTINGS_ADD_LRC_FILE = "Save timed lyrics (.lrc file)" SETTING_PATH = "Settings path" + SETTING_APIKEY = "APIKey support" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "Výběr" FUNCTION = "Funkce" @@ -49,6 +51,7 @@ class LangCzech(object): CHOICE_SET_ACCESS_TOKEN = "Nastavit přístupový token" CHOICE_DOWNLOAD_BY_URL = "Stáhnout buď url nebo id" CHOICE_LOGOUT = "Logout" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[Error]" PRINT_INFO = "[Info]" @@ -82,6 +85,7 @@ class LangCzech(object): CHANGE_ADD_LYRICS = "Add lyrics('0'-No,'1'-Yes):" CHANGE_LYRICS_SERVER_PROXY = "Lyrics server proxy('0' not modify):" CHANGE_ADD_LRC_FILE = "Save timed lyrics .lrc file ('0'-No,'1'-Yes):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "Starting login process..." diff --git a/TIDALDL-PY/tidal_dl/lang/danish.py b/TIDALDL-PY/tidal_dl/lang/danish.py index c201a6d..c66fd5e 100644 --- a/TIDALDL-PY/tidal_dl/lang/danish.py +++ b/TIDALDL-PY/tidal_dl/lang/danish.py @@ -38,6 +38,8 @@ class LangDanish(object): SETTING_LYRICS_SERVER_PROXY = "Lyrics server proxy" SETTING_PATH = "Settings path" SETTINGS_ADD_LRC_FILE = "Save timed lyrics (.lrc file)" + SETTING_APIKEY = "APIKey support" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "VALG" FUNCTION = "FUNKTION" @@ -49,6 +51,7 @@ class LangDanish(object): CHOICE_SET_ACCESS_TOKEN = "Sæt AccessToken" CHOICE_DOWNLOAD_BY_URL = "Download via url eller id" CHOICE_LOGOUT = "Log ud" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[FEJL]" PRINT_INFO = "[INFO]" @@ -82,6 +85,7 @@ class LangDanish(object): CHANGE_ADD_LYRICS = "Add lyrics('0'-No,'1'-Yes):" CHANGE_LYRICS_SERVER_PROXY = "Lyrics server proxy('0' not modify):" CHANGE_ADD_LRC_FILE = "Save timed lyrics .lrc file ('0'-No,'1'-Yes):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "Starter login-processen." diff --git a/TIDALDL-PY/tidal_dl/lang/english.py b/TIDALDL-PY/tidal_dl/lang/english.py index de170b1..920a3dc 100644 --- a/TIDALDL-PY/tidal_dl/lang/english.py +++ b/TIDALDL-PY/tidal_dl/lang/english.py @@ -38,6 +38,8 @@ class LangEnglish(object): SETTING_LYRICS_SERVER_PROXY = "Lyrics server proxy" SETTINGS_ADD_LRC_FILE = "Save timed lyrics (.lrc file)" SETTING_PATH = "Settings path" + SETTING_APIKEY = "APIKey support" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "CHOICE" FUNCTION = "FUNCTION" @@ -49,6 +51,7 @@ class LangEnglish(object): CHOICE_SET_ACCESS_TOKEN = "Set AccessToken" CHOICE_DOWNLOAD_BY_URL = "Download by url or ID" CHOICE_LOGOUT = "Logout" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[ERR]" PRINT_INFO = "[INFO]" @@ -82,6 +85,7 @@ class LangEnglish(object): CHANGE_ADD_LYRICS = "Add lyrics('0'-No,'1'-Yes):" CHANGE_LYRICS_SERVER_PROXY = "Lyrics server proxy('0'-not modify):" CHANGE_ADD_LRC_FILE = "Save timed lyrics .lrc file ('0'-No,'1'-Yes):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "Starting login process..." diff --git a/TIDALDL-PY/tidal_dl/lang/filipino.py b/TIDALDL-PY/tidal_dl/lang/filipino.py index 9f229aa..717e7e3 100644 --- a/TIDALDL-PY/tidal_dl/lang/filipino.py +++ b/TIDALDL-PY/tidal_dl/lang/filipino.py @@ -38,6 +38,8 @@ class LangFilipino(object): SETTING_LYRICS_SERVER_PROXY = "Lyrics server proxy" SETTING_PATH = "Settings path" SETTINGS_ADD_LRC_FILE = "Save timed lyrics (.lrc file)" + SETTING_APIKEY = "APIKey support" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "PAGPIPILIAN" FUNCTION = "SILBI" @@ -49,6 +51,7 @@ class LangFilipino(object): CHOICE_SET_ACCESS_TOKEN = "I-set ang AccessToken" CHOICE_DOWNLOAD_BY_URL = "Mag download gamit ang url o id" CHOICE_LOGOUT = "Logout" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[ERR]" PRINT_INFO = "[INFO]" @@ -82,6 +85,7 @@ class LangFilipino(object): CHANGE_ADD_LYRICS = "Add lyrics('0'-No,'1'-Yes):" CHANGE_LYRICS_SERVER_PROXY = "Lyrics server proxy('0' not modify):" CHANGE_ADD_LRC_FILE = "Save timed lyrics .lrc file ('0'-No,'1'-Yes):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "Starting login process..." diff --git a/TIDALDL-PY/tidal_dl/lang/french.py b/TIDALDL-PY/tidal_dl/lang/french.py index b4a6c7c..b77bf1f 100644 --- a/TIDALDL-PY/tidal_dl/lang/french.py +++ b/TIDALDL-PY/tidal_dl/lang/french.py @@ -38,6 +38,8 @@ class LangFrench(object): SETTING_LYRICS_SERVER_PROXY = "Lyrics server proxy" SETTING_PATH = "Settings path" SETTINGS_ADD_LRC_FILE = "Save timed lyrics (.lrc file)" + SETTING_APIKEY = "APIKey support" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "CHOIX" FUNCTION = "FONCTION" @@ -49,6 +51,7 @@ class LangFrench(object): CHOICE_SET_ACCESS_TOKEN = "Définir le jeton d'accès" CHOICE_DOWNLOAD_BY_URL = "Téléchargement par url ou id" CHOICE_LOGOUT = "Logout" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[ERR]" PRINT_INFO = "[INFO]" @@ -82,6 +85,7 @@ class LangFrench(object): CHANGE_ADD_LYRICS = "Add lyrics('0'-No,'1'-Yes):" CHANGE_LYRICS_SERVER_PROXY = "Lyrics server proxy('0' not modify):" CHANGE_ADD_LRC_FILE = "Save timed lyrics .lrc file ('0'-No,'1'-Yes):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "Starting login process..." diff --git a/TIDALDL-PY/tidal_dl/lang/german.py b/TIDALDL-PY/tidal_dl/lang/german.py index c7919fb..0e379f6 100644 --- a/TIDALDL-PY/tidal_dl/lang/german.py +++ b/TIDALDL-PY/tidal_dl/lang/german.py @@ -38,6 +38,8 @@ class LangGerman(object): SETTING_LYRICS_SERVER_PROXY = "Lyrics server proxy" SETTING_PATH = "Settings path" SETTINGS_ADD_LRC_FILE = "Save timed lyrics (.lrc file)" + SETTING_APIKEY = "APIKey support" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "AUSWAHL" FUNCTION = "FUNKTION" @@ -49,6 +51,7 @@ class LangGerman(object): CHOICE_SET_ACCESS_TOKEN = "AccessToken setzen" CHOICE_DOWNLOAD_BY_URL = "Herunterladen per URL oder ID" CHOICE_LOGOUT = "Logout" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[FEHLER]" PRINT_INFO = "[INFO]" @@ -82,6 +85,7 @@ class LangGerman(object): CHANGE_ADD_LYRICS = "Add lyrics('0'-No,'1'-Yes):" CHANGE_LYRICS_SERVER_PROXY = "Lyrics server proxy('0' not modify):" CHANGE_ADD_LRC_FILE = "Save timed lyrics .lrc file ('0'-No,'1'-Yes):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "Starte Loginprozess..." diff --git a/TIDALDL-PY/tidal_dl/lang/hungarian.py b/TIDALDL-PY/tidal_dl/lang/hungarian.py index 4585da1..0b48ddb 100644 --- a/TIDALDL-PY/tidal_dl/lang/hungarian.py +++ b/TIDALDL-PY/tidal_dl/lang/hungarian.py @@ -38,6 +38,8 @@ class LangHungarian(object): SETTING_LYRICS_SERVER_PROXY = "Dalszöveg kiszolgáló proxy" SETTING_PATH = "Beállítások elérési útvonala" SETTINGS_ADD_LRC_FILE = "Save timed lyrics (.lrc file)" + SETTING_APIKEY = "APIKey support" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "VÁLASZTÁS" FUNCTION = "FUNKCIÓ" @@ -49,6 +51,7 @@ class LangHungarian(object): CHOICE_SET_ACCESS_TOKEN = "AccessToken beállítása" CHOICE_DOWNLOAD_BY_URL = "Letöltés URL vagy ID alapján" CHOICE_LOGOUT = "Kijelentkezés" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[HIBA]" PRINT_INFO = "[INFÓ]" @@ -82,6 +85,7 @@ class LangHungarian(object): CHANGE_ADD_LYRICS = "Dalszöveg hozzáadása('0'-nem,'1'-igen):" CHANGE_LYRICS_SERVER_PROXY = "Dalszöveg kiszolgáló prox('0' nincs módosítás):" CHANGE_ADD_LRC_FILE = "Save timed lyrics .lrc file ('0'-No,'1'-Yes):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "Bejelentkezési folyamat elindítása..." diff --git a/TIDALDL-PY/tidal_dl/lang/italian.py b/TIDALDL-PY/tidal_dl/lang/italian.py index 05e2b8f..6f3d24a 100644 --- a/TIDALDL-PY/tidal_dl/lang/italian.py +++ b/TIDALDL-PY/tidal_dl/lang/italian.py @@ -38,6 +38,8 @@ class LangItalian(object): SETTING_LYRICS_SERVER_PROXY = "Lyrics server proxy" SETTING_PATH = "Settings path" SETTINGS_ADD_LRC_FILE = "Save timed lyrics (.lrc file)" + SETTING_APIKEY = "APIKey support" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "SCELTA" FUNCTION = "FUNZIONE" @@ -49,6 +51,7 @@ class LangItalian(object): CHOICE_SET_ACCESS_TOKEN = "Imposta AccessToken" CHOICE_DOWNLOAD_BY_URL = "Scarica per URL o Id" CHOICE_LOGOUT = "Logout" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[ERR]" PRINT_INFO = "[INFO]" @@ -82,6 +85,7 @@ class LangItalian(object): CHANGE_ADD_LYRICS = "Add lyrics('0'-No,'1'-Yes):" CHANGE_LYRICS_SERVER_PROXY = "Lyrics server proxy('0' not modify):" CHANGE_ADD_LRC_FILE = "Save timed lyrics .lrc file ('0'-No,'1'-Yes):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "Starting login process..." diff --git a/TIDALDL-PY/tidal_dl/lang/japanese.py b/TIDALDL-PY/tidal_dl/lang/japanese.py index ba0422a..7a7656d 100644 --- a/TIDALDL-PY/tidal_dl/lang/japanese.py +++ b/TIDALDL-PY/tidal_dl/lang/japanese.py @@ -38,6 +38,8 @@ class LangJapanese(object): SETTING_LYRICS_SERVER_PROXY = "Lyrics server proxy" SETTINGS_ADD_LRC_FILE = "Save timed lyrics (.lrc file)" SETTING_PATH = "設定パス" + SETTING_APIKEY = "APIKey support" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "選択" FUNCTION = "関数" @@ -49,6 +51,7 @@ class LangJapanese(object): CHOICE_SET_ACCESS_TOKEN = "AccessTokenを設定する" CHOICE_DOWNLOAD_BY_URL = "UrlまたはIDでダウンロード" CHOICE_LOGOUT = "ログアウト" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[エラー]" PRINT_INFO = "[情報]" @@ -82,6 +85,7 @@ class LangJapanese(object): CHANGE_ADD_LYRICS = "歌詞を追加('0'-いいえ,'1'-はい):" CHANGE_LYRICS_SERVER_PROXY = "Lyrics server proxy('0'-変更しない):" CHANGE_ADD_LRC_FILE = "Save timed lyrics .lrc file ('0'-いいえ,'1'-はい):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "Starting login process..." @@ -110,4 +114,4 @@ class LangJapanese(object): MODEL_ALBUM = 'アルバム' MODEL_ID = 'ID' MODEL_NAME = '名前' - MODEL_TYPE = 'タイプ' \ No newline at end of file + MODEL_TYPE = 'タイプ' diff --git a/TIDALDL-PY/tidal_dl/lang/korean.py b/TIDALDL-PY/tidal_dl/lang/korean.py index e717aee..5e895cd 100644 --- a/TIDALDL-PY/tidal_dl/lang/korean.py +++ b/TIDALDL-PY/tidal_dl/lang/korean.py @@ -38,6 +38,8 @@ class LangKorean(object): SETTING_LYRICS_SERVER_PROXY = "가사 서버 프록시" SETTINGS_ADD_LRC_FILE = "timed 가사 저장 (.lrc 파일)" SETTING_PATH = "설정 경로" + SETTING_APIKEY = "APIKey support" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "선택" FUNCTION = "기능" @@ -49,6 +51,7 @@ class LangKorean(object): CHOICE_SET_ACCESS_TOKEN = "액세스 토큰 설정" CHOICE_DOWNLOAD_BY_URL = "Url 또는 id로 다운로드" CHOICE_LOGOUT = "로그아웃" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[에러]" PRINT_INFO = "[정보]" @@ -82,6 +85,7 @@ class LangKorean(object): CHANGE_ADD_LYRICS = "가사 추가('0'-아니요,'1'-예):" CHANGE_LYRICS_SERVER_PROXY = "가사 서버 프록시('0'-변경 안 함):" CHANGE_ADD_LRC_FILE = "timed 가사 .lrc 파일 저장 ('0'-아니요,'1'-예):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "로그인 중..." diff --git a/TIDALDL-PY/tidal_dl/lang/portuguese.py b/TIDALDL-PY/tidal_dl/lang/portuguese.py index c948ff0..2c8c407 100644 --- a/TIDALDL-PY/tidal_dl/lang/portuguese.py +++ b/TIDALDL-PY/tidal_dl/lang/portuguese.py @@ -38,6 +38,8 @@ class LangPortuguese(object): SETTING_LYRICS_SERVER_PROXY = "Lyrics server proxy" SETTING_PATH = "Settings path" SETTINGS_ADD_LRC_FILE = "Save timed lyrics (.lrc file)" + SETTING_APIKEY = "APIKey support" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "ESCOLHER" FUNCTION = "FUNÇÃO" @@ -49,6 +51,7 @@ class LangPortuguese(object): CHOICE_SET_ACCESS_TOKEN = "Adicionar Token de Acesso" CHOICE_DOWNLOAD_BY_URL = "Download Por url ou id" CHOICE_LOGOUT = "Logout" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[ERRO]" PRINT_INFO = "[INFORMAÇÕES]" @@ -82,6 +85,7 @@ class LangPortuguese(object): CHANGE_ADD_LYRICS = "Add lyrics('0'-No,'1'-Yes):" CHANGE_LYRICS_SERVER_PROXY = "Lyrics server proxy('0' not modify):" CHANGE_ADD_LRC_FILE = "Save timed lyrics .lrc file ('0'-No,'1'-Yes):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "Starting login process..." diff --git a/TIDALDL-PY/tidal_dl/lang/russian.py b/TIDALDL-PY/tidal_dl/lang/russian.py index 6707b54..800f2cb 100644 --- a/TIDALDL-PY/tidal_dl/lang/russian.py +++ b/TIDALDL-PY/tidal_dl/lang/russian.py @@ -38,6 +38,8 @@ class LangRussian(object): SETTING_LYRICS_SERVER_PROXY = "Прокси сервер для текстов песен" SETTING_PATH = "Путь для настроек" SETTINGS_ADD_LRC_FILE = "Save timed lyrics (.lrc file)" + SETTING_APIKEY = "APIKey support" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "ВЫБРАТЬ" FUNCTION = "ФУНКЦИИ" @@ -49,6 +51,7 @@ class LangRussian(object): CHOICE_SET_ACCESS_TOKEN = "Применить AccessToken" CHOICE_DOWNLOAD_BY_URL = "Использовать ссылку для загрузки" CHOICE_LOGOUT = "Переподключение" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[ОШИБКА]" PRINT_INFO = "[СВЕДЕНИЯ]" @@ -82,6 +85,7 @@ class LangRussian(object): CHANGE_ADD_LYRICS = "Добавлять тексты песень ('0'-Нет,'1'-Да):" CHANGE_LYRICS_SERVER_PROXY = "Прокси для сервера с текстом песень('0' не менять):" CHANGE_ADD_LRC_FILE = "Save timed lyrics .lrc file ('0'-No,'1'-Yes):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "Входим в сервис..." diff --git a/TIDALDL-PY/tidal_dl/lang/spanish.py b/TIDALDL-PY/tidal_dl/lang/spanish.py index ddec14b..254da12 100644 --- a/TIDALDL-PY/tidal_dl/lang/spanish.py +++ b/TIDALDL-PY/tidal_dl/lang/spanish.py @@ -38,6 +38,8 @@ class LangSpanish(object): SETTING_LYRICS_SERVER_PROXY = "Proxy del servidor de letras" SETTING_PATH = "Ruta de ajustes" SETTINGS_ADD_LRC_FILE = "Añadir letras cronometradas (archivo .lrc)" + SETTING_APIKEY = "APIKey support" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "SELECCIÓN" FUNCTION = "FUNCIÓN" @@ -49,6 +51,7 @@ class LangSpanish(object): CHOICE_SET_ACCESS_TOKEN = "Establecer AccessToken" CHOICE_DOWNLOAD_BY_URL = "Descargar por Url o ID" CHOICE_LOGOUT = "Cerrar sesión" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[ERROR]" PRINT_INFO = "[INFO]" @@ -82,6 +85,7 @@ class LangSpanish(object): CHANGE_ADD_LYRICS = "¿Añadir letras?('0'-No,'1'-Sí):" CHANGE_LYRICS_SERVER_PROXY = "¿Proxy del servidor de letras?('0' no modificar):" CHANGE_ADD_LRC_FILE = "¿Añadir letras cronometradas en un archivo .lrc? ('0'-No,'1'-Sí):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "Iniciando sesión..." diff --git a/TIDALDL-PY/tidal_dl/lang/turkish.py b/TIDALDL-PY/tidal_dl/lang/turkish.py index cbd13e9..e013075 100644 --- a/TIDALDL-PY/tidal_dl/lang/turkish.py +++ b/TIDALDL-PY/tidal_dl/lang/turkish.py @@ -38,6 +38,8 @@ class LangTurkish(object): SETTING_LYRICS_SERVER_PROXY = "Lyrics server proxy" SETTING_PATH = "Settings path" SETTINGS_ADD_LRC_FILE = "Save timed lyrics (.lrc file)" + SETTING_APIKEY = "APIKey support" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "Seçim" FUNCTION = "İşlemler" @@ -49,6 +51,7 @@ class LangTurkish(object): CHOICE_SET_ACCESS_TOKEN = "'AccessToken' Gir" CHOICE_DOWNLOAD_BY_URL = "URL ya da ID ile indir" CHOICE_LOGOUT = "Çıkış" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[HATA OLUŞTU]" PRINT_INFO = "[BİLGİ]" @@ -82,6 +85,7 @@ class LangTurkish(object): CHANGE_ADD_LYRICS = "Add lyrics('0'-No,'1'-Yes):" CHANGE_LYRICS_SERVER_PROXY = "Lyrics server proxy('0' not modify):" CHANGE_ADD_LRC_FILE = "Save timed lyrics .lrc file ('0'-No,'1'-Yes):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "Giriş işlemleri başlatıldı..." diff --git a/TIDALDL-PY/tidal_dl/lang/ukrainian.py b/TIDALDL-PY/tidal_dl/lang/ukrainian.py index 5765f4b..de5b3b8 100644 --- a/TIDALDL-PY/tidal_dl/lang/ukrainian.py +++ b/TIDALDL-PY/tidal_dl/lang/ukrainian.py @@ -38,6 +38,8 @@ class LangUkrainian(object): SETTING_LYRICS_SERVER_PROXY = "Lyrics server proxy" SETTING_PATH = "Settings path" SETTINGS_ADD_LRC_FILE = "Save timed lyrics (.lrc file)" + SETTING_APIKEY = "APIKey support" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "ВИБІР" FUNCTION = "ФУНКЦІЇ" @@ -49,6 +51,7 @@ class LangUkrainian(object): CHOICE_SET_ACCESS_TOKEN = "Застосувати AccessToken" CHOICE_DOWNLOAD_BY_URL = "Завантажити за URL-адресою або ідентифікатором" CHOICE_LOGOUT = "Logout" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[ПОМИЛКА]" PRINT_INFO = "[ІНФОРМАЦІЯ]" @@ -82,6 +85,7 @@ class LangUkrainian(object): CHANGE_ADD_LYRICS = "Add lyrics('0'-No,'1'-Yes):" CHANGE_LYRICS_SERVER_PROXY = "Lyrics server proxy('0' not modify):" CHANGE_ADD_LRC_FILE = "Save timed lyrics .lrc file ('0'-No,'1'-Yes):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "Starting login process..." diff --git a/TIDALDL-PY/tidal_dl/lang/vietnamese.py b/TIDALDL-PY/tidal_dl/lang/vietnamese.py index f0307ec..26332b6 100644 --- a/TIDALDL-PY/tidal_dl/lang/vietnamese.py +++ b/TIDALDL-PY/tidal_dl/lang/vietnamese.py @@ -38,6 +38,8 @@ class LangVietnamese(object): SETTING_LYRICS_SERVER_PROXY = "Máy chủ proxy cho lyrics" SETTINGS_ADD_LRC_FILE = "Lưu timed lyrics (tệp .lrc)" SETTING_PATH = "Đường dẫn cài đặt" + SETTING_APIKEY = "APIKey support" + SETTING_ADD_TYPE_FOLDER = "Add Type-Folder" CHOICE = "LỰA CHỌN" FUNCTION = "CHỨC NĂNG" @@ -49,6 +51,7 @@ class LangVietnamese(object): CHOICE_SET_ACCESS_TOKEN = "Nhập AccessToken" CHOICE_DOWNLOAD_BY_URL = "Tải về qua url hoặc id" CHOICE_LOGOUT = "Đăng xuất" + CHOICE_APIKEY = "Select APIKey" PRINT_ERR = "[LỖI]" PRINT_INFO = "[THÔNG TIN]" @@ -82,6 +85,7 @@ class LangVietnamese(object): CHANGE_ADD_LYRICS = "Thêm lời bài hát('0'-Không,'1'-Có):" CHANGE_LYRICS_SERVER_PROXY = "Máy chủ proxy cho lyrics('0' không đổi):" CHANGE_ADD_LRC_FILE = "Lưu timed lyrics tệp .lrc ('0'-No,'1'-Yes):" + CHANGE_ADD_TYPE_FOLDER = "Add Type-Folder,eg Album/Video/Playlist('0'-No,'1'-Yes):" # {} are required in these strings AUTH_START_LOGIN = "Đang bắt đầu đăng nhập..." diff --git a/TIDALDL-PY/tidal_dl/printf.py b/TIDALDL-PY/tidal_dl/printf.py index 1aeec60..a0aedfe 100644 --- a/TIDALDL-PY/tidal_dl/printf.py +++ b/TIDALDL-PY/tidal_dl/printf.py @@ -30,7 +30,7 @@ __LOGO__ = ''' https://github.com/yaronzz/Tidal-Media-Downloader ''' -VERSION = '2021.11.30.1' +VERSION = '2021.12.10.1' class Printf(object): @@ -90,7 +90,8 @@ class Printf(object): tb.add_row([LANG.SETTING_ADD_LYRICS, data.addLyrics]) tb.add_row([LANG.SETTING_LYRICS_SERVER_PROXY, data.lyricsServerProxy]) tb.add_row([LANG.SETTINGS_ADD_LRC_FILE, data.lyricFile]) - tb.add_row(['APIKey support', apiKey.getItem(data.apiKeyIndex)['formats']]) + tb.add_row([LANG.SETTING_ADD_TYPE_FOLDER, data.addTypeFolder]) + tb.add_row([LANG.SETTING_APIKEY, apiKey.getItem(data.apiKeyIndex)['formats']]) print(tb) @staticmethod @@ -106,7 +107,7 @@ class Printf(object): tb.add_row([aigpy.cmd.green(LANG.CHOICE_ENTER + " '2':"), LANG.CHOICE_SETTINGS]) tb.add_row([aigpy.cmd.green(LANG.CHOICE_ENTER + " '3':"), LANG.CHOICE_LOGOUT]) tb.add_row([aigpy.cmd.green(LANG.CHOICE_ENTER + " '4':"), LANG.CHOICE_SET_ACCESS_TOKEN]) - tb.add_row([aigpy.cmd.green(LANG.CHOICE_ENTER + " '5':"), 'Select APIKey']) + tb.add_row([aigpy.cmd.green(LANG.CHOICE_ENTER + " '5':"), LANG.CHOICE_APIKEY]) tb.add_row([aigpy.cmd.green(LANG.CHOICE_ENTER_URLID), LANG.CHOICE_DOWNLOAD_BY_URL]) print(tb) print("====================================================") diff --git a/TIDALDL-PY/tidal_dl/settings.py b/TIDALDL-PY/tidal_dl/settings.py index 09d2c9a..d6a40ac 100644 --- a/TIDALDL-PY/tidal_dl/settings.py +++ b/TIDALDL-PY/tidal_dl/settings.py @@ -106,6 +106,7 @@ class Settings(ModelBase): saveAlbumInfo = False lyricFile = False apiKeyIndex = 0 + addTypeFolder = True @staticmethod def getDefaultAlbumFolderFormat(): @@ -129,6 +130,7 @@ class Settings(ModelBase): ret.videoQuality = Settings.getVideoQuality(ret.videoQuality) ret.usePlaylistFolder = ret.usePlaylistFolder == True or ret.usePlaylistFolder is None ret.multiThreadDownload = ret.multiThreadDownload == True or ret.multiThreadDownload is None + ret.addTypeFolder = ret.addTypeFolder == True or ret.addTypeFolder is None if ret.albumFolderFormat is None: ret.albumFolderFormat = Settings.getDefaultAlbumFolderFormat() if ret.trackFileFormat is None: diff --git a/TIDALDL-PY/tidal_dl/util.py b/TIDALDL-PY/tidal_dl/util.py index 8e4f4a6..6507711 100644 --- a/TIDALDL-PY/tidal_dl/util.py +++ b/TIDALDL-PY/tidal_dl/util.py @@ -101,7 +101,9 @@ def getArtistsName(artists): # "{ArtistName}/{Flag} [{AlbumID}] [{AlbumYear}] {AlbumTitle}" def getAlbumPath(conf: Settings, album): - base = conf.downloadPath + '/Album/' + base = conf.downloadPath + '/' + if conf.addTypeFolder: + base = base + 'Album/' artist = aigpy.path.replaceLimitChar(getArtistsName(album.artists), '-') albumArtistName = album.artist.name if album.artist is not None else "None" # album folder pre: [ME][ID] @@ -143,7 +145,9 @@ def getAlbumPath(conf: Settings, album): def getPlaylistPath(conf: Settings, playlist): # outputdir/Playlist/ - base = conf.downloadPath + '/Playlist/' + base = conf.downloadPath + '/' + if conf.addTypeFolder: + base = base + 'Playlist/' # name name = aigpy.path.replaceLimitChar(playlist.title, '-') return base + name + '/' @@ -199,7 +203,9 @@ def getVideoPath(conf, video, album=None, playlist=None): elif playlist is not None and conf.usePlaylistFolder: base = getPlaylistPath(conf, playlist) else: - base = conf.downloadPath + '/Video/' + base = conf.downloadPath + '/' + if conf.addTypeFolder: + base = base + 'Video/' # hyphen hyphen = ' - ' if conf.addHyphen else ' ' diff --git a/TIDALDL-PY/updatelog.md b/TIDALDL-PY/updatelog.md index 8cc88ed..eea5b90 100644 --- a/TIDALDL-PY/updatelog.md +++ b/TIDALDL-PY/updatelog.md @@ -1,6 +1,8 @@ TYPE tidal-dl USE pip3 install tidal-dl --upgrade +- [X] Settings: add type-folder(eg Album/Video/Playlist) + #### v2021-11-30 - [x] Add language:Japanese - [x] Support select apikey(Different keys support different formats) diff --git a/TIDALDL-PY/upload.sh b/TIDALDL-PY/upload.sh index ed23725..2995098 100644 --- a/TIDALDL-PY/upload.sh +++ b/TIDALDL-PY/upload.sh @@ -3,6 +3,7 @@ rm -rf dist rm -rf build rm -rf exe rm -rf tidal_dl.egg-info +rm -rf tidal_dl_test.egg-info mkdir exe # pack