`data._symcache`, impl a summary `.__repr__()`, avoids `Asset` causality issues

qt_w_graceful_SIGINT
Tyler Goodlet 2025-09-29 15:00:14 -04:00
parent 3eb1bf8248
commit 6eced8ca67
1 changed files with 13 additions and 1 deletions

View File

@ -76,7 +76,7 @@ class SymbologyCache(Struct):
# all asset-money-systems descriptions as minimally defined by # all asset-money-systems descriptions as minimally defined by
# in `.accounting.Asset` # in `.accounting.Asset`
assets: dict[str, 'Asset'] = field(default_factory=dict) assets: dict[str, Asset] = field(default_factory=dict)
# backend-system pairs loaded in provider (schema) specific # backend-system pairs loaded in provider (schema) specific
# structs. # structs.
@ -90,6 +90,18 @@ class SymbologyCache(Struct):
# provided by the backend pkg. # provided by the backend pkg.
mktmaps: dict[str, MktPair] = field(default_factory=dict) mktmaps: dict[str, MktPair] = field(default_factory=dict)
def pformat(self) -> str:
return (
f'<{type(self).__name__}(\n'
f' .mod: {self.mod!r}\n'
f' .assets: {len(self.assets)!r}\n'
f' .pairs: {len(self.pairs)!r}\n'
f' .mktmaps: {len(self.mktmaps)!r}\n'
f')>'
)
__repr__ = pformat
def write_config(self) -> None: def write_config(self) -> None:
# put the backend's pair-struct type ref at the top # put the backend's pair-struct type ref at the top