#!/usr/bin/env python3
import argparse

import perg

# Commandline execution
if __name__ == '__main__':  

    # CLI opts
    parser = argparse.ArgumentParser(description="Generate a stream of random samples from the set of strings matching your regex")
    parser.add_argument('regex', help='regex to sample matches from')
    parser.add_argument('-n', help='number of matches to sample', type=int, default=0)

    args = parser.parse_args()

    # Get regex to sample from as 1st arg
    regex = args.regex.replace('\\\\', '\\') 

    # If no -n arg, sample forever
    if not args.n:
        for s in perg.sampler(regex):
            print(s)
    else:
        generator = perg.sampler(regex)
        for _ in range(args.n):
            print(next(generator))
