From 970575e9496b02639cedea68b58c6552a325da2c Mon Sep 17 00:00:00 2001 From: Ethan Dalool Date: Wed, 9 Dec 2020 07:18:05 -0800 Subject: [PATCH] Add pickn.py. --- pickn.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 pickn.py diff --git a/pickn.py b/pickn.py new file mode 100644 index 0000000..fb2729e --- /dev/null +++ b/pickn.py @@ -0,0 +1,29 @@ +import argparse +import sys + +from voussoirkit import pipeable + +def shuffle_argparse(args): + if args.count < 1: + pipeable.stderr('count must be >= 1.') + return 1 + + lines = pipeable.input(args.source, read_files=True, skip_blank=True, strip=True) + lines = list(lines) + lines = lines[:args.count] + + for line in lines: + pipeable.stdout(line) + +def main(argv): + parser = argparse.ArgumentParser(description=__doc__) + + parser.add_argument('source') + parser.add_argument('count', type=int) + parser.set_defaults(func=shuffle_argparse) + + args = parser.parse_args(argv) + return args.func(args) + +if __name__ == '__main__': + raise SystemExit(main(sys.argv[1:]))