def done(*a, **k): import services.service_provider as sp opts = account.get_options() sp.get_provider_for_account(account).update_info(opts) self.last_server_order = order account.store_hash(h) self._all_acct_hash[account.id] = account._total_hash self.save_server_info()
def edit(self, acct, connect=False, parent = None): # used to take linkparent import hooks, services.service_provider as SP sp = SP.get_provider_for_account(acct) diag = hooks.first('digsby.services.edit', parent = parent, sp = sp, impl="digsby_service_editor") old_offline = acct.offline_reason acct.offline_reason = StateMixin.Reasons.NONE info = None try: res = diag.ShowModal() from wx import ID_SAVE if diag.ReturnCode == ID_SAVE: info = diag.RetrieveData() finally: diag.Destroy() if info is None: return sp.update_info(info) sp.update_components(info) if not connect: return for ctype in sp.get_component_types(): comp = sp.get_component(ctype, create = False) if comp is None: continue if comp is acct: #enable it. if hasattr(comp, 'enable'): if old_offline == StateMixin.Reasons.BAD_PASSWORD: log.info('comp.Connect() %r', comp) comp.Connect() elif not comp.enabled: log.info('comp.enable() %r', comp) comp.enable() else: #UpdateMixin if not comp.enabled: log.info('comp.enabled = True %r', comp) comp.enabled = True else: log.info('comp.Connect() %r', comp) comp.Connect() else: if comp.enabled and hasattr(comp, 'enable'): log.info('comp.enable() %r', comp) comp.enable() else: #UpdateMixin if comp.enabled: log.info('comp.Connect() %r', comp) comp.Connect()
def gmail_notify(self, _stanza): try: from services.service_provider import get_provider_for_account p = get_provider_for_account(self.protocol.account) e = p.accounts.get('email') if e and e.enabled: e.update_now() except Exception: traceback.print_exc()
def get_provider(self): return service_provider.get_provider_for_account(self)