Spaces:
Sleeping
Sleeping
Upload folder using huggingface_hub
Browse files- pipeline/fetcher.py +10 -10
pipeline/fetcher.py
CHANGED
|
@@ -455,7 +455,7 @@ def _scrape_screener(ticker: str, log_fn=None) -> Optional[Dict]:
|
|
| 455 |
|
| 456 |
|
| 457 |
def _normalise_screener(raw: Dict, years: int) -> Optional[Dict]:
|
| 458 |
-
yr = raw.get("years", [])[
|
| 459 |
n = len(yr)
|
| 460 |
if n == 0: return None
|
| 461 |
inc = raw.get("income", {})
|
|
@@ -468,13 +468,13 @@ def _normalise_screener(raw: Dict, years: int) -> Optional[Dict]:
|
|
| 468 |
|
| 469 |
def row(*keys):
|
| 470 |
for k in keys:
|
| 471 |
-
if k in inc: return inc[k][
|
| 472 |
-
if k in bal: return bal[k][
|
| 473 |
-
if k in cf: return cf[k][
|
| 474 |
kp = k + "+"
|
| 475 |
-
if kp in inc: return inc[kp][
|
| 476 |
-
if kp in bal: return bal[kp][
|
| 477 |
-
if kp in cf: return cf[kp][
|
| 478 |
return [None] * n
|
| 479 |
|
| 480 |
revenue = row(*REVENUE_KEYS.get(sector, REVENUE_KEYS["default"]))
|
|
@@ -820,9 +820,9 @@ def _fetch_fmp(ticker: str, years: int, log_fn=None) -> Optional[Dict]:
|
|
| 820 |
log(" [ERR] FMP returned no data")
|
| 821 |
return None
|
| 822 |
|
| 823 |
-
inc = list(reversed(raw["income"]
|
| 824 |
-
bal = list(reversed(raw["balance"]
|
| 825 |
-
cf = list(reversed(raw["cashflow"]
|
| 826 |
|
| 827 |
def col(lst, key): return [_s(d.get(key)) for d in lst]
|
| 828 |
yr = [d.get("calendarYear", str(d.get("date",""))[:4]) for d in inc]
|
|
|
|
| 455 |
|
| 456 |
|
| 457 |
def _normalise_screener(raw: Dict, years: int) -> Optional[Dict]:
|
| 458 |
+
yr = raw.get("years", [])[-years:]
|
| 459 |
n = len(yr)
|
| 460 |
if n == 0: return None
|
| 461 |
inc = raw.get("income", {})
|
|
|
|
| 468 |
|
| 469 |
def row(*keys):
|
| 470 |
for k in keys:
|
| 471 |
+
if k in inc: return inc[k][-n:]
|
| 472 |
+
if k in bal: return bal[k][-n:]
|
| 473 |
+
if k in cf: return cf[k][-n:]
|
| 474 |
kp = k + "+"
|
| 475 |
+
if kp in inc: return inc[kp][-n:]
|
| 476 |
+
if kp in bal: return bal[kp][-n:]
|
| 477 |
+
if kp in cf: return cf[kp][-n:]
|
| 478 |
return [None] * n
|
| 479 |
|
| 480 |
revenue = row(*REVENUE_KEYS.get(sector, REVENUE_KEYS["default"]))
|
|
|
|
| 820 |
log(" [ERR] FMP returned no data")
|
| 821 |
return None
|
| 822 |
|
| 823 |
+
inc = list(reversed(raw["income"][:years]))
|
| 824 |
+
bal = list(reversed(raw["balance"][:years]))
|
| 825 |
+
cf = list(reversed(raw["cashflow"][:years]))
|
| 826 |
|
| 827 |
def col(lst, key): return [_s(d.get(key)) for d in lst]
|
| 828 |
yr = [d.get("calendarYear", str(d.get("date",""))[:4]) for d in inc]
|