fix(crawler): resolve circular import in zhihu_crawler
Circular import chain: zhihu_crawler -> pipeline.config -> pipeline.platforms -> zhihu_crawler Fix: Lazy import get_settings() inside _get_cookie() method instead of module-level import.
This commit is contained in:
@@ -19,7 +19,8 @@ from playwright.sync_api import Route, Response, sync_playwright
|
|||||||
from tenacity import Retrying, stop_after_attempt, wait_exponential, RetryError
|
from tenacity import Retrying, stop_after_attempt, wait_exponential, RetryError
|
||||||
|
|
||||||
from kb_workflow.metadata.zhihu_extractor import PlaywrightBrowser
|
from kb_workflow.metadata.zhihu_extractor import PlaywrightBrowser
|
||||||
from kb_workflow.pipeline.config import get_settings
|
# NOTE: get_settings is imported lazily in _get_cookie() to avoid circular import
|
||||||
|
# Circular: zhihu_crawler -> pipeline.config -> pipeline.platforms -> zhihu_crawler
|
||||||
from .models import (
|
from .models import (
|
||||||
AnswerData,
|
AnswerData,
|
||||||
ArticleData,
|
ArticleData,
|
||||||
@@ -129,6 +130,9 @@ class ZhihuCrawler:
|
|||||||
Returns:
|
Returns:
|
||||||
Cookie string from settings
|
Cookie string from settings
|
||||||
"""
|
"""
|
||||||
|
# Lazy import to avoid circular dependency:
|
||||||
|
# zhihu_crawler -> pipeline.config -> pipeline.platforms -> zhihu_crawler
|
||||||
|
from kb_workflow.pipeline.config import get_settings
|
||||||
settings = get_settings()
|
settings = get_settings()
|
||||||
return settings.zhihu_cookie.get_secret_value()
|
return settings.zhihu_cookie.get_secret_value()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user