#! /usr/bin/env python3 import sys, subprocess mc = sys.argv[1] assert mc in ['/usr/local/bin/mc', '/usr/bin/mc'] mc = subprocess.Popen([mc, '--version'], stdout=subprocess.PIPE, 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: 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') elif (major == 4) and (minor < 6): print('old') else: print('new') else: print('new')