refactor: consolidate _sc_headers into http.scrapecreators_headers (#209)

Six source modules each defined an identical 8-line _sc_headers(token)
function returning {"x-api-key": token, "Content-Type": "application/json"}.
Moved it to http.scrapecreators_headers() and migrated all 33 call sites.

Affected files: reddit.py, threads.py, tiktok.py, instagram.py, pinterest.py,
youtube_yt.py. Zero per-source variation, zero behavior change.

Net: -40 lines. 1022 tests pass (15 pre-existing failures unchanged).
Live smoke test: reddit search returns 12 threads with full engagement.
This commit is contained in:
Ilia Alshanetsky
2026-04-14 07:43:56 -04:00
committed by GitHub
parent e395c1d57f
commit 9dd3f21476
7 changed files with 33 additions and 73 deletions
+3 -11
View File
@@ -69,14 +69,6 @@ def _log(msg: str):
log.source_log("Reddit", msg, tty_only=False)
def _sc_headers(token: str) -> Dict[str, str]:
"""Build ScrapeCreators request headers."""
return {
"x-api-key": token,
"Content-Type": "application/json",
}
def _extract_core_subject(topic: str) -> str:
"""Extract core subject from verbose query.
@@ -335,7 +327,7 @@ def _global_search(
try:
data = http.get(
f"{SCRAPECREATORS_BASE}/search",
headers=_sc_headers(token),
headers=http.scrapecreators_headers(token),
params={"query": query, "sort": sort, "timeframe": timeframe},
timeout=30,
retries=2,
@@ -373,7 +365,7 @@ def _subreddit_search(
try:
data = http.get(
f"{SCRAPECREATORS_BASE}/subreddit/search",
headers=_sc_headers(token),
headers=http.scrapecreators_headers(token),
params={
"subreddit": subreddit,
"query": query,
@@ -405,7 +397,7 @@ def fetch_post_comments(
try:
data = http.get(
f"{SCRAPECREATORS_BASE}/post/comments",
headers=_sc_headers(token),
headers=http.scrapecreators_headers(token),
params={"url": url},
timeout=30,
retries=2,