phase1-ingest-resolve
This commit is contained in:
@@ -1 +1,38 @@
|
||||
"""Job source provider package."""
|
||||
"""Job source provider package.
|
||||
|
||||
Public API: JobSource interface + get_job_source() factory.
|
||||
Heavy provider imports are deferred to get_job_source() so loading this
|
||||
package does not pull in pandas, jobspy, or apify-client at import time.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
from .base import JobSource
|
||||
|
||||
__all__ = ["JobSource", "get_job_source"]
|
||||
|
||||
|
||||
def get_job_source(settings=None) -> JobSource:
|
||||
"""Return the configured JobSource instance.
|
||||
|
||||
Reads job_source from settings (default: get_settings()). Lazy-imports
|
||||
the chosen module so the unused provider's heavy deps are never loaded.
|
||||
|
||||
Raises ValueError for unknown provider names.
|
||||
"""
|
||||
if settings is None:
|
||||
from ..config import get_settings
|
||||
|
||||
settings = get_settings()
|
||||
|
||||
provider = settings.job_source.lower()
|
||||
if provider == "jobspy":
|
||||
from .jobspy_source import JobSpySource
|
||||
|
||||
return JobSpySource()
|
||||
if provider == "apify":
|
||||
from .apify_source import ApifySource
|
||||
|
||||
return ApifySource()
|
||||
raise ValueError(
|
||||
f"Unknown job_source {settings.job_source!r}. Valid values: 'jobspy', 'apify'."
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user