Skip to content

Commit 8d25f2d

Browse files
committed
qualcomm-cdi-generator.py: add argparse, rework logging to use -v
The important options can now be changed using commandline arguments and logging is controlled by the amount of -v provided. Slight help from QGenie, lots of manual rework done by this actual human :) Signed-off-by: Koen Kooi <[email protected]>
1 parent 8a6197a commit 8d25f2d

File tree

1 file changed

+25
-15
lines changed

1 file changed

+25
-15
lines changed

qualcomm-cdi-generator.py

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,23 @@
1212
import sys
1313
import logging
1414
import os
15-
16-
# TODO: make these commandline options
17-
destdir = "/"
18-
hookfilename = "vendor-hook"
19-
cdifilename = "qualcomm.json"
20-
21-
def setup_logging():
22-
level_name = os.environ.get("LOGLEVEL", "INFO").upper()
23-
level = getattr(logging, level_name, logging.INFO)
24-
logging.basicConfig(
25-
level=level,
26-
format="%(asctime)s %(levelname)s %(message)s",
27-
)
28-
logging.debug("Logging initialized at level %s", level_name)
15+
import argparse
16+
17+
def setup_logging(verbosity: int) -> None:
18+
level = logging.WARNING
19+
if verbosity == 1:
20+
level = logging.INFO
21+
elif verbosity >= 2:
22+
level = logging.DEBUG
23+
logging.basicConfig(format="%(levelname)s: %(message)s", level=level)
24+
25+
def parse_args():
26+
parser = argparse.ArgumentParser(description="Generate Qualcomm CDI and hook script")
27+
parser.add_argument("-d", "--destdir", default="/", help="Destination root directory (default: %(default)s)")
28+
parser.add_argument("-H", "--hookfilename", default="vendorhook", help="Hook script filename (default: %(default)s)")
29+
parser.add_argument("-c", "--cdifilename", default="qualcomm.json", help="CDI JSON filename (default: %(default)s)")
30+
parser.add_argument("-v", "--verbose", action="count", default=0, help="Increase verbosity (-v, -vv)")
31+
return parser.parse_args()
2932

3033
def find_devicenodes(deviceglob):
3134
logging.debug("Globbing device nodes: %s", deviceglob)
@@ -74,8 +77,15 @@ def get_devicenode_index(nodename):
7477
return int(nodeindex.group()) if nodeindex else None
7578

7679
def main() -> int:
77-
setup_logging()
80+
args = parse_args()
81+
setup_logging(args.verbose)
7882
logging.info("Starting Qualcomm CDI generation")
83+
logging.info("Config: destdir=%s, hookfilename=%s, cdifilename=%s", args.destdir, args.hookfilename, args.cdifilename)
84+
85+
# Use CLI-configured values
86+
destdir = args.destdir
87+
hookfilename = args.hookfilename
88+
cdifilename = args.cdifilename
7989

8090
# Find rendernodes and create entries for them
8191
rendernodes = find_devicenodes('/dev/dri/renderD*')

0 commit comments

Comments
 (0)