def delete(self): # remove the account number from the security store security.set_password( self.guid, None ) config = Settings.config() new_accounts = [] for a in Settings.accounts(): if a['guid'] != self.guid: new_accounts.append(a) config['accounts'] = new_accounts Settings.config_save(config)
def save(self): # always save the original account number in the keystore security.set_password( self.guid, self.number or '' ) struct = { 'guid': self.guid, 'institution': self.institution.guid(), 'description': self.description, 'routing_number': self.routing_number, 'account_type': self.account_type, 'broker_id': self.broker_id } config = Settings.config() new_accounts = [] for a in Settings.accounts(): if a['guid'] != self.guid: new_accounts.append(a) new_accounts.append(struct) config['accounts'] = new_accounts Settings.config_save(config)
def from_id(guid): return Account.from_config( Settings.accounts(guid) )
def list(): return [ Account.from_config(s) for s in Settings.accounts() ]