Update trades_proxy typing

This commit is contained in:
Matthias 2023-03-01 07:23:26 +01:00
parent b5f55c9b14
commit e5c9cde36f

View File

@ -5,7 +5,7 @@ import logging
from collections import defaultdict from collections import defaultdict
from datetime import datetime, timedelta, timezone from datetime import datetime, timedelta, timezone
from math import isclose from math import isclose
from typing import Any, ClassVar, Dict, List, Optional from typing import Any, ClassVar, Dict, List, Optional, cast
from sqlalchemy import Enum, Float, ForeignKey, Integer, String, UniqueConstraint, desc, func from sqlalchemy import Enum, Float, ForeignKey, Integer, String, UniqueConstraint, desc, func
from sqlalchemy.orm import Mapped, Query, lazyload, mapped_column, relationship from sqlalchemy.orm import Mapped, Query, lazyload, mapped_column, relationship
@ -1131,7 +1131,7 @@ class LocalTrade():
@staticmethod @staticmethod
def get_open_trades() -> List[Any]: def get_open_trades() -> List[Any]:
""" """
Query trades from persistence layer Retrieve open trades
""" """
return Trade.get_trades_proxy(is_open=True) return Trade.get_trades_proxy(is_open=True)
@ -1276,7 +1276,7 @@ class Trade(ModelBase, LocalTrade):
def get_trades_proxy(*, pair: Optional[str] = None, is_open: Optional[bool] = None, def get_trades_proxy(*, pair: Optional[str] = None, is_open: Optional[bool] = None,
open_date: Optional[datetime] = None, open_date: Optional[datetime] = None,
close_date: Optional[datetime] = None, close_date: Optional[datetime] = None,
) -> List['LocalTrade', 'Trade']: ) -> List['LocalTrade']:
""" """
Helper function to query Trades.j Helper function to query Trades.j
Returns a List of trades, filtered on the parameters given. Returns a List of trades, filtered on the parameters given.
@ -1295,7 +1295,7 @@ class Trade(ModelBase, LocalTrade):
trade_filter.append(Trade.close_date > close_date) trade_filter.append(Trade.close_date > close_date)
if is_open is not None: if is_open is not None:
trade_filter.append(Trade.is_open.is_(is_open)) trade_filter.append(Trade.is_open.is_(is_open))
return Trade.get_trades(trade_filter).all() return cast(List[LocalTrade], Trade.get_trades(trade_filter).all())
else: else:
return LocalTrade.get_trades_proxy( return LocalTrade.get_trades_proxy(
pair=pair, is_open=is_open, pair=pair, is_open=is_open,