blob: 66253891a2b6bb71adb5c030dea8d23b46319fee [file] [log] [blame]
# 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')