Disables allowing the python argparse library from automatically shortening command line arguments, this prevents issues whereby a new command is added and code that wrongly uses the shortened command of an existing argument which is the same as the new command being added will silently change script behaviour. Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
26 lines
701 B
Python
Executable File
26 lines
701 B
Python
Executable File
#!/usr/bin/env python3
|
|
#
|
|
# Copyright (c) 2022 Golioth, Inc.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
from argparse import ArgumentParser
|
|
from math import ceil
|
|
|
|
|
|
CHUNK = "This is a fragment of generated C string. "
|
|
|
|
|
|
parser = ArgumentParser(description="Generate C string of arbitrary size", allow_abbrev=False)
|
|
parser.add_argument("-s", "--size", help="Size of string (without NULL termination)",
|
|
required=True, type=int)
|
|
parser.add_argument("filepath", help="Output filepath")
|
|
args = parser.parse_args()
|
|
|
|
|
|
with open(args.filepath, "w", encoding="UTF-8") as fp:
|
|
fp.write('"')
|
|
chunks = CHUNK * ceil(args.size / len(CHUNK))
|
|
fp.write(chunks[:args.size])
|
|
fp.write('"')
|