mirror of
https://github.com/yaronzz/Tidal-Media-Downloader.git
synced 2026-06-13 04:05:07 +03:00
Settings: add type-folder(eg Album/Video/Playlist)
This commit is contained in:
+1
-1
@@ -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', ]}
|
||||
)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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..."
|
||||
|
||||
@@ -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 = "开始启动登录..."
|
||||
|
||||
@@ -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..."
|
||||
|
||||
@@ -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..."
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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..."
|
||||
|
||||
@@ -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..."
|
||||
|
||||
@@ -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..."
|
||||
|
||||
@@ -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..."
|
||||
|
||||
@@ -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..."
|
||||
|
||||
@@ -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..."
|
||||
|
||||
@@ -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 = 'タイプ'
|
||||
MODEL_TYPE = 'タイプ'
|
||||
|
||||
@@ -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 = "로그인 중..."
|
||||
|
||||
@@ -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..."
|
||||
|
||||
@@ -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 = "Входим в сервис..."
|
||||
|
||||
@@ -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..."
|
||||
|
||||
@@ -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ı..."
|
||||
|
||||
@@ -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..."
|
||||
|
||||
@@ -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..."
|
||||
|
||||
@@ -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("====================================================")
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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 ' '
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user