# Copyright 2022 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """Defines erminctl interface compatible with modern scripts.""" import subprocess from typing import List from compatible_utils import get_ssh_prefix from common import get_ssh_address import base_ermine_ctl class ErmineCtl(base_ermine_ctl.BaseErmineCtl): """ErmineCtl adaptation for modern scripts.""" def __init__(self, target_id: str): super().__init__() self._ssh_prefix = get_ssh_prefix(get_ssh_address(target_id)) def execute_command_async(self, args: List[str]) -> subprocess.Popen: return subprocess.Popen(self._ssh_prefix + args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, encoding='utf-8')