def remove(self, acct): import services.service_provider as sp with sp.ServiceProviderContainer( self.profile).rebuilding() as container: log.info('removing account %r', acct) with acct.flagged(DELETING): if acct.connected and hasattr(acct, 'disable'): with traceguard: acct.disable() elif get(acct, 'enabled', False): acct.enabled = False removed = False for x in self._all_accounts.values(): try: x.accounts.remove(acct) except ValueError: continue else: break try: self.connected_accounts.remove(acct) except ValueError: #ok, so it wasn't in the list pass self.unwatch_account(acct) from gui import toast for id in getattr(acct, 'popupids', ()): toast.cancel_id(id) container.rebuild(self)
def remove(self, acct): import services.service_provider as sp with sp.ServiceProviderContainer(self.profile).rebuilding() as container: log.info('removing account %r', acct) with acct.flagged(DELETING): if acct.connected and hasattr(acct, 'disable'): with traceguard: acct.disable() elif get(acct, 'enabled', False): acct.enabled = False removed = False for x in self._all_accounts.values(): try: x.accounts.remove(acct) except ValueError: continue else: break try: self.connected_accounts.remove(acct) except ValueError: #ok, so it wasn't in the list pass self.unwatch_account(acct) from gui import toast for id in getattr(acct, 'popupids',()): toast.cancel_id(id) container.rebuild(self)
def acct_del(self, accts): ''' Network account delete. ''' for acct in accts: for account in self: if acct.id == account.id: acct2 = account break else: acct2 = None if acct2 is not None: with self.accounts_flagged(NETWORK_FLAG): if get(acct2, 'enabled', False): acct2.enabled = False self.remove(acct2) self._all_acct_hash.pop(acct2.id, None) from gui import toast for id in getattr(acct2, 'popupids', ()): toast.cancel_id(id)
def acct_del(self, accts): ''' Network account delete. ''' for acct in accts: for account in self: if acct.id == account.id: acct2 = account break else: acct2 = None if acct2 is not None: with self.accounts_flagged(NETWORK_FLAG): if get(acct2, 'enabled', False): acct2.enabled = False self.remove(acct2) self._all_acct_hash.pop(acct2.id, None) from gui import toast for id in getattr(acct2, 'popupids',()): toast.cancel_id(id)