X-Git-Url: https://git.phdru.name/?p=dotfiles.git;a=blobdiff_plain;f=bin%2Fmc_type.py;h=70dcc2b6a56f062086fc4bd0471aeb2cd7361a53;hp=a9d6322e8c17dce4a86cc50ce858e1a8a2f374dd;hb=HEAD;hpb=c5883d2a782366c0a3468a989e756cf37dabbd46 diff --git a/bin/mc_type.py b/bin/mc_type.py index a9d6322..d2e9884 100755 --- a/bin/mc_type.py +++ b/bin/mc_type.py @@ -1,4 +1,4 @@ -#! /usr/bin/env python +#! /usr/bin/env python3 import sys, subprocess @@ -7,26 +7,30 @@ assert mc in ['/usr/local/bin/mc', '/usr/bin/mc'] mc = subprocess.Popen([mc, '--version'], stdout=subprocess.PIPE, - stderr=subprocess.STDOUT) -mc.wait() -mc_version = mc.stdout.readline() -mc.stdout.read() -mc.stdout.close() + stderr=subprocess.PIPE, + close_fds=True, env={}) +stdout, stderr = mc.communicate() +if mc.returncode or stderr: + sys.exit('Error reading mc version: (%d) %s' % (mc.returncode, stderr)) +if not isinstance(stdout, type('')): + stdout = stdout.decode() +mc_version = stdout.split('\n')[0] if mc_version.startswith('Midnight Commander'): mc_version = mc_version.split()[2] elif mc_version.startswith('GNU Midnight Commander') or \ mc_version.startswith('The Midnight Commander'): mc_version = mc_version.split()[3] else: - raise ValueError('Unknown mc version') + sys.exit('Unknown mc version') + if '.' in mc_version: major, minor = [int(v) for v in mc_version.split('.')[:2]] if major < 4: - print 'old' + print('old') elif (major == 4) and (minor < 6): - print 'old' + print('old') else: - print 'new' + print('new') else: - print 'new' + print('new')