in components/processing/libs/processor-msg/src/processors/msg/run.py [0:0]
def main() -> None:
parser = argparse.ArgumentParser(
prog="process msgs",
description="process and extract messages",
)
parser.add_argument("process_dir", type=str, help="Process folder to process")
parser.add_argument(
"reject_dir", type=str, help="Reject folder for files that fail"
)
parser.add_argument(
"--write_json", type=bool, default=True, help="Write JSON files"
)
parser.add_argument(
"-l",
"--log",
dest="logLevel",
choices=["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"],
default="INFO",
help="Set the logging level",
)
parser.add_argument(
"--write_bigquery",
type=str,
default="",
help="BigQuery fully qualified table to write results",
)
all_processors = ", ".join([x.value for x in Processors])
parser.add_argument(
"--file-type",
metavar="KEY:VALUE",
dest="supported_files",
help="Set all supported file types in the form of "
"FILE_TYPE:PROCESSOR. Minimum one is required. "
"Multiple entries are possible. Supported "
f"processors are {all_processors}",
nargs="+",
required=True,
action=keyvalue,
)
args = parser.parse_args()
logging.basicConfig(level=logging.getLevelName(args.logLevel))
# Process everything
process_all_objects(
GCSPath(args.process_dir),
GCSPath(args.reject_dir),
args.supported_files,
write_json=args.write_json,
write_bigquery=args.write_bigquery,
)