This commit is contained in:
Yaronzz
2022-06-24 18:30:53 +08:00
parent fd97a2b966
commit a7aa38e563
6 changed files with 156 additions and 207 deletions
Binary file not shown.
+3 -3
View File
@@ -54,7 +54,7 @@ def mainCommand():
continue
if not aigpy.path.mkdirs(SETTINGS.downloadPath):
Printf.err(LANG.MSG_PATH_ERR + SETTINGS.downloadPath)
Printf.err(LANG.select.MSG_PATH_ERR + SETTINGS.downloadPath)
return
if showGui:
@@ -64,7 +64,7 @@ def mainCommand():
if link is not None:
if not loginByConfig():
loginByWeb()
Printf.info(LANG.SETTING_DOWNLOAD_PATH + ':' + SETTINGS.downloadPath)
Printf.info(LANG.select.SETTING_DOWNLOAD_PATH + ':' + SETTINGS.downloadPath)
start(link)
def main():
@@ -85,7 +85,7 @@ def main():
while True:
Printf.choices()
choice = Printf.enter(LANG.PRINT_ENTER_CHOICE)
choice = Printf.enter(LANG.select.PRINT_ENTER_CHOICE)
if choice == "0":
return
elif choice == "1":
+34 -34
View File
@@ -146,52 +146,52 @@ CHANGE SETTINGS
def changePathSettings():
Printf.settings(SETTINGS)
Printf.settings()
SETTINGS.downloadPath = Printf.enterPath(
LANG.CHANGE_DOWNLOAD_PATH,
LANG.MSG_PATH_ERR,
LANG.select.CHANGE_DOWNLOAD_PATH,
LANG.select.MSG_PATH_ERR,
'0',
SETTINGS.downloadPath)
SETTINGS.albumFolderFormat = Printf.enterFormat(
LANG.CHANGE_ALBUM_FOLDER_FORMAT,
LANG.select.CHANGE_ALBUM_FOLDER_FORMAT,
SETTINGS.albumFolderFormat,
SETTINGS.getDefaultAlbumFolderFormat())
SETTINGS.getDefaultPathFormat(Type.Album))
SETTINGS.trackFileFormat = Printf.enterFormat(
LANG.CHANGE_TRACK_FILE_FORMAT,
LANG.select.CHANGE_TRACK_FILE_FORMAT,
SETTINGS.trackFileFormat,
SETTINGS.getDefaultTrackFileFormat())
SETTINGS.getDefaultPathFormat(Type.Track))
SETTINGS.videoFileFormat = Printf.enterFormat(
LANG.CHANGE_VIDEO_FILE_FORMAT,
LANG.select.CHANGE_VIDEO_FILE_FORMAT,
SETTINGS.videoFileFormat,
SETTINGS.getDefaultVideoFileFormat())
SETTINGS.getDefaultPathFormat(Type.Video))
SETTINGS.save()
def changeQualitySettings():
Printf.settings(SETTINGS)
Printf.settings()
SETTINGS.audioQuality = AudioQuality(
int(Printf.enterLimit(LANG.CHANGE_AUDIO_QUALITY,
LANG.MSG_INPUT_ERR,
int(Printf.enterLimit(LANG.select.CHANGE_AUDIO_QUALITY,
LANG.select.MSG_INPUT_ERR,
['0', '1', '2', '3'])))
SETTINGS.videoQuality = VideoQuality(
int(Printf.enterLimit(LANG.CHANGE_VIDEO_QUALITY,
LANG.MSG_INPUT_ERR,
int(Printf.enterLimit(LANG.select.CHANGE_VIDEO_QUALITY,
LANG.select.MSG_INPUT_ERR,
['1080', '720', '480', '360'])))
SETTINGS.save()
def changeSettings():
Printf.settings(SETTINGS)
SETTINGS.showProgress = Printf.enterBool(LANG.CHANGE_SHOW_PROGRESS)
SETTINGS.showTrackInfo = Printf.enterBool(LANG.CHANGE_SHOW_TRACKINFO)
SETTINGS.checkExist = Printf.enterBool(LANG.CHANGE_CHECK_EXIST)
SETTINGS.includeEP = Printf.enterBool(LANG.CHANGE_INCLUDE_EP)
SETTINGS.saveCovers = Printf.enterBool(LANG.CHANGE_SAVE_COVERS)
SETTINGS.saveAlbumInfo = Printf.enterBool(LANG.CHANGE_SAVE_ALBUM_INFO)
SETTINGS.lyricFile = Printf.enterBool(LANG.CHANGE_ADD_LRC_FILE)
SETTINGS.usePlaylistFolder = Printf.enterBool(LANG.SETTING_USE_PLAYLIST_FOLDER + "('0'-No,'1'-Yes):")
SETTINGS.language = Printf.enter(LANG.CHANGE_LANGUAGE + "(" + getLangChoicePrint() + "):")
LANG = setLang(SETTINGS.language)
Printf.settings()
SETTINGS.showProgress = Printf.enterBool(LANG.select.CHANGE_SHOW_PROGRESS)
SETTINGS.showTrackInfo = Printf.enterBool(LANG.select.CHANGE_SHOW_TRACKINFO)
SETTINGS.checkExist = Printf.enterBool(LANG.select.CHANGE_CHECK_EXIST)
SETTINGS.includeEP = Printf.enterBool(LANG.select.CHANGE_INCLUDE_EP)
SETTINGS.saveCovers = Printf.enterBool(LANG.select.CHANGE_SAVE_COVERS)
SETTINGS.saveAlbumInfo = Printf.enterBool(LANG.select.CHANGE_SAVE_ALBUM_INFO)
SETTINGS.lyricFile = Printf.enterBool(LANG.select.CHANGE_ADD_LRC_FILE)
SETTINGS.usePlaylistFolder = Printf.enterBool(LANG.select.SETTING_USE_PLAYLIST_FOLDER + "('0'-No,'1'-Yes):")
SETTINGS.language = Printf.enter(LANG.select.CHANGE_LANGUAGE + "(" + LANG.getLangChoicePrint() + "):")
LANG.setLang(SETTINGS.language)
SETTINGS.save()
@@ -202,7 +202,7 @@ def changeApiKey():
Printf.info(f'Current APIKeys: {str(SETTINGS.apiKeyIndex)} {item["platform"]}-{item["formats"]}')
Printf.info(f'Current Version: {str(ver)}')
Printf.apikeys(apiKey.getItems())
index = int(Printf.enterLimit("APIKEY index:", LANG.MSG_INPUT_ERR, apiKey.getLimitIndexs()))
index = int(Printf.enterLimit("APIKEY index:", LANG.select.MSG_INPUT_ERR, apiKey.getLimitIndexs()))
if index != SETTINGS.apiKeyIndex:
SETTINGS.apiKeyIndex = index
@@ -244,14 +244,14 @@ def __displayTime__(seconds, granularity=2):
def loginByWeb():
try:
print(LANG.AUTH_START_LOGIN)
print(LANG.select.AUTH_START_LOGIN)
# get device code
url = TIDAL_API.getDeviceCode()
print(LANG.AUTH_NEXT_STEP.format(
print(LANG.select.AUTH_NEXT_STEP.format(
aigpy.cmd.green(url),
aigpy.cmd.yellow(__displayTime__(TIDAL_API.key.authCheckTimeout))))
print(LANG.AUTH_WAITING)
print(LANG.select.AUTH_WAITING)
start = time.time()
elapsed = 0
@@ -261,7 +261,7 @@ def loginByWeb():
time.sleep(TIDAL_API.key.authCheckInterval + 1)
continue
Printf.success(LANG.MSG_VALID_ACCESSTOKEN.format(
Printf.success(LANG.select.MSG_VALID_ACCESSTOKEN.format(
__displayTime__(int(TIDAL_API.key.expiresIn))))
TOKEN.userid = TIDAL_API.key.userId
@@ -272,7 +272,7 @@ def loginByWeb():
TOKEN.save()
return True
raise Exception(LANG.AUTH_TIMEOUT)
raise Exception(LANG.select.AUTH_TIMEOUT)
except Exception as e:
Printf.err(f"Login failed.{str(e)}")
return False
@@ -284,7 +284,7 @@ def loginByConfig():
return False
if TIDAL_API.verifyAccessToken(TOKEN.accessToken):
Printf.info(LANG.MSG_VALID_ACCESSTOKEN.format(
Printf.info(LANG.select.MSG_VALID_ACCESSTOKEN.format(
__displayTime__(int(TOKEN.expiresAfter - time.time()))))
TIDAL_API.key.countryCode = TOKEN.countryCode
@@ -292,9 +292,9 @@ def loginByConfig():
TIDAL_API.key.accessToken = TOKEN.accessToken
return True
Printf.info(LANG.MSG_INVALID_ACCESSTOKEN)
Printf.info(LANG.select.MSG_INVALID_ACCESSTOKEN)
if TIDAL_API.refreshAccessToken(TOKEN.refreshToken):
Printf.success(LANG.MSG_VALID_ACCESSTOKEN.format(
Printf.success(LANG.select.MSG_VALID_ACCESSTOKEN.format(
__displayTime__(int(TIDAL_API.key.expiresIn))))
TOKEN.userid = TIDAL_API.key.userId
+52 -106
View File
@@ -31,111 +31,57 @@ from tidal_dl.lang.vietnamese import LangVietnamese
from tidal_dl.lang.korean import LangKorean
from tidal_dl.lang.japanese import LangJapanese
LANG = LangEnglish()
_ALL_LANGUAGE_ = [
['English', LangEnglish()],
['中文', LangChinese()],
['Turkish', LangTurkish()],
['Italian', LangItalian()],
['Czech', LangCzech()],
['Arabic', LangArabic()],
['Russian', LangRussian()],
['Filipino', LangFilipino()],
['Croatian', LangCroatian()],
['Spanish', LangSpanish()],
['Portuguese', LangPortuguese()],
['Ukrainian', LangUkrainian()],
['Vietnamese', LangVietnamese()],
['French', LangFrench()],
['German', LangGerman()],
['Danish', LangDanish()],
['Hungarian', LangHungarian()],
['Korean', LangKorean()],
['Japanese', LangJapanese()],
['Dutch', LangDutch()],
['Polish', LangPolish()],
]
class Language(object):
def __init__(self) -> None:
self.select = LangEnglish()
def setLang(self, index):
index = int(index)
if index >= 0 and index < len(_ALL_LANGUAGE_):
self.select = _ALL_LANGUAGE_[index][1]
else:
self.select = LangEnglish()
def getLangName(self, index):
index = int(index)
if index >= 0 and index < len(_ALL_LANGUAGE_):
return _ALL_LANGUAGE_[index][0]
return ""
def getLangChoicePrint(self):
array = []
index = 0
while True:
name = self.getLangName(index)
if name == "":
break
array.append('\'' + str(index) + '\'-' + name)
index += 1
return ','.join(array)
def setLang(index):
global LANG
if str(index) == '0':
LANG = LangEnglish()
elif str(index) == '1':
LANG = LangChinese()
elif str(index) == '2':
LANG = LangTurkish()
elif str(index) == '3':
LANG = LangItalian()
elif str(index) == '4':
LANG = LangCzech()
elif str(index) == '5':
LANG = LangArabic()
elif str(index) == '6':
LANG = LangRussian()
elif str(index) == '7':
LANG = LangFilipino()
elif str(index) == '8':
LANG = LangCroatian()
elif str(index) == '9':
LANG = LangSpanish()
elif str(index) == '10':
LANG = LangPortuguese()
elif str(index) == '11':
LANG = LangUkrainian()
elif str(index) == '12':
LANG = LangVietnamese()
elif str(index) == '13':
LANG = LangFrench()
elif str(index) == '14':
LANG = LangGerman()
elif str(index) == '15':
LANG = LangDanish()
elif str(index) == '16':
LANG = LangHungarian()
elif str(index) == '17':
LANG = LangKorean()
elif str(index) == '18':
LANG = LangJapanese()
elif str(index) == '19':
LANG = LangDutch()
elif str(index) == '20':
LANG = LangPolish()
else:
LANG = LangEnglish()
return LANG
def getLangName(index):
if str(index) == '0':
return "English"
if str(index) == '1':
return "中文"
if str(index) == '2':
return "Turkish"
if str(index) == '3':
return "Italian"
if str(index) == '4':
return "Czech"
if str(index) == '5':
return "Arabic"
if str(index) == '6':
return "Russian"
if str(index) == '7':
return "Filipino"
if str(index) == '8':
return "Croatian"
if str(index) == '9':
return "Spanish"
if str(index) == '10':
return "Portuguese"
if str(index) == '11':
return "Ukrainian"
if str(index) == '12':
return "Vietnamese"
if str(index) == '13':
return "French"
if str(index) == '14':
return "German"
if str(index) == '15':
return "Danish"
if str(index) == '16':
return "Hungarian"
if str(index) == '17':
return "Korean"
if str(index) == '18':
return "Japanese"
if str(index) == '19':
return "Dutch"
if str(index) == '20':
return "Polish"
return ""
def getLangChoicePrint():
array = []
index = 0
while True:
name = getLangName(index)
if name == "":
break
array.append('\'' + str(index) + '\'-' + name)
index += 1
return ','.join(array)
LANG = Language()
+64 -64
View File
@@ -20,7 +20,7 @@ from tidal_dl.settings import *
from tidal_dl.lang.language import *
VERSION = '2022.06.24.1'
VERSION = '2022.06.24.2'
__LOGO__ = f'''
/$$$$$$$$ /$$ /$$ /$$ /$$ /$$
|__ $$__/|__/ | $$ | $$ | $$| $$
@@ -75,50 +75,50 @@ class Printf(object):
if onlineVer is None:
icmp = aigpy.system.cmpVersion(onlineVer, VERSION)
if icmp > 0:
Printf.info(LANG.PRINT_LATEST_VERSION + ' ' + onlineVer)
Printf.info(LANG.select.PRINT_LATEST_VERSION + ' ' + onlineVer)
@staticmethod
def settings():
data = SETTINGS
tb = Printf.__gettable__([LANG.SETTING, LANG.VALUE], [
tb = Printf.__gettable__([LANG.select.SETTING, LANG.select.VALUE], [
#settings - path and format
[LANG.SETTING_PATH, getProfilePath()],
[LANG.SETTING_DOWNLOAD_PATH, data.downloadPath],
[LANG.SETTING_ALBUM_FOLDER_FORMAT, data.albumFolderFormat],
[LANG.SETTING_TRACK_FILE_FORMAT, data.trackFileFormat],
[LANG.SETTING_VIDEO_FILE_FORMAT, data.videoFileFormat],
[LANG.select.SETTING_PATH, getProfilePath()],
[LANG.select.SETTING_DOWNLOAD_PATH, data.downloadPath],
[LANG.select.SETTING_ALBUM_FOLDER_FORMAT, data.albumFolderFormat],
[LANG.select.SETTING_TRACK_FILE_FORMAT, data.trackFileFormat],
[LANG.select.SETTING_VIDEO_FILE_FORMAT, data.videoFileFormat],
#settings - quality
[LANG.SETTING_AUDIO_QUALITY, data.audioQuality],
[LANG.SETTING_VIDEO_QUALITY, data.videoQuality],
[LANG.select.SETTING_AUDIO_QUALITY, data.audioQuality],
[LANG.select.SETTING_VIDEO_QUALITY, data.videoQuality],
#settings - else
[LANG.SETTING_USE_PLAYLIST_FOLDER, data.usePlaylistFolder],
[LANG.SETTING_CHECK_EXIST, data.checkExist],
[LANG.SETTING_SHOW_PROGRESS, data.showProgress],
[LANG.SETTING_SHOW_TRACKINFO, data.showTrackInfo],
[LANG.SETTING_SAVE_ALBUMINFO, data.saveAlbumInfo],
[LANG.SETTING_SAVE_COVERS, data.saveCovers],
[LANG.SETTING_INCLUDE_EP, data.includeEP],
[LANG.SETTING_LANGUAGE, getLangName(data.language)],
[LANG.SETTINGS_ADD_LRC_FILE, data.lyricFile],
[LANG.SETTING_APIKEY, f"[{data.apiKeyIndex}]" + apiKey.getItem(data.apiKeyIndex)['formats']]
[LANG.select.SETTING_USE_PLAYLIST_FOLDER, data.usePlaylistFolder],
[LANG.select.SETTING_CHECK_EXIST, data.checkExist],
[LANG.select.SETTING_SHOW_PROGRESS, data.showProgress],
[LANG.select.SETTING_SHOW_TRACKINFO, data.showTrackInfo],
[LANG.select.SETTING_SAVE_ALBUMINFO, data.saveAlbumInfo],
[LANG.select.SETTING_SAVE_COVERS, data.saveCovers],
[LANG.select.SETTING_INCLUDE_EP, data.includeEP],
[LANG.select.SETTING_LANGUAGE, LANG.getLangName(data.language)],
[LANG.select.SETTINGS_ADD_LRC_FILE, data.lyricFile],
[LANG.select.SETTING_APIKEY, f"[{data.apiKeyIndex}]" + apiKey.getItem(data.apiKeyIndex)['formats']]
])
print(tb)
@staticmethod
def choices():
print("====================================================")
tb = Printf.__gettable__([LANG.CHOICE, LANG.FUNCTION], [
[aigpy.cmd.green(LANG.CHOICE_ENTER + " '0':"), LANG.CHOICE_EXIT],
[aigpy.cmd.green(LANG.CHOICE_ENTER + " '1':"), LANG.CHOICE_LOGIN],
[aigpy.cmd.green(LANG.CHOICE_ENTER + " '2':"), LANG.CHOICE_LOGOUT],
[aigpy.cmd.green(LANG.CHOICE_ENTER + " '3':"), LANG.CHOICE_SET_ACCESS_TOKEN],
[aigpy.cmd.green(LANG.CHOICE_ENTER + " '4':"), LANG.CHOICE_SETTINGS + '-Path'],
[aigpy.cmd.green(LANG.CHOICE_ENTER + " '5':"), LANG.CHOICE_SETTINGS + '-Quality'],
[aigpy.cmd.green(LANG.CHOICE_ENTER + " '6':"), LANG.CHOICE_SETTINGS + '-Else'],
[aigpy.cmd.green(LANG.CHOICE_ENTER + " '7':"), LANG.CHOICE_APIKEY],
[aigpy.cmd.green(LANG.CHOICE_ENTER_URLID), LANG.CHOICE_DOWNLOAD_BY_URL],
tb = Printf.__gettable__([LANG.select.CHOICE, LANG.select.FUNCTION], [
[aigpy.cmd.green(LANG.select.CHOICE_ENTER + " '0':"), LANG.select.CHOICE_EXIT],
[aigpy.cmd.green(LANG.select.CHOICE_ENTER + " '1':"), LANG.select.CHOICE_LOGIN],
[aigpy.cmd.green(LANG.select.CHOICE_ENTER + " '2':"), LANG.select.CHOICE_LOGOUT],
[aigpy.cmd.green(LANG.select.CHOICE_ENTER + " '3':"), LANG.select.CHOICE_SET_ACCESS_TOKEN],
[aigpy.cmd.green(LANG.select.CHOICE_ENTER + " '4':"), LANG.select.CHOICE_SETTINGS + '-Path'],
[aigpy.cmd.green(LANG.select.CHOICE_ENTER + " '5':"), LANG.select.CHOICE_SETTINGS + '-Quality'],
[aigpy.cmd.green(LANG.select.CHOICE_ENTER + " '6':"), LANG.select.CHOICE_SETTINGS + '-Else'],
[aigpy.cmd.green(LANG.select.CHOICE_ENTER + " '7':"), LANG.select.CHOICE_APIKEY],
[aigpy.cmd.green(LANG.select.CHOICE_ENTER_URLID), LANG.select.CHOICE_DOWNLOAD_BY_URL],
])
tb.set_style(prettytable.PLAIN_COLUMNS)
print(tb)
@@ -143,7 +143,7 @@ class Printf(object):
if ret == retWord:
return default
elif ret == "":
print(aigpy.cmd.red(LANG.PRINT_ERR + " ") + errmsg)
print(aigpy.cmd.red(LANG.select.PRINT_ERR + " ") + errmsg)
else:
break
return ret
@@ -153,7 +153,7 @@ class Printf(object):
while True:
ret = aigpy.cmd.inputLimit(aigpy.cmd.yellow(string), limit)
if ret is None:
print(aigpy.cmd.red(LANG.PRINT_ERR + " ") + errmsg)
print(aigpy.cmd.red(LANG.select.PRINT_ERR + " ") + errmsg)
else:
break
return ret
@@ -169,27 +169,27 @@ class Printf(object):
@staticmethod
def err(string):
print(aigpy.cmd.red(LANG.PRINT_ERR + " ") + string)
print(aigpy.cmd.red(LANG.select.PRINT_ERR + " ") + string)
# logging.error(string)
@staticmethod
def info(string):
print(aigpy.cmd.blue(LANG.PRINT_INFO + " ") + string)
print(aigpy.cmd.blue(LANG.select.PRINT_INFO + " ") + string)
@staticmethod
def success(string):
print(aigpy.cmd.green(LANG.PRINT_SUCCESS + " ") + string)
print(aigpy.cmd.green(LANG.select.PRINT_SUCCESS + " ") + string)
@staticmethod
def album(data: Album):
tb = Printf.__gettable__([LANG.MODEL_ALBUM_PROPERTY, LANG.VALUE], [
[LANG.MODEL_TITLE, data.title],
tb = Printf.__gettable__([LANG.select.MODEL_ALBUM_PROPERTY, LANG.select.VALUE], [
[LANG.select.MODEL_TITLE, data.title],
["ID", data.id],
[LANG.MODEL_TRACK_NUMBER, data.numberOfTracks],
[LANG.MODEL_VIDEO_NUMBER, data.numberOfVideos],
[LANG.MODEL_RELEASE_DATE, data.releaseDate],
[LANG.MODEL_VERSION, data.version],
[LANG.MODEL_EXPLICIT, data.explicit],
[LANG.select.MODEL_TRACK_NUMBER, data.numberOfTracks],
[LANG.select.MODEL_VIDEO_NUMBER, data.numberOfVideos],
[LANG.select.MODEL_RELEASE_DATE, data.releaseDate],
[LANG.select.MODEL_VERSION, data.version],
[LANG.select.MODEL_EXPLICIT, data.explicit],
])
print(tb)
logging.info("====album " + str(data.id) + "====\n" +
@@ -200,12 +200,12 @@ class Printf(object):
@staticmethod
def track(data: Track, stream: StreamUrl = None):
tb = Printf.__gettable__([LANG.MODEL_TRACK_PROPERTY, LANG.VALUE], [
[LANG.MODEL_TITLE, data.title],
tb = Printf.__gettable__([LANG.select.MODEL_TRACK_PROPERTY, LANG.select.VALUE], [
[LANG.select.MODEL_TITLE, data.title],
["ID", data.id],
[LANG.MODEL_ALBUM, data.album.title],
[LANG.MODEL_VERSION, data.version],
[LANG.MODEL_EXPLICIT, data.explicit],
[LANG.select.MODEL_ALBUM, data.album.title],
[LANG.select.MODEL_VERSION, data.version],
[LANG.select.MODEL_EXPLICIT, data.explicit],
["Max-Q", data.audioQuality],
])
if stream is not None:
@@ -219,11 +219,11 @@ class Printf(object):
@staticmethod
def video(data: Video, stream: VideoStreamUrl = None):
tb = Printf.__gettable__([LANG.MODEL_VIDEO_PROPERTY, LANG.VALUE], [
[LANG.MODEL_TITLE, data.title],
[LANG.MODEL_ALBUM, data.album.title if data.album != None else None],
[LANG.MODEL_VERSION, data.version],
[LANG.MODEL_EXPLICIT, data.explicit],
tb = Printf.__gettable__([LANG.select.MODEL_VIDEO_PROPERTY, LANG.select.VALUE], [
[LANG.select.MODEL_TITLE, data.title],
[LANG.select.MODEL_ALBUM, data.album.title if data.album != None else None],
[LANG.select.MODEL_VERSION, data.version],
[LANG.select.MODEL_EXPLICIT, data.explicit],
["Max-Q", data.quality],
])
if stream is not None:
@@ -237,11 +237,11 @@ class Printf(object):
@staticmethod
def artist(data: Artist, num):
tb = Printf.__gettable__([LANG.MODEL_ARTIST_PROPERTY, LANG.VALUE], [
[LANG.MODEL_ID, data.id],
[LANG.MODEL_NAME, data.name],
tb = Printf.__gettable__([LANG.select.MODEL_ARTIST_PROPERTY, LANG.select.VALUE], [
[LANG.select.MODEL_ID, data.id],
[LANG.select.MODEL_NAME, data.name],
["Number of albums", num],
[LANG.MODEL_TYPE, str(data.type)],
[LANG.select.MODEL_TYPE, str(data.type)],
])
print(tb)
logging.info("====artist " + str(data.id) + "====\n" +
@@ -251,10 +251,10 @@ class Printf(object):
@staticmethod
def playlist(data):
tb = Printf.__gettable__([LANG.MODEL_PLAYLIST_PROPERTY, LANG.VALUE], [
[LANG.MODEL_TITLE, data.title],
[LANG.MODEL_TRACK_NUMBER, data.numberOfTracks],
[LANG.MODEL_VIDEO_NUMBER, data.numberOfVideos],
tb = Printf.__gettable__([LANG.select.MODEL_PLAYLIST_PROPERTY, LANG.select.VALUE], [
[LANG.select.MODEL_TITLE, data.title],
[LANG.select.MODEL_TRACK_NUMBER, data.numberOfTracks],
[LANG.select.MODEL_VIDEO_NUMBER, data.numberOfVideos],
])
print(tb)
logging.info("====playlist " + str(data.uuid) + "====\n" +
@@ -265,10 +265,10 @@ class Printf(object):
@staticmethod
def mix(data):
tb = Printf.__gettable__([LANG.MODEL_PLAYLIST_PROPERTY, LANG.VALUE], [
[LANG.MODEL_ID, data.id],
[LANG.MODEL_TRACK_NUMBER, len(data.tracks)],
[LANG.MODEL_VIDEO_NUMBER, len(data.videos)],
tb = Printf.__gettable__([LANG.select.MODEL_PLAYLIST_PROPERTY, LANG.select.VALUE], [
[LANG.select.MODEL_ID, data.id],
[LANG.select.MODEL_TRACK_NUMBER, len(data.tracks)],
[LANG.select.MODEL_VIDEO_NUMBER, len(data.videos)],
])
print(tb)
logging.info("====Mix " + str(data.id) + "====\n" +
+3
View File
@@ -12,6 +12,7 @@ import json
import aigpy
import base64
from tidal_dl.lang.language import *
from tidal_dl.enums import *
@@ -74,6 +75,8 @@ class Settings(aigpy.model.ModelBase):
self.videoFileFormat = self.getDefaultPathFormat(Type.Video)
if self.apiKeyIndex is None:
self.apiKeyIndex = 0
LANG.setLang(self.language)
def save(self):
data = aigpy.model.modelToDict(self)