54 lines
1.5 KiB
Python
54 lines
1.5 KiB
Python
#!/usr/bin/env python3
|
|
|
|
import re
|
|
from subprocess import run
|
|
from socket import gethostname
|
|
|
|
|
|
class ConfigError(Exception):
|
|
"""Raised when the config file fails validation."""
|
|
|
|
def __init__(self, message, config_file):
|
|
self.config_file = config_file
|
|
self.message = f"{config_file} : {message}"
|
|
super().__init__(self.message)
|
|
|
|
def identifySystem():
|
|
#os = None
|
|
#with open('/etc/issue', 'r') as f:
|
|
# line = f.readline()
|
|
# if re.search('Arch Linux', line):
|
|
# os = 'ARCHLINUX'
|
|
# elif re.search('Ubuntu', line):
|
|
# os = 'UBUNTU'
|
|
# elif re.search('Debian', line):
|
|
# os = 'DEBIAN'
|
|
# else:
|
|
# os = 'UNKNOWN'
|
|
kernelVers = run(['/usr/bin/lsb_release', '-is'], capture_output=True)
|
|
return kernelVers.stdout.decode('utf-8')
|
|
|
|
def getKernelVersion():
|
|
"""
|
|
This function get the kernel version Linux
|
|
"""
|
|
kernelVers = run(['/usr/bin/uname', '-r'], capture_output=True)
|
|
return kernelVers.stdout.decode('utf-8')
|
|
|
|
def getCodeName():
|
|
"""
|
|
This function get the code name of the system
|
|
"""
|
|
kernelVers = run(['/usr/bin/lsb_release', '-cs'], capture_output=True)
|
|
return kernelVers.stdout.decode('utf-8')
|
|
|
|
def getRelease():
|
|
"""
|
|
This function get the release name of the system
|
|
"""
|
|
kernelVers = run(['/usr/bin/lsb_release', '-rs'], capture_output=True)
|
|
return kernelVers.stdout.decode('utf-8')
|
|
|
|
def getHostname():
|
|
return gethostname()
|