From 8d7a9fa19ec5f3551d8f5a7468d0361546923928 Mon Sep 17 00:00:00 2001 From: Tyler Goodlet Date: Thu, 18 May 2023 12:01:30 -0400 Subject: [PATCH] Make `MktPair.pair()` a meth, allow passing in a delim character --- piker/accounting/_mktinfo.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/piker/accounting/_mktinfo.py b/piker/accounting/_mktinfo.py index 73f2f49a..313fa338 100644 --- a/piker/accounting/_mktinfo.py +++ b/piker/accounting/_mktinfo.py @@ -359,8 +359,10 @@ class MktPair(Struct, frozen=True): ''' return self.pair - @property - def pair(self) -> str: + def pair( + self, + delim_char: str | None = None, + ) -> str: ''' The "endpoint asset pair key" for this market. Eg. mnq/usd or btc/usdt or xmr/btc @@ -372,7 +374,7 @@ class MktPair(Struct, frozen=True): return maybe_cons_tokens( [str(self.dst), str(self.src)], - delim_char='', + delim_char=delim_char or '', ) @property @@ -405,6 +407,7 @@ class MktPair(Struct, frozen=True): # mnq/usd.<> -> mnq.<> which is useful when # searching (legacy) stock exchanges. without_src: bool = False, + delim_char: str | None = None, ) -> str: ''' @@ -441,7 +444,12 @@ class MktPair(Struct, frozen=True): https://github.com/pikers/piker/issues/467 ''' - key: str = self.pair if not without_src else str(self.dst) + key: str = ( + self.pair(delim_char=delim_char) + if not without_src + else str(self.dst) + ) + return maybe_cons_tokens([ key, # final "pair name" (eg. qqq[/usd], btcusdt) self.venue,