free_kode
Авг. 2, 2011 18:42:05
messageClientFrom = ''
if messageBody == '_sms':
messageClientFrom = messageFrom
smsSend('+79506743650','testing',0)
if messageFrom == 'mrim.jabber.ru':
print'fr4', messageClientFrom
#botClient.send(xmpp.Message(messageClientFrom,messageBody))
При выполнении первого условия переменная messageClientFrom пуста. А она нужна во втором условии как ее получить?
Infernus
Авг. 2, 2011 19:30:09
Что значит “как её получить”? При выполнении условия if messageFrom == ‘mrim.jabber.ru’ print'ом будет выведено значение messageForm в случае выполнения условия messageBody == ‘_sms’, либо '' в случае невыполнения. Собственно, это очевидно. Не совсем понятно, что вы имеете в виду.
vlados
Авг. 2, 2011 19:32:26
messageClientFrom = str(messageFrom)
?
free_kode
Авг. 2, 2011 19:53:24
Первое условие по любому будет выполнено, поэтому переменная messageClientFrom точно должна иметь значение, а оказывается на оборот, во втором условии она пуста
Infernus
Авг. 2, 2011 20:02:08
Я прогнал ваш код у себя (убрав вызов smSend() и инициализировав в начале messageFrom и messageBody) — всё нормально.
Вы в какой IDE пишете? Если есть возможность, прогоните через дебаггер, установив breakpoint'ы, и посмотрите на значение переменных.
free_kode
Авг. 2, 2011 20:14:57
Все ок, я пропустил, функция вызывается несколько раз, и поэтому перменная удаляется согласно первой строке.
Придется делать ее глобальной=\