Exemplo n.º 1
0
 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()
Exemplo n.º 2
0
 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()
Exemplo n.º 3
0
    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()
Exemplo n.º 4
0
 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()
Exemplo n.º 5
0
 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()
Exemplo n.º 6
0
 def get_provider(self):
     return service_provider.get_provider_for_account(self)
Exemplo n.º 7
0
 def get_provider(self):
     return service_provider.get_provider_for_account(self)