diff --git a/piker/brokers/ib/api.py b/piker/brokers/ib/api.py index 4a63a0f1..aae8c991 100644 --- a/piker/brokers/ib/api.py +++ b/piker/brokers/ib/api.py @@ -689,13 +689,14 @@ class Client: ContFuture(symbol, exchange=exchange) ))[0] else: - con = (await self.ib.qualifyContractsAsync( + cons = (await self.ib.qualifyContractsAsync( Future( symbol, exchange=exchange, lastTradeDateOrContractMonth=expiry, ) - ))[0] + )) + con = cons[0] return con @@ -895,7 +896,6 @@ class Client: async def get_sym_details( self, fqme: str, - ) -> tuple[ Contract, ContractDetails, @@ -1534,6 +1534,7 @@ async def open_aio_client_method_relay( ) -> None: + # with tractor.devx.maybe_open_crash_handler() as _bxerr: # sync with `open_client_proxy()` caller chan.started_nowait(client) @@ -1543,7 +1544,11 @@ async def open_aio_client_method_relay( # relay all method requests to ``asyncio``-side client and deliver # back results while not chan._to_trio._closed: # <- TODO, better check like `._web_bs`? - msg: tuple[str, dict]|dict|None = await chan.get() + msg: ( + None + |tuple[str, dict] + |dict + ) = await chan.get() match msg: case None: # termination sentinel log.info('asyncio `Client` method-proxy SHUTDOWN!') diff --git a/piker/brokers/ib/symbols.py b/piker/brokers/ib/symbols.py index 04ec74e4..e9fd38a4 100644 --- a/piker/brokers/ib/symbols.py +++ b/piker/brokers/ib/symbols.py @@ -522,7 +522,11 @@ async def get_mkt_info( if atype == 'commodity': venue: str = 'cmdty' else: - venue = con.primaryExchange or con.exchange + venue: str = ( + con.primaryExchange + or + con.exchange + ) price_tick: Decimal = Decimal(str(details.minTick)) ib_min_tick_gt_2: Decimal = Decimal('0.01')