]> git.phdru.name Git - dotfiles.git/blob - bin/mc_type.py
mc: Report error via `sys.exit(message)`
[dotfiles.git] / bin / mc_type.py
1 #! /usr/bin/env python
2
3 import sys, subprocess
4
5 mc = sys.argv[1]
6 assert mc in ['/usr/local/bin/mc', '/usr/bin/mc']
7
8 mc = subprocess.Popen([mc, '--version'],
9                       stdout=subprocess.PIPE,
10                       stderr=subprocess.STDOUT)
11 mc.wait()
12 mc_version = mc.stdout.readline()
13 mc.stdout.read()
14 mc.stdout.close()
15
16 if mc_version.startswith('Midnight Commander'):
17     mc_version = mc_version.split()[2]
18 elif mc_version.startswith('GNU Midnight Commander') or \
19      mc_version.startswith('The Midnight Commander'):
20     mc_version = mc_version.split()[3]
21 else:
22     sys.exit('Unknown mc version')
23
24 if '.' in mc_version:
25     major, minor = [int(v) for v in mc_version.split('.')[:2]]
26     if major < 4:
27         print('old')
28     elif (major == 4) and (minor < 6):
29         print('old')
30     else:
31         print('new')
32 else:
33     print('new')