refactor: centralize numeric normalization
This commit is contained in:
@@ -6,6 +6,7 @@ from datetime import datetime, time as dt_time, timedelta, timezone
|
||||
from statistics import median
|
||||
from typing import TYPE_CHECKING, Any, Callable
|
||||
|
||||
from backend.data.numbers import non_nan_number as _number
|
||||
from backend.data.providers.ifind_client import IfindError, IfindHttpClient
|
||||
from backend.data.providers.tushare_client import TushareClient, TushareError
|
||||
|
||||
@@ -16,14 +17,6 @@ if TYPE_CHECKING:
|
||||
CHINA_TIMEZONE = timezone(timedelta(hours=8))
|
||||
|
||||
|
||||
def _number(value: Any, default: float = 0.0) -> float:
|
||||
try:
|
||||
number = float(value)
|
||||
return number if number == number else default
|
||||
except (TypeError, ValueError):
|
||||
return default
|
||||
|
||||
|
||||
def _display_date(value: str) -> str:
|
||||
text = str(value or "").replace("-", "")
|
||||
if len(text) != 8:
|
||||
|
||||
Reference in New Issue
Block a user