1#!/usr/bin/python3 2# SPDX-License-Identifier: GPL-2.0 3""" 4tdc_multibatch.py - a thin wrapper over tdc_batch.py to generate multiple batch 5files 6 7Copyright (C) 2019 Vlad Buslov <[email protected]> 8""" 9 10import argparse 11import os 12 13parser = argparse.ArgumentParser( 14 description='TC multiple batch file generator') 15parser.add_argument("device", help="device name") 16parser.add_argument("dir", help="where to put batch files") 17parser.add_argument( 18 "num_filters", type=int, help="how many lines per batch file") 19parser.add_argument("num_files", type=int, help="how many batch files") 20parser.add_argument( 21 "operation", 22 choices=['add', 'del', 'replace'], 23 help="operation to perform on filters") 24parser.add_argument( 25 "-d", 26 "--duplicate_handles", 27 action="store_true", 28 help="duplicate filter handle range in all files") 29args = parser.parse_args() 30 31device = args.device 32dir = args.dir 33file_prefix = args.operation + "_" 34num_filters = args.num_filters 35num_files = args.num_files 36operation = args.operation 37duplicate_handles = args.duplicate_handles 38handle = 1 39 40for i in range(num_files): 41 file = dir + '/' + file_prefix + str(i) 42 os.system("./tdc_batch.py -n {} -a {} -e {} -m {} {} {}".format( 43 num_filters, handle, operation, i, device, file)) 44 if not duplicate_handles: 45 handle += num_filters 46