Files
yakpanel-core/mod/base/git_tool/install.py
2026-04-07 02:04:22 +05:30

41 lines
1.0 KiB
Python

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<v>(\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