mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-07-07 00:57:22 +02:00
fix for missing dB value
This commit is contained in:
@ -251,10 +251,16 @@ def parse(
|
|||||||
channel_data = channel_info.split(" ")
|
channel_data = channel_info.split(" ")
|
||||||
if channel_data[0] == "":
|
if channel_data[0] == "":
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
if "dB" in channel_data[3]:
|
||||||
|
db_value = channel_data[3].strip("[]")
|
||||||
|
status = channel_data[4].strip("[]")
|
||||||
|
else:
|
||||||
|
db_value = "0.0db"
|
||||||
|
status = channel_data[3].strip("[]")
|
||||||
|
|
||||||
playback_value = channel_data[1]
|
playback_value = channel_data[1]
|
||||||
percentage = channel_data[2].strip("[]") # Extract percentage e.g., "100%"
|
percentage = channel_data[2].strip("[]") # Extract percentage e.g., "100%"
|
||||||
db_value = channel_data[3].strip("[]") # Extract db value e.g., "0.00db"
|
|
||||||
status = channel_data[4].strip("[]") # Extract status e.g., "on" or "off"
|
|
||||||
|
|
||||||
# Store channel mapping in the dictionary
|
# Store channel mapping in the dictionary
|
||||||
mapping[channel_name] = {
|
mapping[channel_name] = {
|
||||||
|
@ -49,6 +49,22 @@ class AmixerTests(unittest.TestCase):
|
|||||||
quiet=True)
|
quiet=True)
|
||||||
self.assertEqual(amixer_sget_json_processed_map, expected_amixer_sget_processed_json_map)
|
self.assertEqual(amixer_sget_json_processed_map, expected_amixer_sget_processed_json_map)
|
||||||
|
|
||||||
|
def test_amixer_missing_db(self):
|
||||||
|
data = '''Simple mixer control 'Master',0
|
||||||
|
Capabilities: pvolume pswitch pswitch-joined
|
||||||
|
Playback channels: Front Left - Front Right
|
||||||
|
Limits: Playback 0 - 65536
|
||||||
|
Mono:
|
||||||
|
Front Left: Playback 55039 [84%] [on]
|
||||||
|
Front Right: Playback 54383 [83%] [on]
|
||||||
|
Simple mixer control 'Capture',0
|
||||||
|
Capabilities: cvolume cswitch cswitch-joined
|
||||||
|
Capture channels: Front Left - Front Right
|
||||||
|
Limits: Capture 0 - 65536
|
||||||
|
Front Left: Capture 24672 [38%] [on]
|
||||||
|
Front Right: Capture 24672 [38%] [on]'''
|
||||||
|
expected = {"control_name":"Master","capabilities":["cvolume","cswitch","cswitch-joined"],"playback_channels":["Front Left","Front Right"],"limits":{"playback_min":0,"playback_max":65536},"front_left":{"playback_value":24672,"percentage":38,"db":0.0,"status":True},"front_right":{"playback_value":24672,"percentage":38,"db":0.0,"status":True}}
|
||||||
|
self.assertEqual(expected, jc.parsers.amixer.parse(data, quiet=True))
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
Reference in New Issue
Block a user