Files
sci-gui-agent-benchmark/desktop_env/evaluators/getters/general.py
HappySix 6419d707bc Support Docker VM manager and provider (#75)
* Add docker provider framework

* Update VM download link

* Add stop container

* Update docker manager & provider

* Update

* Update

* Update provider
2024-09-28 21:10:40 +08:00

43 lines
1.2 KiB
Python

import logging
from typing import Dict
import requests
logger = logging.getLogger("desktopenv.getters.general")
def get_vm_command_line(env, config: Dict[str, str]):
vm_ip = env.vm_ip
port = env.server_port
command = config["command"]
shell = config.get("shell", False)
response = requests.post(f"http://{vm_ip}:{port}/execute", json={"command": command, "shell": shell})
print(response.json())
if response.status_code == 200:
return response.json()["output"]
else:
logger.error("Failed to get vm command line. Status code: %d", response.status_code)
return None
def get_vm_command_error(env, config: Dict[str, str]):
vm_ip = env.vm_ip
port = env.server_port
command = config["command"]
shell = config.get("shell", False)
response = requests.post(f"http://{vm_ip}:{port}/execute", json={"command": command, "shell": shell})
print(response.json())
if response.status_code == 200:
return response.json()["error"]
else:
logger.error("Failed to get vm command line error. Status code: %d", response.status_code)
return None
def get_vm_terminal_output(env, config: Dict[str, str]):
return env.controller.get_terminal_output()