NeteaseMusicLyricDownloader/main.py

66 lines
2.1 KiB
Python
Raw Normal View History

2022-04-02 22:50:52 +08:00
#!/usr/bin/env python3
2023-04-03 22:29:25 +08:00
# ↑ For Linux & macOS to run this program directly if the user currently installed python and third-party packages.
2022-04-02 22:50:52 +08:00
# -*- coding: utf-8 -*-
# author: David-123
2022-04-02 22:50:52 +08:00
from sys import exit
from colorama import init
2022-04-02 22:50:52 +08:00
2023-04-04 19:58:02 +08:00
from modules.utils.inputs import rinput
from modules.utils.prints import print_info, print_menu
from modules.functions.mainly.multi_download import mdl
from modules.functions.mainly.one_download import download_one_lyric
2023-04-04 19:58:02 +08:00
from modules.submenus.settings import settings_menu
from modules.functions.settings.save_load_settings import load_settings
from modules.utils.clear_screen import cls_stay
from modules.functions.mainly.load_file_song import get_lyric_from_folder
2024-10-04 10:55:48 +08:00
from modules.submenus.tools import tools_menu
2022-04-02 22:50:52 +08:00
class MainProcess(object):
def __init__(self): # 项目初始化
2022-04-02 22:50:52 +08:00
self.settings = load_settings()
2023-06-22 01:55:41 +08:00
self.version = "1.1.1"
2022-04-02 22:50:52 +08:00
def mainloop(self):
"""程序主循环"""
while True:
cls_stay(self, "[程序主菜单]")
print_menu({
"0": "退出程序",
"1": "单个歌曲的歌词下载",
"2": "多个歌曲的歌词下载",
"3": "从网易云下载的歌曲中获取歌词",
2024-10-04 10:55:48 +08:00
"t": "小工具",
"s": "进入设置",
"i": "程序信息",
})
2022-04-02 22:50:52 +08:00
r = rinput("请选择:")
2024-10-04 10:55:48 +08:00
match r:
case "1":
download_one_lyric(self)
case "2":
mdl(self)
case "3":
get_lyric_from_folder(self)
case "0":
exit(0)
case "t":
tools_menu(self)
case "i":
print_info(self)
case "s":
settings_menu(self)
case _:
input("请输入正确的选项\n按回车键继续...")
2022-04-02 22:50:52 +08:00
if __name__ == "__main__":
init(autoreset=True)
2022-04-02 22:50:52 +08:00
app = MainProcess()
try:
app.mainloop()
except KeyboardInterrupt:
exit(-1)