diff --git a/console.py b/console.py index 7ac7dbb..1ad9322 100644 --- a/console.py +++ b/console.py @@ -4,6 +4,8 @@ `python console.py` (Cmd)help + Autocompletions should work... + """ import sys import os @@ -19,33 +21,59 @@ class Console(cmd.Cmd): + MAPPING = { + 'none': Controller.COMPOSITE_NONE, + 'pip': Controller.COMPOSITE_PIP, + 'dual_preview': Controller.COMPOSITE_DUAL_PREVIEW, + 'preview': Controller.COMPOSITE_DUAL_PREVIEW, + 'equal': Controller.COMPOSITE_DUAL_EQUAL, + 'dual_equal': Controller.COMPOSITE_DUAL_EQUAL + } + def do_get_compose_port(self, line): - self.c = Controller() - self.c.establish_connection() - print self.c.get_compose_port() + c = Controller() + c.establish_connection() + print c.get_compose_port() def help_get_compose_port(self): print "Get the Compose Port" def do_get_encode_port(self, line): - self.c = Controller() - self.c.establish_connection() - print self.c.get_encode_port() + c = Controller() + c.establish_connection() + print c.get_encode_port() def do_get_audio_port(self, line): - self.c = Controller() - self.c.establish_connection() - print self.c.get_audio_port() + c = Controller() + c.establish_connection() + print c.get_audio_port() def do_get_preview_ports(self, line): - self.c = Controller() - self.c.establish_connection() - print self.c.get_preview_ports() + c = Controller() + c.establish_connection() + print c.get_preview_ports() def do_set_composite_mode(self, line): - self.c = Controller() - self.c.establish_connection() - print self.c.set_composite_mode(int(line)) + try: + val = self.MAPPING[line.lower()] + except KeyError: + self.help_set_composite_mode() + c = Controller() + c.establish_connection() + print c.set_composite_mode(val) + + def help_set_composite_mode(self): + print "Valid modes - {0}".format(", ".join([i for i in self.MAPPING])) + + def complete_set_composite_mode(self, text, line, begidx, endidx): + return [i for i in self.MAPPING if i.startswith(text)] + + def do_adjust_pip(self, line): + c = Controller() + c.establish_connection() + if len(line.split()) != 4: + print + print c.adjust_pip(*map(int, line.split())) diff --git a/python-api/tests/integrationtests/test_controller.py b/python-api/tests/integrationtests/test_controller.py index 64fe36b..4de3810 100644 --- a/python-api/tests/integrationtests/test_controller.py +++ b/python-api/tests/integrationtests/test_controller.py @@ -307,7 +307,7 @@ def set_composite_mode(self, mode, generate_frames=False): serv.terminate(1) if not generate_frames: controller = Controller() - if mode == controller.COMPOSITE_DUAL_EQUAL: + if mode == Controller.COMPOSITE_DUAL_EQUAL: assert res is False else: assert res is True @@ -346,23 +346,19 @@ def verify_output(self, mode, video): def test_set_composite_mode_none(self): """Test set_composite_mode""" - controller = Controller() - self.set_composite_mode(controller.COMPOSITE_NONE) + self.set_composite_mode(Controller.COMPOSITE_NONE) def test_set_composite_mode_pip(self): """Test set_composite_mode""" - controller = Controller() - self.set_composite_mode(controller.COMPOSITE_PIP) + self.set_composite_mode(Controller.COMPOSITE_PIP) def test_set_composite_mode_preview(self): """Test set_composite_mode""" - controller = Controller() - self.set_composite_mode(controller.COMPOSITE_DUAL_PREVIEW) + self.set_composite_mode(Controller.COMPOSITE_DUAL_PREVIEW) def test_set_composite_mode_equal(self): """Test set_composite_mode""" - controller = Controller() - self.set_composite_mode(controller.COMPOSITE_DUAL_EQUAL) + self.set_composite_mode(Controller.COMPOSITE_DUAL_EQUAL) class TestNewRecord(object): @@ -441,7 +437,7 @@ def adjust_pip(self, sources.new_test_video(pattern=4) sources.new_test_video(pattern=5) controller = Controller() - controller.set_composite_mode(controller.COMPOSITE_PIP) + controller.set_composite_mode(Controller.COMPOSITE_PIP) time.sleep(3) res = controller.adjust_pip(xpos, ypos, width, heigth) time.sleep(3) diff --git a/python-api/tests/unittests/test_controller_unit.py b/python-api/tests/unittests/test_controller_unit.py index 394d100..e777f34 100644 --- a/python-api/tests/unittests/test_controller_unit.py +++ b/python-api/tests/unittests/test_controller_unit.py @@ -284,14 +284,14 @@ def test_unpack(self): controller.establish_connection = Mock(return_value=None) controller.connection = MockConnection(True) with pytest.raises(ConnectionReturnError): - controller.set_composite_mode(controller.COMPOSITE_NONE) + controller.set_composite_mode(Controller.COMPOSITE_NONE) def test_normal_unpack(self): """Test if valid""" controller = Controller(address='unix:abstract=abcdef') controller.establish_connection = Mock(return_value=None) controller.connection = MockConnection(False) - assert controller.set_composite_mode(controller.COMPOSITE_NONE) is True + assert controller.set_composite_mode(Controller.COMPOSITE_NONE) is True class TestSetEncodeMode(object):