Пример #1
0
def main():
    parser = ArgumentParser(description="Protobuf Parser")
    parser.add_argument(
        "-output",
        help="output directory. default is 'output', under current path")
    parser.add_argument("-f",
                        "--force",
                        action="store_true",
                        help="this will remove all old files.")
    parser.add_argument(
        "-config",
        help="the configure file for code generator. see ppconfig.py")
    parser.add_argument(
        "input_path",
        help="input proto directory. only *.proto files will be processed.")

    option = parser.parse_args()

    if option.config:
        parse_config(option.config)

    ppconfig.INPUT_PATH = option.input_path
    ppconfig.OUTPUT_PATH = option.output if option.output else "output"

    if not hasattr(ppconfig, "MODULE_PATH"):
        ppconfig.MODULE_PATH = ppconfig.OUTPUT_PATH

    exporter = Exporter()
    try:
        exporter.run(option)
    except ProtoException as msg:
        print("\n**%s\n" % msg)