importargparsefromoffice365.sharepoint.client_contextimportClientContextfromoffice365.sharepoint.lists.creation_informationimportListCreationInformationfromoffice365.sharepoint.lists.templates.typeimportListTemplateTypefromtests.settingsimportcert_path,cert_thumbprint,client_id,site_url,tenantdefmain():parser=argparse.ArgumentParser(description="Create a SharePoint list")parser.add_argument("title",help="Title of the list to create")parser.add_argument("--type",default="GenericList",help="List template type name, e.g. GenericList, Tasks, DocumentLibrary (default: GenericList)",)args=parser.parse_args()template_type=ListTemplateType[args.type]ctx=ClientContext(site_url).with_client_certificate(tenant,client_id=client_id,thumbprint=cert_thumbprint,cert_path=cert_path)create_info=ListCreationInformation(args.title,None,template_type)lst=ctx.web.lists.add(create_info).execute_query()print(f"List has been created: {lst.title}")if__name__=="__main__":main()