from common.db import fetchone, execute, is_done async def check_and_advance_analysis(analysis_run_id: str) -> None: run = await fetchone( "SELECT instagram_data_id, facebook_data_id, naver_blog_data_id, youtube_data_id, gangnam_unni_data_id" " FROM analysis_runs WHERE analysis_run_id = %s", (analysis_run_id,), ) results = [ await is_done("instagram_data", run["instagram_data_id"]), await is_done("facebook_data", run["facebook_data_id"]), await is_done("naver_blog_data", run["naver_blog_data_id"]), await is_done("youtube_data", run["youtube_data_id"]), await is_done("gangnam_unni_data", run["gangnam_unni_data_id"]), ] if all(results): await execute("UPDATE analysis_runs SET status = 'analyzing' WHERE analysis_run_id = %s", (analysis_run_id,))