#!/usr/bin/env python3 import os import sys import json from pathlib import Path import n4d.client n4d = n4d.client.Client('https://localhost:9779') try: result = n4d.get_variable("SRV_IP") n4d = n4d.client.Client('https://{server}:9779'.format(server=result)) except: pass try: global_settings = n4d.MonitorSettings.getSettings("config") output_settings = n4d.MonitorSettings.getSettings("outputs") if not isinstance( output_settings, dict ): output_settings = {"configurations":{}} control_settings = n4d.MonitorSettings.getSettings("control") if not isinstance( control_settings, dict): control_settings = {"configurations":{}} except: sys.exit(0) settings = global_settings home = os.environ['HOME'] if settings['mode'] is None: sys.exit(0) else: if settings['mode'] != 'newusers' and settings['mode'] != 'allusers': sys.exit(0) destination_config = Path('{home}/.local/share/kscreen'.format(home=home)) destination_config.mkdir(parents=True, exist_ok=True) for identifier,content in settings['configurations'].items(): filepath = destination_config.joinpath(identifier) if settings['mode'] == 'newusers' and filepath.exists(): continue with filepath.open('w',encoding='utf-8') as fd: json.dump(content,fd,indent=4) destination_output = destination_config.joinpath("outputs") destination_output.mkdir(parents=True, exist_ok=True) for identifier,content in output_settings['configurations'].items(): filepath = destination_output.joinpath(identifier) if settings['mode'] == 'newusers' and filepath.exists(): continue with filepath.open('w',encoding='utf-8') as fd: json.dump(content, fd, indent=4) destination_control = destination_config.joinpath("control").joinpath("configs") destination_control.mkdir(parents=True,exist_ok=True) for identifier,content in control_settings["configurations"].items(): filepath = destination_control.joinpath(identifier) if settings['mode'] == 'newusers' and filepath.exists(): continue with filepath.open('w',encoding='utf-8') as fd: json.dump(content, fd, indent=4)