54 lines
2.4 KiB
Python
54 lines
2.4 KiB
Python
from common.db import (
|
|
set_instagram_status, save_instagram_raw_data,
|
|
set_facebook_status, save_facebook_raw_data,
|
|
set_naver_blog_status, save_naver_blog_raw_data,
|
|
set_youtube_status, save_youtube_raw_data,
|
|
set_gangnam_unni_status, save_gangnam_unni_raw_data,
|
|
)
|
|
from common.utils import get_env, normalize_handle
|
|
from services.analysis import check_and_advance_analysis
|
|
from integrations.apify import ApifyClient
|
|
from integrations.naver import NaverClient
|
|
from integrations.youtube import YouTubeClient
|
|
from integrations.firecrawl import FirecrawlClient
|
|
|
|
|
|
async def collect_instagram(analysis_run_id: str, row_id: int, url: str) -> None:
|
|
print("start a insta")
|
|
await set_instagram_status(row_id, "processing")
|
|
data = await ApifyClient(get_env("APIFY_API_TOKEN")).fetch_instagram_profile(normalize_handle("instagram", url))
|
|
await save_instagram_raw_data(row_id, data)
|
|
await check_and_advance_analysis(analysis_run_id)
|
|
|
|
|
|
async def collect_facebook(analysis_run_id: str, row_id: int, url: str) -> None:
|
|
print("start a facebook")
|
|
await set_facebook_status(row_id, "processing")
|
|
data = await ApifyClient(get_env("APIFY_API_TOKEN")).fetch_facebook_page(url)
|
|
await save_facebook_raw_data(row_id, data)
|
|
await check_and_advance_analysis(analysis_run_id)
|
|
|
|
|
|
async def collect_naver_blog(analysis_run_id: str, row_id: int, url: str) -> None:
|
|
print("start a blog")
|
|
await set_naver_blog_status(row_id, "processing")
|
|
data = await NaverClient(get_env("NAVER_CLIENT_ID"), get_env("NAVER_CLIENT_SECRET")).fetch_blog_rss(normalize_handle("naver_blog", url))
|
|
await save_naver_blog_raw_data(row_id, data)
|
|
await check_and_advance_analysis(analysis_run_id)
|
|
|
|
|
|
async def collect_youtube(analysis_run_id: str, row_id: int, url: str) -> None:
|
|
print("start a youtube")
|
|
await set_youtube_status(row_id, "processing")
|
|
data = await YouTubeClient(get_env("YOUTUBE_API_KEY")).fetch_channel(normalize_handle("youtube", url))
|
|
await save_youtube_raw_data(row_id, data)
|
|
await check_and_advance_analysis(analysis_run_id)
|
|
|
|
|
|
async def collect_gangnam_unni(analysis_run_id: str, row_id: int, url: str) -> None:
|
|
print("start a gangnam_unni")
|
|
await set_gangnam_unni_status(row_id, "processing")
|
|
data = await FirecrawlClient(get_env("FIRECRAWL_API_KEY")).fetch_gangnam_unni(url)
|
|
await save_gangnam_unni_raw_data(row_id, data)
|
|
await check_and_advance_analysis(analysis_run_id)
|