Исправлено вычисление звуковых переменных при отсутствии звуковых карт

develop 3.6.0.9
parent c621888a53
commit 1f0b7ed156

@ -159,40 +159,29 @@ class VariableOsAudioName(FieldValue, ReadonlyVariable):
column = 1
class VariableOsAudioDefaultSet(ReadonlyVariable):
"""
Force write in config 0
"""
type = "bool"
def get(self):
res = self.Select('os_audio_id', where='os_audio_name',
notlike='HDMI', limit=1)
audio_default = self.Get('os_audio_default')
if (audio_default != '0,0' or
res and res != "0,0" and audio_default == '0,0' or
audio_default != self.Get('os_audio_current')):
return 'on'
return 'off'
class VariableOsAudioCardDefault(Variable):
"""
Идентификатор карты по умолчанию
"""
def get(self):
cardmap = dict(self.Get("os_audio_card_map"))
cardnum = self.Get('os_audio_default').split(',')[0]
if cardnum in cardmap:
return cardmap[cardnum]
return "0"
audio_default = self.Get('os_audio_default')
if audio_default and audio_default != "none":
cardmap = dict(self.Get("os_audio_card_map"))
cardnum = audio_default.split(',')[0]
if cardnum in cardmap:
return cardmap[cardnum]
return "0"
return ""
class VariableOsAudioDeviceDefault(Variable):
"""
Номер устройства по умолчанию
"""
def get(self):
return self.Get('os_audio_default').split(',')[1]
audio_default = self.Get('os_audio_default')
if audio_default and audio_default != "none":
return self.Get('os_audio_default').split(',')[1]
return ""
class VariableOsAudioCardNameDefault(Variable):
@ -201,13 +190,15 @@ class VariableOsAudioCardNameDefault(Variable):
"""
def get(self):
try:
cardnum = int(self.Get('os_audio_default').split(',')[0])
audionames = self.Get('os_audio_name')
if cardnum < len(audionames):
return audionames[cardnum].split(',')[0]
audio_default = self.Get('os_audio_default')
if audio_default and audio_default != "none":
cardnum = int(audio_default.split(',')[0])
audionames = self.Get('os_audio_name')
if cardnum < len(audionames):
return audionames[cardnum].split(',')[0]
except ValueError:
pass
return "0"
return ""
class VariableOsAudioHw(Variable):
@ -260,13 +251,16 @@ class VariableOsAudioDefault(Variable):
cardid, devicenum = current.split(",")
if cardid in cardmap:
return "{},{}".format(cardmap[cardid], devicenum)
return "0,0"
data = self.Get('os_audio_data')
if data and data[0]:
return "0,0"
return "none"
def choice(self):
data = self.Get('os_audio_data')
if data and data[0]:
return self.Get('os_audio_data')
return []
return [("none", _("Not available"))]
def uncompatible(self):
"""

Loading…
Cancel
Save