42 lines
1.7 KiB
Python
42 lines
1.7 KiB
Python
import platform
|
|
import logging
|
|
import os
|
|
from borgmatic.borg import version as borg_version
|
|
|
|
try:
|
|
import importlib_metadata
|
|
except ModuleNotFoundError: # pragma: nocover
|
|
import importlib.metadata as importlib_metadata
|
|
|
|
logger = logging.Logger(__name__)
|
|
|
|
def log_versions(): # pragma: nocover
|
|
'''
|
|
Logs the platform and the architecture on debug. Also logs the version of borgmatic and python.
|
|
'''
|
|
logging.debug(f'Borgmatic version: {importlib_metadata.version("borgmatic")}')
|
|
logging.debug(f'Architecture: {platform.machine()}')
|
|
logging.debug(f'Python: {platform.python_implementation()} {platform.python_version()}')
|
|
|
|
if platform.system() == 'Linux':
|
|
logging.debug('Operating system: Linux')
|
|
logging.debug(f'Kernel: {os.uname()[2]}')
|
|
try:
|
|
os_release = platform.freedesktop_os_release()
|
|
if 'PRETTY_NAME' in os_release:
|
|
logging.debug(f'Distribution: {os_release["PRETTY_NAME"]}')
|
|
elif 'NAME' in os_release:
|
|
logging.debug(f'Distribution name: {os_release["NAME"]}')
|
|
if 'VERSION' in os_release:
|
|
logging.debug(f'Distribution version: {os_release["VERSION"]}')
|
|
except OSError:
|
|
logging.debug('Cannot determine linux distribution: /etc/os-release and /usr/lib/os-release not accessible')
|
|
elif platform.system() == 'Darwin':
|
|
logging.debug('Operating system: MacOS')
|
|
logging.debug(f'Operating system version: {platform.mac_ver()[0]}')
|
|
elif platform.system() == 'Windows':
|
|
logging.debug('Operating system: Windows')
|
|
logging.debug(f'Operating system version: {platform.win32_edition()[0]}')
|
|
else:
|
|
logging.debug(f'Operating system: {platform.system()}')
|