import sys
import subprocess
+import getpass
from canari.utils.fs import fmutex
from canari.easygui import passwordbox
__credits__ = []
__license__ = 'GPL'
-__version__ = '0.4'
+__version__ = '0.5'
__maintainer__ = 'Nadeem Douba'
__email__ = 'ndouba@gmail.com'
__status__ = 'Development'
if not p.returncode:
exit(0)
- l = fmutex('pysudo.lock')
+ l = fmutex('pysudo.%s.lock' % getpass.getuser())
for i in range(0, 3):
password = passwordbox('Please enter your password.', 'sudo', '')
if password is None:
exit(1)
- p = subprocess.Popen(['sudo', '-S', 'true'], stdin=subprocess.PIPE)
+ p = subprocess.Popen(['sudo', '-S', 'true'], stdin=subprocess.PIPE, stderr=subprocess.PIPE)
p.communicate(input='%s\n' % password)
if not p.returncode:
l.unlock()
p = subprocess.Popen(['sudo', '-S'] + sys.argv[1:])
- p.communicate()
+ p.communicate(input='%s\n' % password)
exit(p.returncode)
exit(2)