parent
9842b85723
commit
1f0cd60a37
@ -1,10 +1,40 @@
|
||||
import os
|
||||
from calculate.variables.datavars import Variable, Namespace, Dependence, \
|
||||
StringType, BooleanType, HashType, Calculate, Copy
|
||||
StringType, BooleanType, HashType, ListType, Calculate, Copy
|
||||
from calculate.vars.main.os.func import get_arch_gentoo
|
||||
|
||||
from calculate.utils.package import PackageAtomParser
|
||||
|
||||
def get_available_audio_system():
|
||||
audio_systems = (
|
||||
('alsa', None),
|
||||
('pulseaudio', 'media-sound/pulseaudio')
|
||||
)
|
||||
package_db = PackageAtomParser()
|
||||
return [
|
||||
audio_system
|
||||
for audio_system, pkg in audio_systems
|
||||
if pkg is None or package_db.is_package_exists(pkg)
|
||||
]
|
||||
|
||||
def get_audio_selected(available_systems, cmdline_audio):
|
||||
available_systems = available_systems.value
|
||||
|
||||
if 'pulseaudio' in available_systems:
|
||||
cmdline_audio = cmdline_audio.value
|
||||
if cmdline_audio and cmdline_audio == 'alsa':
|
||||
return 'alsa'
|
||||
else:
|
||||
return 'pulseaudio'
|
||||
return 'alsa'
|
||||
|
||||
with Namespace("arch"):
|
||||
Variable("machine", type=StringType,
|
||||
source=Copy("main.os.arch.machine"))
|
||||
Variable("gentoo", type=StringType,
|
||||
source=Calculate(get_arch_gentoo, ".machine"))
|
||||
|
||||
with Namespace("audio"):
|
||||
Variable("available", type=ListType,
|
||||
source=Calculate(get_available_audio_system))
|
||||
Variable("selected", type=StringType,
|
||||
source=Calculate(get_audio_selected, ".available", "main.cl.cmdline.calculate.audio"))
|
||||
|
@ -0,0 +1,24 @@
|
||||
from calculate.utils.package import PackageAtomParser
|
||||
|
||||
def get_available_audio_system():
|
||||
audio_systems = (
|
||||
('alsa', None),
|
||||
('pulseaudio', 'media-sound/pulseaudio')
|
||||
)
|
||||
package_db = PackageAtomParser()
|
||||
return [
|
||||
audio_system
|
||||
for audio_system, pkg in audio_systems
|
||||
if pkg is None or package_db.is_package_exists(pkg)
|
||||
]
|
||||
|
||||
def get_audio_selected(available_systems, cmdline_audio):
|
||||
available_systems = available_systems.value
|
||||
|
||||
if 'pulseaudio' in available_systems:
|
||||
cmdline_audio = cmdline_audio.value
|
||||
if cmdline_audio and cmdline_audio == 'alsa':
|
||||
return 'alsa'
|
||||
else:
|
||||
return 'pulseaudio'
|
||||
return 'alsa'
|
Loading…
Reference in new issue