28 lines
733 B
Python
Executable File
28 lines
733 B
Python
Executable File
#!/usr/bin/env python
|
|
"""URL encode or decode text."""
|
|
|
|
from argparse import ArgumentParser
|
|
from urllib import parse
|
|
|
|
|
|
def main():
|
|
cli = ArgumentParser(description=__doc__)
|
|
cli.add_argument('command',
|
|
choices=['encode', 'decode'],
|
|
help='type of processing to perform on text')
|
|
cli.add_argument('text',
|
|
nargs='?',
|
|
help='optional text read from stdin when omitted')
|
|
args = cli.parse_args()
|
|
print({
|
|
'encode': parse.quote_plus,
|
|
'decode': parse.unquote_plus,
|
|
}[args.command](args.text if args.text else input()))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
try:
|
|
main()
|
|
except KeyboardInterrupt:
|
|
exit(130)
|