utils: handle missing file in getlinuxversion function

The function getlinuxversion receives a path to the os-release
file. The case of not being able to open it was not handled and
thus causing an unwanted exception.
master
Alejandro Sirgo Rica 2024-03-06 21:38:27 +01:00 committed by lupoDharkael
parent aa34704b4d
commit 9970c8e33d
1 changed files with 15 additions and 11 deletions

View File

@ -9,6 +9,7 @@
import os
import subprocess
import platform
import logging
from enum import Enum
from subprocess import PIPE
@ -25,17 +26,20 @@ def getlinuxversion(osrelease):
"""
mountpoint = find_mountpoint(osrelease)
with open(osrelease, 'r') as f:
for line in f:
if line.find('=') == -1:
continue
key, value = line.split('=')
if key == 'PRETTY_NAME':
value = value.replace('\n', '')
value = value.strip('"')
bits = ' 64 bits' if linux_is64bit(mountpoint) else ''
return f'{value}{bits}'
return 'Linux'
try:
with open(osrelease, 'r') as f:
for line in f:
if line.find('=') == -1:
continue
key, value = line.split('=')
if key == 'PRETTY_NAME':
value = value.replace('\n', '')
value = value.strip('"')
bits = ' 64 bits' if linux_is64bit(mountpoint) else ''
return f'{value}{bits}'
except FileNotFoundError as e:
logging.error(f'os-release file not found at "{osrelease}"')
return 'Linux'
def getwindowsversion(winreghives):