import re from .util import ExecShell def installed(): sh_str = "git --version" out, error = ExecShell(sh_str) if re.search(r"git\s+version\s+(\d+\.){1,4}\d+", out): return True return False def version_1_5_3() -> bool: sh_str = "git --version" out, error = ExecShell(sh_str) res = re.search(r"git\s+version\s+(?P(\d+\.){1,4}\d+)", out) if not res: return False ver = [int(i) for i in res.group('v').split(".")] if len(ver) < 3: ver.extend([0] * (3 - len(ver))) if ver[0] > 1: return True elif ver[0] == 1 and ver[1] > 5: return True elif ver[0] == 1 and ver[1] == 5 and ver[3] >= 3: return True return False def install_git(): check_str = "Git installed successfully" if not installed(): script_path = "/www/server/panel/mod/base/git_tool/install.sh" out, error = ExecShell("bash {}".format(script_path)) if out.find(check_str) != -1: return True else: return False return True