| #!/usr/bin/env python3 |
| # Copyright 2020 Gentoo Authors |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| import itertools |
| import shlex |
| import sys |
| |
| def quote(s): |
| return "'" + s.replace("\\", "\\\\").replace("'", "\\'") + "'" |
| |
| def main(args): |
| # Split each argument according to shell rules |
| args = (shlex.split(x) for x in args) |
| |
| # Flatten the resulting list of lists |
| args = itertools.chain.from_iterable(args) |
| |
| # Add quotes and escape embedded quotes |
| args = (quote(x) for x in args) |
| |
| # Format the result |
| print("[" + ", ".join(args) + "]") |
| |
| if __name__ == "__main__": |
| main(sys.argv[1:]) |