]> git.phdru.name Git - dotfiles.git/blob - bin/mc_type.py
Feat(recode-filenames-recursive): Allow to omit parameters
[dotfiles.git] / bin / mc_type.py
1 #! /usr/bin/env python3
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.PIPE,
11                       close_fds=True, env={})
12 stdout, stderr = mc.communicate()
13 if mc.returncode or stderr:
14     sys.exit('Error reading mc version: (%d) %s' % (mc.returncode, stderr))
15
16 if not isinstance(stdout, type('')):
17     stdout = stdout.decode()
18 mc_version = stdout.split('\n')[0]
19 if mc_version.startswith('Midnight Commander'):
20     mc_version = mc_version.split()[2]
21 elif mc_version.startswith('GNU Midnight Commander') or \
22      mc_version.startswith('The Midnight Commander'):
23     mc_version = mc_version.split()[3]
24 else:
25     sys.exit('Unknown mc version')
26
27 if '.' in mc_version:
28     major, minor = [int(v) for v in mc_version.split('.')[:2]]
29     if major < 4:
30         print('old')
31     elif (major == 4) and (minor < 6):
32         print('old')
33     else:
34         print('new')
35 else:
36     print('new')