def test_load_conf_os_env(self, mock_args): Config.clear() Config.define_bool("VaR", False, "turn me true") Config.define_int("v1", 0, "var") Config.define_int("nm.v2", 0, "var") Config.load_conf() self.assertEqual(Config.get_var("v1"), 1) self.assertEqual(Config.get_var("nm.v2"), 2) self.assertEqual(Config.get_var("VAr"), True)
def test_load_conf_cmd(self, mock_args): Config.clear() Config.define_bool("VaR", False, "turn me true") Config.define_int("v1", 1, "var") Config.define_int("v2", 2, "var") Config.define_float_list("list", [5., 6, "7."], "A test for list") with Config.namespace("n1"): Config.define_int("v1", 1, "var") Config.define_int("v2", 2, "var") Config.define_bool("V3", True, "turn me false") Config.load_conf() self.assertEqual(Config.get_var("v1"), 2) self.assertEqual(Config.get_var("v2"), 3) self.assertEqual(Config.get_var("n1.v1"), 2) self.assertEqual(Config.get_var("n1.v2"), 3) self.assertEqual(Config.get_var("n1.v3"), False) self.assertEqual(Config.get_var("VAr"), True) self.assertEqual(Config.get_var("list"), [1.0, 2.0, 3.0])
def test_define_bool(self): Config.clear() Config.define_bool("test", 0, "int") Config.define_bool("test2", "false", "str") Config.define_bool("test3", "truE", "str") self.assertDictEqual(Config.get_dict(), { 'test': False, 'test2': False, 'test3': True })
import json import time from distribute_config import Config from reachy import Reachy Config.define_str("file_path", "", "path of the file to write the different positions") Config.define_bool("record", True, "if true then record and run. Else only run ") def main(): Config.load_conf() config = Config.get_dict() reachy = Reachy() for motor in reachy.motors: motor.compliant = True if config["record"]: # First part of the script : the user can move the arm and hit return to save the arm position all_positions = [] action = input("> ") while action != "save": # Save the position of the motors position = {} for motor in reachy.motors: print( f"The motor \"{motor.name}\" is currently in position: {motor.present_position}" ) position[motor.name] = motor.present_position