Return accounts in `bidict`
parent
063788499a
commit
0d2cddec9a
|
@ -129,7 +129,7 @@ class Allocator(BaseModel):
|
||||||
return self.units_limit
|
return self.units_limit
|
||||||
|
|
||||||
def account_name(self) -> str:
|
def account_name(self) -> str:
|
||||||
return self.accounts.inverse[self.account]
|
return self.accounts.inverse[self.account]
|
||||||
|
|
||||||
def next_order_info(
|
def next_order_info(
|
||||||
self,
|
self,
|
||||||
|
|
|
@ -22,6 +22,7 @@ from os.path import dirname
|
||||||
import shutil
|
import shutil
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
|
from bidict import bidict
|
||||||
import toml
|
import toml
|
||||||
import click
|
import click
|
||||||
|
|
||||||
|
@ -104,10 +105,13 @@ def write(
|
||||||
return toml.dump(config, cf)
|
return toml.dump(config, cf)
|
||||||
|
|
||||||
|
|
||||||
def load_accounts() -> dict[str, Optional[str]]:
|
def load_accounts(
|
||||||
|
provider: Optional[str] = None
|
||||||
|
|
||||||
|
) -> bidict[str, Optional[str]]:
|
||||||
|
|
||||||
# our default paper engine entry
|
# our default paper engine entry
|
||||||
accounts: dict[str, Optional[str]] = {'paper': None}
|
accounts = bidict({'paper': None})
|
||||||
|
|
||||||
conf, path = load()
|
conf, path = load()
|
||||||
section = conf.get('accounts')
|
section = conf.get('accounts')
|
||||||
|
@ -116,7 +120,11 @@ def load_accounts() -> dict[str, Optional[str]]:
|
||||||
|
|
||||||
else:
|
else:
|
||||||
for brokername, account_labels in section.items():
|
for brokername, account_labels in section.items():
|
||||||
for name, value in account_labels.items():
|
if (
|
||||||
accounts[f'{brokername}.{name}'] = value
|
provider is None or
|
||||||
|
provider and brokername == provider
|
||||||
|
):
|
||||||
|
for name, value in account_labels.items():
|
||||||
|
accounts[f'{brokername}.{name}'] = value
|
||||||
|
|
||||||
return accounts
|
return accounts
|
||||||
|
|
Loading…
Reference in New Issue