def do_copy(self, args): """Copy light positions from monitor to your config.""" arguments = args.split(" ") if not arguments or len( arguments) != 2 or arguments[0] != "light_positions": self.stdout.write( "Usage: copy light_positions your_light_config_file\n") return config_loader = YamlRoundtrip() config_name = arguments[1] try: monitor_config = config_loader.load("monitor/monitor.yaml") except Exception as e: # pylint: disable-msg=broad-except self.stdout.write( "Error while loading monitor/monitor.yaml: {}.\n".format(e)) return try: lights_config = config_loader.load(config_name) except Exception as e: # pylint: disable-msg=broad-except self.stdout.write("Error while loading {}: {}.\n".format( config_name, e)) return if "light" not in monitor_config: self.stdout.write( "Error: Monitor config does not contain a light section.\n") return if "lights" not in lights_config: self.stdout.write( "Error: Config does not contain a lights section.\n") return lights_found = 0 for light_name, light_config in lights_config['lights'].items(): if light_name in monitor_config['light']: monitor_light_config = monitor_config['light'][light_name] lights_found += 1 light_config['x'] = monitor_light_config['x'] light_config['y'] = monitor_light_config['y'] config_loader.save(config_name, lights_config) self.stdout.write("Success: Found {} lights.\n".format(lights_found))
"""Util to copy light positions from monitor to MPF config.""" from mpf.file_interfaces.yaml_roundtrip import YamlRoundtrip config_loader = YamlRoundtrip() config_name = "config/leds.yaml" monitor_config = config_loader.load("monitor/monitor.yaml", verify_version=False) lights_config = config_loader.load(config_name, verify_version=True) if "light" not in monitor_config: raise AssertionError("Monitor config does not contain a light section.") if "lights" not in lights_config: raise AssertionError("Config does not contain a lights section.") for light_name, light in lights_config['lights'].items(): if light_name in monitor_config['light']: config = monitor_config['light'][light_name] x = config['x'] y = config['y'] lights_config['lights'][light_name]['x'] = x lights_config['lights'][light_name]['y'] = y config_loader.save(config_name, lights_config)
"""Util to copy light positions from monitor to MPF config.""" from mpf.file_interfaces.yaml_roundtrip import YamlRoundtrip config_loader = YamlRoundtrip() config_name = "config/leds.yaml" monitor_config = config_loader.load("monitor/monitor.yaml") lights_config = config_loader.load(config_name) if "light" not in monitor_config: raise AssertionError("Monitor config does not contain a light section.") if "lights" not in lights_config: raise AssertionError("Config does not contain a lights section.") for light_name, light in lights_config['lights'].items(): if light_name in monitor_config['light']: config = monitor_config['light'][light_name] x = config['x'] y = config['y'] lights_config['lights'][light_name]['x'] = x lights_config['lights'][light_name]['y'] = y config_loader.save(config_name, lights_config)