Compare commits

...

3 Commits

Author SHA1 Message Date
ivan 8ab5a13cca exception handling when a session subprocess is interrupted (f.e. ctr+c on password entry) 2024-04-05 14:28:53 +03:00
ivan fc9640a491 Merge branch 'fix-escape-sequence' into 'master'
Fix escape sequence

See merge request zlax/sshch!2
2024-04-05 11:18:39 +00:00
Anton Samofal 8ee868ab69 Fix escape sequence 2024-04-05 11:18:39 +00:00
2 changed files with 7 additions and 4 deletions

View File

@ -13,7 +13,7 @@ def main():
long_description='SSH connection and aliases manager with curses and command line interface', long_description='SSH connection and aliases manager with curses and command line interface',
long_description_content_type='text/x-rst', long_description_content_type='text/x-rst',
license='DWTWL 2.55', license='DWTWL 2.55',
version='1.09.6', version='1.09.7',
py_modules=['sshch'], py_modules=['sshch'],
scripts=['sshch/sshch'], scripts=['sshch/sshch'],
keywords='sshch ssh aliases curses manager', keywords='sshch ssh aliases curses manager',

View File

@ -22,7 +22,7 @@ from curses import textpad, panel
from threading import Thread from threading import Thread
# https://gitlab.com/zlax/sshch # https://gitlab.com/zlax/sshch
version = "1.09.6" version = "1.09.7"
# expand groups by default # expand groups by default
expand_default = True expand_default = True
# path to conf dir and file, default: ~/.config/sshch.conf # path to conf dir and file, default: ~/.config/sshch.conf
@ -84,7 +84,7 @@ def ConvertPassword(password):
elif char == '"': elif char == '"':
password_string += "''"+'"'+"''" password_string += "''"+'"'+"''"
elif char == ';': elif char == ';':
password_string += "'"+"\;"+"'" password_string += "'"+r'\;'+"'"
elif char == "\\": elif char == "\\":
password_string += "'"+'"'+"\\"+"\\"+'"'+"'" password_string += "'"+'"'+"\\"+"\\"+'"'+"'"
else: else:
@ -138,7 +138,10 @@ def ConnectAlias(alias, command=False, threading=False):
exec_string = exec_string + conf.get(alias, "exec_string") exec_string = exec_string + conf.get(alias, "exec_string")
if command: if command:
exec_string = exec_string + " " + command exec_string = exec_string + " " + command
try:
subprocess.Popen(exec_string, shell=True).communicate()[0] subprocess.Popen(exec_string, shell=True).communicate()[0]
except:
pass
if threading: if threading:
print ("... "+alias+" session output finished.") print ("... "+alias+" session output finished.")