Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 3, 2009 14:58:48

komyak
От:
Зарегистрирован: 2009-01-02
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

отправка смс

SvartalF
komyak, не текст сообщения, а сам номер телефона. Вот это +7920**** у вас какого типа?
Это цифры, а если серьезно то мне кажется что encoding = “UCS2” указывает на всё сообщение. Или нужно для номера указывать кодировку отдельно? Что касается учебника, то большинство размером более мега, а такие тело читать не хочет:(



Офлайн

#2 Янв. 3, 2009 14:58:59

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

отправка смс

komyak
Проблема в том, что в этом коде очень много чего “не так” на элементарном уровне.
Если бы Вы еще и воспользовались тегом “code” это было бы заметнее. И трейсбек ошибки то же бы многое сказал.
1. Проблема с отступами.
2. Проблема с типом данных в котором представляется номер
3. try…except тут как заглушка, и не нужен. Потом будете писать “почему не отправляется а ошибки нет”
Все вместе говорит о том что про питон вы не прочитали даже элементарных вещей.

Офлайн

#3 Янв. 3, 2009 16:10:41

komyak
От:
Зарегистрирован: 2009-01-02
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

отправка смс

Ferroman
komyak
Проблема в том, что в этом коде очень много чего “не так” на элементарном уровне.Все вместе говорит о том что про питон вы не прочитали даже элементарных вещей.
Спасибо за критику:) Пошел читать…



Офлайн

#4 Янв. 3, 2009 16:22:07

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

отправка смс

komyak
Это цифры, а если серьезно то мне кажется что encoding = “UCS2” указывает на всё сообщение. Или нужно для номера указывать кодировку отдельно? Что касается учебника, то большинство размером более мега, а такие тело читать не хочет:(
messaging.sms_send(u'+7920*******',u'telefon_vkluchen', encoding = "UCS2", callback =None)
А ведь черным по белому написано, что номер- это юникодная строка… Насчет учебника, то по симбиановскому апи учебник не такой уж и большой. И с самого начала нужно изучить зотябы основы питона



Офлайн

#5 Янв. 3, 2009 19:13:36

komyak
От:
Зарегистрирован: 2009-01-02
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

отправка смс

igor.kaist
komyak
Это цифры, а если серьезно то мне кажется что encoding = “UCS2” указывает на всё сообщение. Или нужно для номера указывать кодировку отдельно? Что касается учебника, то большинство размером более мега, а такие тело читать не хочет:(
messaging.sms_send(u'+7920*******',u'telefon_vkluchen', encoding = "UCS2", callback =None)
Спасибо:)



Офлайн

#6 Янв. 4, 2009 00:19:31

komyak
От:
Зарегистрирован: 2009-01-02
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

отправка смс

Sweetlana
Подскажите пожалуйста как можно отследить доставку смс, т.е. нужно создать лог, где будет фиксироваться отправка смс (с этим проблем нет) и время получения отчета о достаке.
import messaging

def ru(x):
return x.decode('utf-8')

messaging.sms_send((u“+79**********”), ru (“ПРОБА”))

Методом проб и ошибок… А Вы говорите что это плохо. Поставил по ошибке лишнюю скобку и приходит отчет о доставке. Сначала думал что глюк, но на другом теле тоже самое. НО приходят кракозябры, а при попытке поставить кодировку вообще не отправляет. У Вас есть опыт, посмотрите как можно исправить.



Офлайн

#7 Янв. 4, 2009 09:56:58

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

отправка смс

Где это ты лишнюю скобку поставил? Просто так ее поставить невозможно. Ты не привык еще вчитываться в ошибки которые выдает питон? Или хотя бы нам показывать :)
Насчет отчета, в принципе я понял в чем проблема.. Ради бога, глянь в апи, там написано, какие еще аргументы принимает функция отправки сообщений :)



Офлайн

#8 Янв. 4, 2009 14:43:08

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

отправка смс

Вообщем чтоб тебя не мучать, вот код… отправляется и приходит нормально. И пришел к этому не методом научного тыка, который ты восхваляешь, а знаниями, что такое юникод, кодировки и чтением symbian api

import sys
sys.setdefaultencoding('utf-8')

from messaging import sms_send
sms_send('+7904*******','Как дела',encoding='UCS2',name='bla bla bla')
По поводу отчета, вероятно это случайность, ведь они зависят от сотовой компании (в моей вообще не работают :)
Вот тебе отрывок из апи, если лень самому искать:
sms_send(number, msg, )
Sends an SMS message with body text msg4 (Unicode)to telephone number number (string).
The optional parameter encoding is used to de ne encoding in the message. The parameter values
can be ‘7bit’, ‘8bit’ or ‘UCS2’.
The optional parameter callback is invoked with the current status of the send operation as param-
eter. The possible states are data items in the module messaging. Invoking another send while a
previous send request is ongoing will result in RuntimeError being raised.
If the callback is not given, the sms send function will block until the message in the queue is
either deleted or the sending has failed5.
The optional parameter name will be shown in the sent item message entry as recipient's name
after successfully sending message to number . If this parameter is not speci ed, then the recipient's
phone number will be shown in the sent item message entry.



Отредактировано (Янв. 4, 2009 14:45:13)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version