mirror of
https://github.com/WorldObservationLog/AppleMusicDecrypt.git
synced 2026-01-15 14:22:54 -03:00
feat: add config expiration warning
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
# DO NOT EDIT IT
|
||||
version = "0.0.1"
|
||||
|
||||
[instance]
|
||||
url = "127.0.0.1:8080"
|
||||
secure = false
|
||||
|
||||
@@ -14,7 +14,7 @@ from src.logger import GlobalLogger
|
||||
from src.measurer import SpeedMeasurer
|
||||
from src.rip import on_decrypt_success, on_decrypt_failed, rip_song, rip_album, rip_artist, rip_playlist
|
||||
from src.url import AppleMusicURL, URLType
|
||||
from src.utils import check_dep, run_sync, safely_create_task, get_tasks_num
|
||||
from src.utils import check_dep, run_sync, safely_create_task, get_tasks_num, config_outdated
|
||||
|
||||
|
||||
class InteractiveShell:
|
||||
@@ -34,6 +34,9 @@ class InteractiveShell:
|
||||
safely_create_task(it(WrapperManager).decrypt_init(on_success=on_decrypt_success, on_failure=on_decrypt_failed))
|
||||
loop.run_until_complete(self.show_status())
|
||||
|
||||
if config_outdated():
|
||||
it(GlobalLogger).logger.warning("The configuration file is out of date. Please refer to config.example.toml to update it")
|
||||
|
||||
self.parser = argparse.ArgumentParser(exit_on_error=False)
|
||||
subparser = self.parser.add_subparsers()
|
||||
download_parser = subparser.add_parser("download", aliases=["dl"])
|
||||
|
||||
@@ -5,6 +5,8 @@ from creart import exists_module
|
||||
from creart.creator import AbstractCreator, CreateTargetInfo
|
||||
from pydantic import BaseModel
|
||||
|
||||
CONFIG_VERSION = "0.0.1"
|
||||
|
||||
|
||||
class Instance(BaseModel):
|
||||
url: str
|
||||
@@ -41,6 +43,7 @@ class Metadata(BaseModel):
|
||||
|
||||
|
||||
class Config(BaseModel):
|
||||
version: str = "0.0.0"
|
||||
region: Region
|
||||
instance: Instance
|
||||
download: Download
|
||||
|
||||
@@ -8,6 +8,7 @@ from copy import deepcopy
|
||||
from datetime import datetime, timedelta
|
||||
from itertools import islice
|
||||
from pathlib import Path
|
||||
from distutils.version import LooseVersion
|
||||
|
||||
import m3u8
|
||||
import regex
|
||||
@@ -15,7 +16,7 @@ from bs4 import BeautifulSoup
|
||||
from creart import it
|
||||
from pydantic import ValidationError
|
||||
|
||||
from src.config import Config
|
||||
from src.config import Config, CONFIG_VERSION
|
||||
from src.exceptions import NotTimeSyncedLyricsException
|
||||
from src.logger import GlobalLogger
|
||||
from src.models import PlaylistInfo
|
||||
@@ -297,3 +298,7 @@ def query_language(region: str):
|
||||
def language_exist(region: str, language: str):
|
||||
_, languages = query_language(region)
|
||||
return language in languages
|
||||
|
||||
|
||||
def config_outdated():
|
||||
return LooseVersion(it(Config).version) < LooseVersion(CONFIG_VERSION)
|
||||
|
||||
Reference in New Issue
Block a user