Форум сайта python.su
messageClientFrom = ''
if messageBody == '_sms':
messageClientFrom = messageFrom
smsSend('+79506743650','testing',0)
if messageFrom == 'mrim.jabber.ru':
print'fr4', messageClientFrom
#botClient.send(xmpp.Message(messageClientFrom,messageBody))
Офлайн
Что значит “как её получить”? При выполнении условия if messageFrom == ‘mrim.jabber.ru’ print'ом будет выведено значение messageForm в случае выполнения условия messageBody == ‘_sms’, либо '' в случае невыполнения. Собственно, это очевидно. Не совсем понятно, что вы имеете в виду.
Офлайн
messageClientFrom = str(messageFrom)
?
Офлайн
Первое условие по любому будет выполнено, поэтому переменная messageClientFrom точно должна иметь значение, а оказывается на оборот, во втором условии она пуста
Офлайн
Я прогнал ваш код у себя (убрав вызов smSend() и инициализировав в начале messageFrom и messageBody) — всё нормально.
Вы в какой IDE пишете? Если есть возможность, прогоните через дебаггер, установив breakpoint'ы, и посмотрите на значение переменных.
Отредактировано (Авг. 2, 2011 20:02:37)
Офлайн
Все ок, я пропустил, функция вызывается несколько раз, и поэтому перменная удаляется согласно первой строке.
Придется делать ее глобальной=\
Офлайн