django + xmppy: отправить сообщение двум получателям - PullRequest
0 голосов
/ 14 апреля 2010

Я пытаюсь использовать xmpppy для отправки jabber-сообщений с сайта django. Это прекрасно работает.

Однако сообщение отправляется только первым получателям в списке. Это происходит, когда я запускаю следующую функцию из django, а также если я запускаю ее из интерактивной оболочки python. Странная часть, однако, заключается в том, что если я извлеку -body- функции и запусту ее в интерактивном режиме, то все получатели (сейчас их всего 2) получат сообщение.

Кроме того, я знаю, что внутренний цикл for запускается с правильным количеством раз (2), потому что оператор print выполняется дважды и возвращает два разных идентификатора сообщения.

Функция выглядит следующим образом:

def hello_jabber(request, text):
    jid=xmpp.protocol.JID(settings.JABBER_ID)
    cl=xmpp.Client(jid.getDomain(),debug=[])
    con=cl.connect()
    auth=cl.auth(jid.getNode(),settings.JABBER_PW,resource=jid.getResource())
    for friend in settings.JABBER_FRIENDS:
        id=cl.send(xmpp.protocol.Message(friend,friend + ' is awesome:' + text))
        print 'sent message with id ' + str(id)
    cl.disconnect()
    return render_to_response('jabber/sent.htm', locals())

1 Ответ

0 голосов
/ 14 апреля 2010

Активируйте параметры отладки в xmpppy, чтобы увидеть, что делает клиент xmpp.

...