aboutsummaryrefslogtreecommitdiffstats
path: root/MgaRepo/util.py
diff options
context:
space:
mode:
authorPapoteur <papoteur@mageialinux-online.org>2016-02-21 12:04:14 +0100
committerPapoteur <papoteur@mageialinux-online.org>2016-02-21 12:04:14 +0100
commitb09cf55fc133349845f5bfed78335d93594f73a0 (patch)
treef53a84e7d122a04ef4f5556a6059d042ceda87a3 /MgaRepo/util.py
parent4d4a76f16c51a2579f7445571edebfdf3038d0dd (diff)
downloadmgarepo-b09cf55fc133349845f5bfed78335d93594f73a0.tar
mgarepo-b09cf55fc133349845f5bfed78335d93594f73a0.tar.gz
mgarepo-b09cf55fc133349845f5bfed78335d93594f73a0.tar.bz2
mgarepo-b09cf55fc133349845f5bfed78335d93594f73a0.tar.xz
mgarepo-b09cf55fc133349845f5bfed78335d93594f73a0.zip
Restablish a print after a svn command
Diffstat (limited to 'MgaRepo/util.py')
-rw-r--r--MgaRepo/util.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/MgaRepo/util.py b/MgaRepo/util.py
index 2ffd1b4..4b1308a 100644
--- a/MgaRepo/util.py
+++ b/MgaRepo/util.py
@@ -74,9 +74,32 @@ def execcmd(*cmd, **kwargs):
else:
raise Error("command failed: %s\n%s\n" % (cmdstr, output))
if verbose:
+ print(output)
sys.stdout.write(output)
return status, output
+def get_output_exec(cmdstr):
+ output = StringIO()
+ err = StringIO()
+ p = subprocess.Popen(cmdstr, shell=True,
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ of = p.stdout.fileno()
+ ef = p.stderr.fileno()
+ while True:
+ r,w,x = select.select((of,ef), (), ())
+ odata = None
+ if of in r:
+ odata = (os.read(of, 8192)).decode('utf8')
+ output.write(odata)
+ edata = None
+ if ef in r:
+ edata = (os.read(ef, 8192)).decode('utf8')
+ err.write(edata)
+ status = p.poll()
+ if status is not None and odata == '' and edata == '':
+ break
+ return output.getvalue()
+
def get_auth(username=None, password=None):
set_username = 1
set_password = 1