Add zidoo output info (A/V)
Deploy HEOS panel / deploy (push) Successful in 28s

This commit is contained in:
franzz committed 2026-10-20 16:02:20 +02:00
1 parent 6bee9bd9a3
commit 9ddc13e352
2 files changed
+84 -3

No files matched your search

+25 -1
View File
@@ -16,7 +16,7 @@ from urllib.parse import parse_qs, urlparse
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))
from controller import Controller, TargetError # noqa: E402
from zidoo import ZidooClient, ZidooError # noqa: E402
from zidoo import ZidooClient, ZidooError, short_audio, short_output # noqa: E402
PATH = "/storage/disk/Movies/A.Private.War.2018.1080p.mp4"
PNG = b"\x89PNG\r\n\x1a\n" + b"\0" * 16
@@ -112,6 +112,30 @@ class ZidooTest(unittest.TestCase):
self.assertIsNone(track["poster_id"])
self.assertIsNone(track["artist"])
def test_without_a_year_it_says_how_it_plays(self):
FakeZidoo.library = {}
FakeZidoo.video["output"] = "3840X2160P @ 23.976Hz YUV422 12Bits SDR"
FakeZidoo.video["audioInfo"] = "English Dolby Digital Plus with Dolby Atmos 48.0KHz 768kbps (3/3)"
self.assertEqual(self.zidoo.now_playing()["artist"], "2160p 422 12b SDR · DD+ Atmos")
def test_the_output_shortens_to_height_chroma_bits_and_dynamic_range(self):
self.assertEqual(short_output("3840X2160P @ 23.976Hz YCbCr444 12Bits Dolby Vision"), "2160p 444 12b Dolby Vision")
self.assertEqual(short_output("3840X2160P @ 60Hz RGB 10Bits HDR10+"), "2160p RGB 10b HDR10+")
self.assertEqual(short_output("1920x1080i @ 50Hz"), "1080i")
def test_the_audio_shortens_to_its_codec(self):
# Longest name first: Dolby Digital Plus is not plain Dolby Digital.
self.assertEqual(short_audio("English Dolby Digital 48.0KHz 640kbps (1/1)"), "DD")
self.assertEqual(short_audio("English TrueHD Atmos 48.0KHz (1/2)"), "TrueHD Atmos")
self.assertEqual(short_audio("French DTS-HD MA 7.1 48.0KHz (2/2)"), "DTS-HD MA")
# A codec it does not know keeps its words, minus the numbers.
self.assertEqual(short_audio("Japanese Vorbis 48.0KHz 192kbps (1/1)"), "Japanese Vorbis")
self.assertIsNone(short_audio("Off (0/2)"))
def test_a_film_keeps_its_year_over_how_it_plays(self):
FakeZidoo.video["output"] = "3840X2160P @ 23.976Hz YUV422 12Bits SDR"
self.assertEqual(self.zidoo.now_playing()["artist"], "2018")
def test_nothing_loaded_is_nothing_playing(self):
FakeZidoo.video = None
self.assertIsNone(self.zidoo.now_playing())