diff options
Diffstat (limited to 'MgaRepo/log.py')
-rw-r--r-- | MgaRepo/log.py | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/MgaRepo/log.py b/MgaRepo/log.py index 692e3d2..e02547f 100644 --- a/MgaRepo/log.py +++ b/MgaRepo/log.py @@ -2,6 +2,7 @@ from MgaRepo import Error, config, layout from MgaRepo.svn import SVN from MgaRepo.util import execcmd +from MgaRepo.util import get_output_exec from io import StringIO @@ -14,7 +15,6 @@ import glob import tempfile import shutil import subprocess -import select locale.setlocale(locale.LC_ALL, "C") @@ -44,26 +44,7 @@ def getrelease(pkgdirurl, rev=None, macros=[], exported=None): command = (("rpm -q --qf '%%{EPOCH}:%%{VERSION}-%%{RELEASE}\n' " "--specfile %s %s") % (specpath, options)) - output = StringIO() - err = StringIO() - p = subprocess.Popen(command, 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 - output = output.getvalue() + output = get_output_exec(command) releases = output.split() try: epoch, vr = releases[0].split(":", 1) |