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