This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
__author__ = "Markus Reiter"
|
||||
__copyright__ = "(c) Markus Reiter 2022"
|
||||
__license__ = "MIT"
|
||||
|
||||
import shutil
|
||||
from subprocess import PIPE, Popen
|
||||
|
||||
from proxmoxer.backends.command_base import CommandBaseBackend, CommandBaseSession
|
||||
|
||||
|
||||
class LocalSession(CommandBaseSession):
|
||||
def _exec(self, cmd):
|
||||
proc = Popen(cmd, stdout=PIPE, stderr=PIPE)
|
||||
stdout, stderr = proc.communicate(timeout=self.timeout)
|
||||
return stdout.decode(), stderr.decode()
|
||||
|
||||
def upload_file_obj(self, file_obj, remote_path):
|
||||
with open(remote_path, "wb") as dest_fp:
|
||||
shutil.copyfileobj(file_obj, dest_fp)
|
||||
|
||||
|
||||
class Backend(CommandBaseBackend):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.session = LocalSession(*args, **kwargs)
|
||||
self.target = "localhost"
|
||||
Reference in New Issue
Block a user