+def shell_quotify(arg):
+ """
+ Quotify ARG to keep the shell happy.
+
+ This isn't actually used for invoking commands, just for presentation
+ purposes; but correctness is still nice.
+ """
+ if not rx_shmeta.search(arg):
+ return arg
+ elif arg.find("'") == -1:
+ return "'%s'" % arg
+ else:
+ return '"%s"' % rx_shquote.sub(lambda m: '\\' + m.group(0), arg)
+