1#!/usr/bin/env python 2# -*- coding: utf-8 -*- 3# Copyright (c) 2024 Huawei Device Co., Ltd. 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15 16import argparse 17from bin import config 18 19 20def main_function(): 21 parser = argparse.ArgumentParser( 22 prog=config.Config.name, description=config.Config.description) 23 for command in config.Config.commands: 24 arg_abbr = command.get("abbr") 25 arg_name = command.get("name") 26 arg_choices = command.get("choices") 27 arg_required = (True if command.get("required") else False) 28 arg_type = command.get("type") 29 default = command.get("default") 30 arg_help = command.get("help") 31 parser.add_argument(arg_abbr, arg_name, choices=arg_choices, 32 required=arg_required, type=arg_type, default=default, help=arg_help) 33 34 config.run_tools(parser.parse_args()) 35 36 37if __name__ == '__main__': 38 main_function() 39