diff --git a/biliarchiver/bili_archive_bvids.py b/biliarchiver/bili_archive_bvids.py index f011dad..e9c645d 100644 --- a/biliarchiver/bili_archive_bvids.py +++ b/biliarchiver/bili_archive_bvids.py @@ -9,9 +9,10 @@ from bilix.sites.bilibili.downloader import DownloaderBilibili from rich.console import Console from httpx import AsyncClient, Client from rich.traceback import install +install() from biliarchiver.utils.string import human_readable_upper_part_map -install() +from biliarchiver.utils.ffmpeg import check_ffmpeg from biliarchiver.config import BILIBILI_IDENTIFIER_PERFIX @@ -52,6 +53,7 @@ def check_ia_item_exist(client: Client, identifier: str) -> bool: raise ValueError(f'Unexpected code: {r_json["code"]}') def _main(): + assert check_ffmpeg() is True, 'ffmpeg 未安装' args = parse_args() assert args.bvids is not None, '必须指定 bvids 列表的文件路径' diff --git a/biliarchiver/utils/ffmpeg.py b/biliarchiver/utils/ffmpeg.py new file mode 100644 index 0000000..bb281bb --- /dev/null +++ b/biliarchiver/utils/ffmpeg.py @@ -0,0 +1,9 @@ +import subprocess + +def check_ffmpeg() -> bool: + try: + subprocess.run(['ffmpeg', '-version'], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) + except FileNotFoundError: + return False + else: + return True \ No newline at end of file diff --git a/biliarchiver/version.py b/biliarchiver/version.py index 77ca1f6..dca2c04 100644 --- a/biliarchiver/version.py +++ b/biliarchiver/version.py @@ -1 +1 @@ -BILI_ARCHIVER_VERSION = '0.0.9' \ No newline at end of file +BILI_ARCHIVER_VERSION = '0.0.10' \ No newline at end of file