diff --git a/Interlace/interlace.py b/Interlace/interlace.py index 962762a..da40da6 100644 --- a/Interlace/interlace.py +++ b/Interlace/interlace.py @@ -7,23 +7,29 @@ from Interlace.lib.core.output import OutputHelper, Level from Interlace.lib.threader import Pool -def build_queue(arguments, output): +def build_queue(arguments, output, repeat): task_list = InputHelper.process_commands(arguments) for task in task_list: output.terminal(Level.THREAD, task.name(), "Added to Queue") print('Generated {} commands in total'.format(len(task_list))) - return task_list + print('Repeat set to {}'.format(repeat)) + return task_list * repeat def main(): parser = InputParser() arguments = parser.parse(sys.argv[1:]) - output = OutputHelper(arguments) output.print_banner() - pool = Pool(arguments.threads, build_queue(arguments, output), arguments.timeout, output, arguments.sober) + if arguments.repeat: + repeat = int(arguments.repeat) + else: + repeat = 1 + + + pool = Pool(arguments.threads, build_queue(arguments, output, repeat), arguments.timeout, output, arguments.sober) pool.run() diff --git a/Interlace/lib/core/input.py b/Interlace/lib/core/input.py index 27af3ad..b2512e0 100644 --- a/Interlace/lib/core/input.py +++ b/Interlace/lib/core/input.py @@ -438,6 +438,11 @@ class InputParser(object): help='If set then progress bar will be stripped out' ) + parser.add_argument( + '--repeat', dest='repeat', + help='repeat the given command x number of times.' + ) + output_types = parser.add_mutually_exclusive_group() output_types.add_argument( '-v', '--verbose', dest='verbose', action='store_true', default=False,