import os import subprocess import time def bitvise_exists(): paths = [ r"C:\Program Files\Bitvise SSH Client", r"C:\Program Files (x86)\Bitvise SSH Client" ] for p in paths: if os.path.exists(p): return True return False def spm_uninstall(dir, args): uninstallers = [ r"C:\Program Files\Bitvise SSH Client\uninst.exe", r"C:\Program Files (x86)\Bitvise SSH Client\uninst.exe" ] found = False for uninst in uninstallers: if os.path.exists(uninst): found = True try: cmd = '"%s" -unat "BvSshClient"' % uninst subprocess.call(cmd, shell=True) except: pass # wait for uninstall completion time.sleep(10) # verify removal if not bitvise_exists(): print "retcode0retcode" else: print "retcode1retcode" def spm_install(dir, args): try: os.chdir(dir) subprocess.check_call(args.split()) print "retcode0retcode" except subprocess.CalledProcessError as e: print "retcode" + str(e.returncode) + "retcode" def spm_update(dir, args): try: os.chdir(dir) subprocess.check_call(args.split()) print "retcode0retcode" except subprocess.CalledProcessError as e: print "retcode" + str(e.returncode) + "retcode"