| 12345678910111213141516171819202122232425262728293031323334353637 |
- import json
- from decimal import Decimal, ROUND_HALF_UP
- def normalize_scalar(value: object) -> object:
- if isinstance(value, Decimal):
- return float(value)
- return value
- def round_weight(value: object) -> float | None:
- if value is None:
- return None
- decimal_value = Decimal(str(value)).quantize(
- Decimal("0.0001"),
- rounding=ROUND_HALF_UP,
- )
- return float(decimal_value)
- def parse_video_list(value: object) -> list[str] | None:
- if value is None:
- return None
- if isinstance(value, list):
- return [str(item) for item in value]
- if isinstance(value, str):
- text = value.strip()
- if not text:
- return None
- try:
- parsed = json.loads(text)
- except json.JSONDecodeError:
- return [text]
- if isinstance(parsed, list):
- return [str(item) for item in parsed]
- return [text]
- return [str(value)]
|