aboutsummaryrefslogtreecommitdiff
path: root/tools/cru-py/cru/system.py
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2023-05-31 22:56:15 +0800
committerYuqian Yang <crupest@crupest.life>2024-12-18 18:31:27 +0800
commit410bc000613b355ffcfbcd282061849b5129bdea (patch)
tree3eff901a5b96eb4ff88d272bed4bb964c6397f1f /tools/cru-py/cru/system.py
parent889e10a1908c32514edf23518c5ea4c26ffc0ae0 (diff)
downloadcrupest-410bc000613b355ffcfbcd282061849b5129bdea.tar.gz
crupest-410bc000613b355ffcfbcd282061849b5129bdea.tar.bz2
crupest-410bc000613b355ffcfbcd282061849b5129bdea.zip
HALF WORK: for sync.
Diffstat (limited to 'tools/cru-py/cru/system.py')
-rw-r--r--tools/cru-py/cru/system.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tools/cru-py/cru/system.py b/tools/cru-py/cru/system.py
new file mode 100644
index 0000000..2e05cd1
--- /dev/null
+++ b/tools/cru-py/cru/system.py
@@ -0,0 +1,22 @@
+import re
+import os.path
+
+
+def check_debian_derivative_version(name: str) -> None | str:
+ if not os.path.isfile("/etc/os-release"):
+ return None
+ with open("/etc/os-release", "r") as f:
+ content = f.read()
+ if not f"ID={name}" in content:
+ return None
+ m = re.search(r'VERSION_ID="(.+)"', content)
+ if m is None: return None
+ return m.group(1)
+
+
+def check_ubuntu_version() -> None | str:
+ return check_debian_derivative_version("ubuntu")
+
+
+def check_debian_version() -> None | str:
+ return check_debian_derivative_version("debian")