From 317688d9aa510201b5b05e3d8631d9943d5b784b Mon Sep 17 00:00:00 2001 From: Ethan Dalool Date: Sat, 1 Feb 2020 16:41:06 -0800 Subject: [PATCH] Use argparse in clipboard.py, add --output argument. --- clipboard.py | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/clipboard.py b/clipboard.py index 2355a6e..62cada2 100644 --- a/clipboard.py +++ b/clipboard.py @@ -1,14 +1,26 @@ ''' Dump the clipboard to stdout. I use this for redirecting to files. ''' +import argparse import pyperclip import sys -if len(sys.argv) > 1: - from voussoirkit import clipext - stuff = clipext.resolve(sys.argv[1]) - pyperclip.copy(stuff) -else: - text = pyperclip.paste() - text = text.replace('\r', '') - print(text) +def clipboard_argparse(args): + if args.output_file: + open(args.output_file, 'w', encoding='utf-8').write(pyperclip.paste()) + else: + text = pyperclip.paste() + text = text.replace('\r', '') + print(text) + +def main(argv): + parser = argparse.ArgumentParser(description=__doc__) + + parser.add_argument('-o', '--output', dest='output_file', default=None) + parser.set_defaults(func=clipboard_argparse) + + args = parser.parse_args(argv) + return args.func(args) + +if __name__ == '__main__': + raise SystemExit(main(sys.argv[1:]))