You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
886 B
26 lines
886 B
# 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')
|