Fixed code-style issues

This commit is contained in:
Mohammad Dashti 2021-09-16 13:39:25 -07:00
parent daecfe8078
commit 25a3d94de9

View File

@ -1382,17 +1382,17 @@ class Exchange:
return pair.replace("/", "-")
# Returns the directory path that contains the intermediate trade files for a given pair.
def _intermediate_trades_dir_for_pair(self, datadir: str, pair: str) -> str:
def _intermediate_trades_dir_for_pair(self, datadir: Path, pair: str) -> str:
tmpdata_dir = os.path.join(datadir, "trades-intermediate-parts")
tmpdata_dir = os.path.join(tmpdata_dir, self._pair_dir(pair))
return tmpdata_dir
# Returns the intermediate trade file name for a given pair starting with `from_id` trade ID
def _intermediate_trades_file(self, datadir: str, pair: str, from_id: int) -> str:
def _intermediate_trades_file(self, datadir: Path, pair: str, from_id: str) -> str:
tmpdata_file = self._intermediate_trades_dir_for_pair(datadir, pair)
tmpdata_file = os.path.join(tmpdata_file, str(int(from_id)//1000000))
Path(tmpdata_file).mkdir(parents=True, exist_ok=True)
tmpdata_file = os.path.join(tmpdata_file, self._pair_dir(pair)+"_"+from_id+".json")
tmpdata_file = os.path.join(tmpdata_file, self._pair_dir(pair)+"_"+str(from_id)+".json")
return tmpdata_file
# Fetch historic trades
@ -1411,7 +1411,7 @@ class Exchange:
# Builds the interval tree (from the intermediate trade files) for a given pair
@retrier_async
async def _get_interval_tree_for_pair(self, datadir: str, pair: str) -> IntervalTree:
async def _get_interval_tree_for_pair(self, datadir: Path, pair: str) -> IntervalTree:
cached_res = self._intermediate_data_cache.get(pair, None)
if cached_res:
return cached_res
@ -1445,7 +1445,7 @@ class Exchange:
# If it exists, returns the `Interval` for the cache file. Otherwise, returns `None`.
@retrier_async
async def _is_id_cached_in_intermediate_data(
self, datadir: str, pair: str, id: int
self, datadir: Path, pair: str, id: int
) -> Optional[Interval]:
int_tree = await self._get_interval_tree_for_pair(datadir, pair)
intervals = sorted(int_tree[int(id)])
@ -1455,7 +1455,7 @@ class Exchange:
async def _async_fetch_trades(self, pair: str,
since: Optional[int] = None,
params: Optional[dict] = None,
datadir: Optional[str] = None) -> List[List]:
datadir: Optional[Path] = None) -> List[List]:
"""
Asyncronously gets trade history using fetch_trades.
Handles exchange errors, does one call to the exchange.
@ -1520,6 +1520,7 @@ class Exchange:
# If neither `from_id` nor `to_id` are cached, we cache the trades in an
# intermediate trade file.
assert datadir is not None
tmpdata_file = self._intermediate_trades_file(datadir, pair, from_id)
json_string = json.dumps(trades_list)
self._intermediate_data_cache[pair].addi(int(from_id), int(to_id), tmpdata_file)
@ -1529,6 +1530,7 @@ class Exchange:
logger.debug("Cached the intermediate trades in %s", tmpdata_file)
else:
from_id = trades_list[0][1] if trades_list else 0
assert datadir is not None
tmpdata_file = self._intermediate_trades_file(datadir, pair, from_id)
logger.debug("DID NOT CACHE the intermediate trades in %s with len=%s",
tmpdata_file, len(trades_list))
@ -1552,7 +1554,7 @@ class Exchange:
until: int,
since: Optional[int] = None,
from_id: Optional[str] = None,
datadir: Optional[str] = None) -> Tuple[str, List[List]]:
datadir: Optional[Path] = None) -> Tuple[str, List[List]]:
"""
Asyncronously gets trade history using fetch_trades
use this when exchange uses id-based iteration (check `self._trades_pagination`)
@ -1580,6 +1582,8 @@ class Exchange:
len(t), from_id)
trades.extend(t[:-1])
while True:
assert from_id is not None
assert datadir is not None
tmpdata_file = self._intermediate_trades_file(datadir, pair, from_id)
t = []
@ -1617,7 +1621,7 @@ class Exchange:
return (pair, trades)
async def _async_get_trade_history_time(
self, pair: str, until: int, since: Optional[int] = None, datadir: Optional[str] = None
self, pair: str, until: int, since: Optional[int] = None, datadir: Optional[Path] = None
) -> Tuple[str, List[List]]:
"""
Asyncronously gets trade history using fetch_trades,
@ -1650,7 +1654,7 @@ class Exchange:
since: Optional[int] = None,
until: Optional[int] = None,
from_id: Optional[str] = None,
datadir: Optional[str] = None) -> Tuple[str, List[List]]:
datadir: Optional[Path] = None) -> Tuple[str, List[List]]:
"""
Async wrapper handling downloading trades using either time or id based methods.
"""
@ -1677,7 +1681,7 @@ class Exchange:
since: Optional[int] = None,
until: Optional[int] = None,
from_id: Optional[str] = None,
datadir: Optional[str] = None) -> Tuple[str, List]:
datadir: Optional[Path] = None) -> Tuple[str, List]:
"""
Get trade history data using asyncio.
Handles all async work and returns the list of candles.