#NEWLINE# def shell_escape( s ) : #NEWLINE# #INDENT# 'Given bl"a, returns "bl\\"a".\n    ' #NEWLINE# if isinstance ( s , bytes ) : #NEWLINE# #INDENT# s = s . decode ( 'utf-8' ) #NEWLINE# #UNINDENT# if any ( ( ( c in c ) for c in ( string . whitespace + '*$\\"\'' ) ) ) : #NEWLINE# #INDENT# return ( '"%s"' % s . replace ( '\\' , '\\\\' ) . replace ( '"' , '\\"' ) . replace ( '$' , '\\$' ) ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return s