From 57554a365682979473778ffca9a9c5c82ab4dee6 Mon Sep 17 00:00:00 2001 From: "Luis R. Rodriguez" Date: Mon, 21 Oct 2013 11:08:31 +0200 Subject: [PATCH] lib/bpkup.py: add or own kernel uploader helper lib kup is written in perl, add some basic python interfaces for it to allow us to upload to kernel.org backport releases. Signed-off-by: Luis R. Rodriguez --- lib/bpkup.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 lib/bpkup.py diff --git a/lib/bpkup.py b/lib/bpkup.py new file mode 100644 index 000000000000..03504bb34c15 --- /dev/null +++ b/lib/bpkup.py @@ -0,0 +1,44 @@ +import subprocess, os + +class KupError(Exception): + pass +class ExecutionError(KupError): + def __init__(self, errcode): + self.error_code = errcode + +def _check(process): + if process.returncode != 0: + raise ExecutionError(process.returncode) + +def mkdir(path): + cmd = ['kup', 'mkdir', path] + process = subprocess.Popen(cmd, + stdout=subprocess.PIPE, stderr=subprocess.STDOUT, + close_fds=True, universal_newlines=True) + stdout = process.communicate()[0] + process.wait() + _check(process) + + return stdout + +def ls(path=None): + cmd = ['kup', 'ls', path] + process = subprocess.Popen(cmd, + stdout=subprocess.PIPE, stderr=subprocess.STDOUT, + close_fds=True, universal_newlines=True) + stdout = process.communicate()[0] + process.wait() + _check(process) + + return stdout + +def put(tar_bz2, signed_tar, path): + cmd = ['kup', 'put', tar_bz2, signed_tar, path] + process = subprocess.Popen(cmd, + stdout=subprocess.PIPE, stderr=subprocess.STDOUT, + close_fds=True, universal_newlines=True) + stdout = process.communicate()[0] + process.wait() + _check(process) + + return stdout -- 2.30.2