39 lines · 1.1 KB · Python
RawDownload
# SPDX-License-Identifier: GPL-2.0 import osimport stringimport subprocessimport random from lib.py import cmd  class Remote:    def __init__(self, name, dir_path):        self.name = name        self.dir_path = dir_path        self._tmpdir = None     def __del__(self):        if self._tmpdir:            cmd("rm -rf " + self._tmpdir, host=self)            self._tmpdir = None     def cmd(self, comm):        return subprocess.Popen(["ssh", "-q", self.name, comm],                                stdout=subprocess.PIPE, stderr=subprocess.PIPE)     def _mktmp(self):        return ''.join(random.choice(string.ascii_lowercase) for _ in range(8))     def deploy(self, what):        if not self._tmpdir:            self._tmpdir = "/tmp/" + self._mktmp()            cmd("mkdir " + self._tmpdir, host=self)        file_name = self._tmpdir + "/" + self._mktmp() + os.path.basename(what)         if not os.path.isabs(what):            what = os.path.abspath(self.dir_path + "/" + what)         cmd(f"scp {what} {self.name}:{file_name}")        return file_name

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t