import logging import os from typing import Dict logger = logging.getLogger("desktopenv.getters.vlc") def get_vlc_playing_info(env, config: Dict[str, str]): """ Gets the current playing information from VLC's HTTP interface. """ _path = os.path.join(env.cache_dir, config["dest"]) host = env.vm_ip port = 8080 password = 'password' content = env.controller.get_vlc_status(host, port, password) with open(_path, "wb") as f: f.write(content) return _path def get_vlc_config(env, config: Dict[str, str]): """ Reads the VLC configuration file to check setting. """ _path = os.path.join(env.cache_dir, config["dest"]) os_type = env.controller.execute_python_command("import platform; print(platform.system())")['output'].strip() # fixme: depends on how we config and install the vlc in virtual machine, need to be aligned and double-checked if os_type == "Linux": config_path = \ env.controller.execute_python_command("import os; print(os.path.expanduser('~/snap/vlc/common/vlcrc'))")[ 'output'].strip() elif os_type == "Darwin": config_path = env.controller.execute_python_command( "import os; print(os.path.expanduser('~/Library/Preferences/org.videolan.vlc/vlcrc'))")['output'].strip() elif os_type == "Windows": config_path = env.controller.execute_python_command( "import os; print(os.path.expanduser('~\\AppData\\Roaming\\vlc\\vlcrc'))")['output'].strip() content = env.controller.get_file(config_path) with open(_path, "wb") as f: f.write(content) return _path