Merge remote-tracking branch 'origin/main'
# Conflicts: # modules/submenus/settings.py
This commit is contained in:
commit
ab8fff31a7
9
.gitignore
vendored
9
.gitignore
vendored
@ -4,4 +4,11 @@ settings.json
|
||||
venv/
|
||||
venv_win/
|
||||
test/
|
||||
modules/test/
|
||||
modules/test/
|
||||
|
||||
modules/__pycache__
|
||||
modules/functions/__pycache__
|
||||
modules/functions/mainly/__pycache__
|
||||
modules/functions/settings/__pycache__
|
||||
modules/submenus/__pycache__
|
||||
modules/utils/__pycache__
|
||||
|
@ -30,7 +30,7 @@ def wait_retry(kind, identify, bar=None):
|
||||
|
||||
def get_song_info_raw(types: list, identify: str, bar: CompactBar = None):
|
||||
"""获取歌曲信息
|
||||
|
||||
|
||||
``types`` 提供一个list,将会返回内部所有符合要求的信息类型\n
|
||||
``identify`` 提供一个歌曲id(str),将会把歌曲的`types`信息返回"""
|
||||
bprint(Fore.CYAN + "ID:%s" % identify, bar)
|
||||
@ -63,9 +63,10 @@ def get_song_lyric(identify: str | int | dict,
|
||||
path: str,
|
||||
lyric_format="%(name)s - %(artists)s",
|
||||
allinfo: bool = False,
|
||||
bar: CompactBar = None):
|
||||
bar: CompactBar = None,
|
||||
save_lyrics_time: bool = True):
|
||||
"""获取歌词
|
||||
|
||||
|
||||
``identify`` 提供一个歌曲id
|
||||
``path`` 提供歌曲下载的路径
|
||||
``lyric_format`` 提供歌词保存的格式
|
||||
@ -122,6 +123,12 @@ def get_song_lyric(identify: str | int | dict,
|
||||
return
|
||||
else:
|
||||
with open(os.path.join(path, filename), "w", encoding="utf-8") as f:
|
||||
f.write(info["lyric"])
|
||||
bprint(Fore.GREEN + "\t--> 歌词下载完成!被保存在" + Style.RESET_ALL + f"{os.path.join(path, filename)}\n", bar)
|
||||
if not save_lyrics_time:
|
||||
for lyric in info["lyric"].split("\n"):
|
||||
print(lyric)
|
||||
f.write("".join(lyric.split("]")[1:]))
|
||||
f.write('\n')
|
||||
else:
|
||||
f.write(info["lyric"])
|
||||
bprint(Fore.GREEN + "\t--> 歌词下载完成!文件被保存在" + Style.RESET_ALL + f"{os.path.join(path, filename)}\n", bar)
|
||||
return
|
||||
|
@ -23,6 +23,6 @@ def download_one_lyric(self):
|
||||
input("不合法的形式.\n按回车键返回...")
|
||||
return
|
||||
|
||||
if get_song_lyric(int(song_id), self.settings.lyric_path) == "dl_err_connection":
|
||||
if get_song_lyric(int(song_id), self.settings.lyric_path, self.settings.lyric_format, save_lyrics_time = self.settings.save_lyrics_time) == "dl_err_connection":
|
||||
input("下载发生错误!可能是连接被拒绝!请检查网络后再试\n按回车键返回...")
|
||||
input("按回车键返回...")
|
||||
|
@ -5,11 +5,12 @@ import os
|
||||
|
||||
|
||||
class Settings(object): # 设定一个基础的存储设置信息的 class ,并设置形参用于 json 导入设置
|
||||
def __init__(self, l_p="./out/", l_f="%(name)s - %(artists)s", lang="en", a_s=True):
|
||||
def __init__(self, l_p="./out/", l_f="%(name)s - %(artists)s", lang="en", a_s=True, s_l_t = True):
|
||||
self.lyric_path = l_p
|
||||
self.lyric_format = l_f
|
||||
self.language = lang
|
||||
self.auto_save = a_s
|
||||
self.save_lyrics_time = s_l_t
|
||||
|
||||
|
||||
def class2dict(aclass: Settings): # 让 json.dumps 将 class 转化为一个 dict ,用于保存
|
||||
@ -17,7 +18,8 @@ def class2dict(aclass: Settings): # 让 json.dumps 将 class 转化为一个 di
|
||||
"lyric_path": aclass.lyric_path,
|
||||
"lyric_format": aclass.lyric_format,
|
||||
"language": aclass.language,
|
||||
"auto_save": aclass.auto_save
|
||||
"auto_save": aclass.auto_save,
|
||||
"save_lyrics_time": aclass.save_lyrics_time
|
||||
}
|
||||
|
||||
|
||||
@ -29,7 +31,8 @@ def dict2class(adict): # 让 json.load 将读取到的 dict 转化为我们所
|
||||
l_p=adict["lyric_path"],
|
||||
l_f=adict["lyric_format"],
|
||||
lang=adict["language"],
|
||||
a_s=adict["auto_save"]
|
||||
a_s=adict["auto_save"],
|
||||
s_l_t=adict["save_lyrics_time"]
|
||||
)
|
||||
|
||||
|
||||
|
11
modules/utils/initapp.py
Normal file
11
modules/utils/initapp.py
Normal file
@ -0,0 +1,11 @@
|
||||
from os import mkdir
|
||||
from os.path import exists
|
||||
|
||||
INIT_DIRECTORIES = [
|
||||
'out'
|
||||
]
|
||||
|
||||
def init_directories():
|
||||
for dir_name in INIT_DIRECTORIES:
|
||||
if not exists(dir_name):
|
||||
mkdir(dir_name)
|
Loading…
Reference in New Issue
Block a user