def main():
parser = argparse.ArgumentParser(<EOL>description='<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>')<EOL>parser.add_argument(<EOL>'<STR_LIT>',<EOL>dest='<STR_LIT>',<EOL>help='<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>')<EOL>parser.add_argument(<EOL>'<STR_LIT>',<EOL>help='<STR_LIT>')<EOL>parser.add_argument(<EOL>'<STR_LIT>',<EOL>help='<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>')<EOL>parser.add_argument(<EOL>'<STR_LIT>',<EOL>default='<STR_LIT>',<EOL>help='<STR_LIT>')<EOL>parser.add_argument(<EOL>'<STR_LIT>',<EOL>default='<STR_LIT>',<EOL>help='<STR_LIT>')<EOL>args = parser.parse_args()<EOL>stream_handler = logging.StreamHandler()<EOL>stream_formatter = logging.Formatter(<EOL>'<STR_LIT>')<EOL>stream_handler.setFormatter(stream_formatter)<EOL>root_logger = logging.getLogger()<EOL>root_logger.addHandler(stream_handler)<EOL>root_logger.setLevel(logging.WARNING)<EOL>app_logger = logging.getLogger('<STR_LIT>')<EOL>app_logger.setLevel(logging.DEBUG)<EOL>if args.mongodb_uri is not None:<EOL><INDENT>mongo_client = AsyncIOMotorClient(args.mongodb_uri, ssl=True)<EOL>collection = mongo_client[args.mongodb_db][args.mongodb_collection]<EOL><DEDENT>else:<EOL><INDENT>collection = None<EOL><DEDENT>loop = asyncio.get_event_loop()<EOL>if args.ltd_product_url is not None:<EOL><INDENT>loop.run_until_complete(run_single_ltd_doc(args.ltd_product_url,<EOL>args.github_token,<EOL>collection))<EOL><DEDENT>else:<EOL><INDENT>loop.run_until_complete(run_bulk_etl(args.github_token,<EOL>collection))<EOL><DEDENT>
Command line entrypoint to reduce technote metadata.