Add `MarketNotFound` exc and improve binance fqme error
Add a `MarketNotFound(SymbolNotFound)` subclass for mkt-pair-specific lookup failures; use it in binance `get_mkt_info()` with a detailed expected-form hint. Deats, - add `MarketNotFound` in `brokers/_util.py`. - re-export from `brokers/__init__.py`. - binance `feed.py`: swap `SymbolNotFound` import for `MarketNotFound`; build `expected` string showing the `<pair>.<venue>.<broker>` format and suggest `".spot."` if venue is missing. (this commit msg was generated in some part by [`claude-code`][claude-code-gh]) [claude-code-gh]: https://github.com/anthropics/claude-code
parent
188ce1415e
commit
ced898f580
|
|
@ -31,6 +31,7 @@ from piker.log import (
|
|||
from ._util import (
|
||||
BrokerError,
|
||||
SymbolNotFound,
|
||||
MarketNotFound as MarketNotFound,
|
||||
NoData,
|
||||
DataUnavailable,
|
||||
DataThrottle,
|
||||
|
|
|
|||
|
|
@ -66,6 +66,10 @@ class SymbolNotFound(BrokerError):
|
|||
"Symbol not found by broker search"
|
||||
|
||||
|
||||
class MarketNotFound(SymbolNotFound):
|
||||
"Mkt-pair not found by broker search"
|
||||
|
||||
|
||||
# TODO: these should probably be moved to `.tsp/.data`?
|
||||
class NoData(BrokerError):
|
||||
'''
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ import tractor
|
|||
from piker.brokers import (
|
||||
open_cached_client,
|
||||
NoData,
|
||||
SymbolNotFound,
|
||||
MarketNotFound,
|
||||
)
|
||||
from piker._cacheables import (
|
||||
async_lifo_cache,
|
||||
|
|
@ -325,9 +325,21 @@ async def get_mkt_info(
|
|||
venue_lower: str = venue.lower()
|
||||
|
||||
if not venue:
|
||||
raise SymbolNotFound(
|
||||
if expiry:
|
||||
expiry = f'.{expiry}'
|
||||
expected: str = (
|
||||
f'{mkt_ep}'
|
||||
f'.<venue>'
|
||||
f'{expiry}'
|
||||
f'.{broker}'
|
||||
)
|
||||
raise MarketNotFound(
|
||||
f'Invalid or missing .<venue> part in fqme?\n'
|
||||
f'\n'
|
||||
f'fqme: {fqme!r}\n'
|
||||
f'expected-form>> {expected}\n'
|
||||
f'\n'
|
||||
f'Maybe you are missing a ".spot." ?\n'
|
||||
)
|
||||
|
||||
# XXX TODO: we should change the usdtm_futes name to just
|
||||
|
|
|
|||
Loading…
Reference in New Issue