Spaces:
Sleeping
Sleeping
Update models/market_data.py
Browse files- models/market_data.py +9 -12
models/market_data.py
CHANGED
|
@@ -4,7 +4,7 @@ from pydantic import BaseModel, Field
|
|
| 4 |
|
| 5 |
|
| 6 |
class KlineData(BaseModel):
|
| 7 |
-
timestamp: int
|
| 8 |
open: float
|
| 9 |
high: float
|
| 10 |
low: float
|
|
@@ -34,13 +34,10 @@ class MarketData(BaseModel):
|
|
| 34 |
|
| 35 |
@classmethod
|
| 36 |
def from_kucoin_response(
|
| 37 |
-
cls,
|
| 38 |
):
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
granularity=granularity,
|
| 42 |
-
klines=[KlineData.from_kucoin_data(k) for k in response.get("data", [])],
|
| 43 |
-
)
|
| 44 |
|
| 45 |
|
| 46 |
class SymbolInfo(BaseModel):
|
|
@@ -53,9 +50,9 @@ class SymbolInfo(BaseModel):
|
|
| 53 |
@classmethod
|
| 54 |
def from_kucoin_data(cls, data: Dict[str, Any]) -> "SymbolInfo":
|
| 55 |
return cls(
|
| 56 |
-
symbol=data
|
| 57 |
-
name=data
|
| 58 |
-
baseCurrency=data
|
| 59 |
-
quoteCurrency=data
|
| 60 |
-
maxLeverage=int(data
|
| 61 |
)
|
|
|
|
| 4 |
|
| 5 |
|
| 6 |
class KlineData(BaseModel):
|
| 7 |
+
timestamp: int = Field(..., description="Timestamp in milliseconds")
|
| 8 |
open: float
|
| 9 |
high: float
|
| 10 |
low: float
|
|
|
|
| 34 |
|
| 35 |
@classmethod
|
| 36 |
def from_kucoin_response(
|
| 37 |
+
cls, response_data: Dict[str, Any], symbol: str, granularity: int
|
| 38 |
):
|
| 39 |
+
klines = [KlineData.from_kucoin_data(k) for k in response_data.get("data", [])]
|
| 40 |
+
return cls(symbol=symbol, granularity=granularity, klines=klines)
|
|
|
|
|
|
|
|
|
|
| 41 |
|
| 42 |
|
| 43 |
class SymbolInfo(BaseModel):
|
|
|
|
| 50 |
@classmethod
|
| 51 |
def from_kucoin_data(cls, data: Dict[str, Any]) -> "SymbolInfo":
|
| 52 |
return cls(
|
| 53 |
+
symbol=data.get("symbol", ""),
|
| 54 |
+
name=data.get("name", ""),
|
| 55 |
+
baseCurrency=data.get("baseCurrency", ""),
|
| 56 |
+
quoteCurrency=data.get("quoteCurrency", ""),
|
| 57 |
+
maxLeverage=int(data.get("maxLeverage", 0)),
|
| 58 |
)
|