Add option to repeat the command

This commit is contained in:
mzfr
2020-03-12 19:05:07 +05:30
parent 29a6935129
commit 35800dd0f2
2 changed files with 15 additions and 4 deletions

View File

@@ -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()

View File

@@ -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,