diff options
-rwxr-xr-x | tool/aio.py | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/tool/aio.py b/tool/aio.py index 86141c4..4327e95 100755 --- a/tool/aio.py +++ b/tool/aio.py @@ -15,6 +15,7 @@ import argparse import shutil import subprocess import urllib.request +import re from rich.console import Console from rich.prompt import Confirm from modules.path import * @@ -25,15 +26,14 @@ from modules.config import * console = Console() - -def print_order(number: int, total: int, *, console=console) -> None: - console.print(f"\[{number}/{total}]", end=" ", style="green") - - parser = argparse.ArgumentParser( description="Crupest server all-in-one setup script. Have fun play with it!") parser.add_argument("--no-hello", action="store_true", default=False, help="Do not print hello message.") +parser.add_argument("--no-check-python-version", action="store_true", + default=False, help="Do not check python version.") +parser.add_argument("--no-check-system", action="store_true", + default=False, help="Do not check system type.") subparsers = parser.add_subparsers(dest="action") @@ -87,6 +87,33 @@ backup_command_group.add_argument( args = parser.parse_args() +if not args.no_check_python_version: + if sys.version_info < (3, 10): + console.print("This script works well on python 3.10 or higher. Otherwise you may encounter some problems. But I would like to improve some rational compatibility.", style="yellow") + + +def check_ubuntu(): + if not os.path.exists("/etc/os-release"): + return False + else: + with open("/etc/os-release", "r") as f: + content = f.read() + if re.match(r"NAME=\"?Ubuntu\"?", content, re.IGNORECASE) is None: + return False + if re.match(r"UBUNTU_CODENAME=\"?jammy\"?", re.IGNORECASE) is None: + return False + return True + + +if not args.no_check_system: + if not check_ubuntu(): + console.print("This script works well on Ubuntu 22.04. Otherwise you may encounter some problems. But I would like to improve some rational compatibility.", style="yellow") + + +def print_order(number: int, total: int, *, console=console) -> None: + console.print(f"\[{number}/{total}]", end=" ", style="green") + + if args.action == "certbot": if args.create or args.renew or args.expand: args.no_hello = True |