#!/usr/bin/env python """ Collect information about CodeQL databases from the file system and write out a table in CSV format. """ from argparse import ArgumentParser from typing import List from pandas import DataFrame import qldbtools.utils as utils import argparse import logging import sys import pandas as pd from qldbtools.utils import DBInfo # #* Configure logger # logging.basicConfig(format='%(asctime)s %(message)s') # #* Process command line # parser: ArgumentParser = argparse.ArgumentParser( description="""Find all CodeQL DBs in and below starting_dir and export a CSV file with relevant data.""") parser.add_argument('starting_dir', type=str, help='The starting directory to search for codeql.') args = parser.parse_args() # #* Collect info # # Get the db information in list of DBInfo form db_base: str = args.starting_dir dbs: list[DBInfo] = list(utils.collect_dbs(db_base)) dbdf: DataFrame = pd.DataFrame([d.__dict__ for d in dbs]) # # #* Write info out # dbdf.to_csv(sys.stdout, index=False) # Local Variables: # python-shell-virtualenv-root: "~/work-gh/mrva/mrvacommander/client/qldbtools/venv/" # End: