]> git.phdru.name Git - dotfiles.git/blobdiff - bin/mc_type.py
Feat(recode-filenames-recursive): Allow to omit parameters
[dotfiles.git] / bin / mc_type.py
index a9d6322e8c17dce4a86cc50ce858e1a8a2f374dd..d2e98843390068e52df3e42f8c9ae01a12eff465 100755 (executable)
@@ -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')