26 lines
886 B
Python
26 lines
886 B
Python
# 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')
|