Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 23, 2007 20:26:37

Kass
От:
Зарегистрирован: 2007-09-23
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

отправка смс

Доброго времени суток!

у меня вопросы по поводу смс. как отправлять смс на русском языке?
пробую так:

import sys
import messaging

sys.setdefaultencoding('utf-8')
messaging.sms_send(1234,“привет”)

сообщение отправляется, но приходит в виде: ?????

как считывать уже полученные смс? и определять имеют ли они статус прочитанных или нет?

———————-
аппарат нокия е61



Отредактировано (Сен. 23, 2007 20:31:53)

Офлайн

#2 Сен. 23, 2007 22:07:46

Cyxapeff
От:
Зарегистрирован: 2006-08-17
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

отправка смс

На счёт отправки. Сам ни разу не отправлял, но где-то я это видел. Помоему на dimonvideo.ru, посмотри там. А вообще скорей всего нужно поиграться с кодировками.

Как считывать написано в официальном API.

У меня например такая функция есть:

    def get_sms(self):
self.all_sms=[]
inbox_object=inbox.Inbox()
for id in inbox_object.sms_messages():
sms={}
sms['Address'] = inbox_object.address(id)
sms['Date'] = inbox_object.time(id)
sms['Content'] = inbox_object.content(id)
self.all_sms.append(sms)
return self.all_sms
Соответственно дальше с ними что хочешь, то делаешь.

Узнать прочитаны или нет, тоже очень просто. В той же API написанно, что у класса inbox есть функция unread(id). Суёшь туда id смски, она возвращает 1 или 0. Соответственно 1 непрочитанная, 0 прочитанная.



Офлайн

#3 Сен. 24, 2007 11:38:41

Kass
От:
Зарегистрирован: 2007-09-23
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

отправка смс

Спасибо за код, уже пробую.. То, что с кодировками нужно играть, я знаю, но как посмотреть доступные? И почему в utf-8 сообщение отправляется и на телефоне отображается корректно, а у адресата нет? Есть ли модули, дополняющие таблицы кодировок?



Офлайн

#4 Сен. 24, 2007 12:04:38

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

отправка смс

а может лучше переводить из кириллицы в латиницу и отправлять, а то вдруг у получающего не поддерживает русский язык?



Офлайн

#5 Сен. 24, 2007 14:08:11

Kass
От:
Зарегистрирован: 2007-09-23
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

отправка смс

Мои адресаты точно с телефонами, поддерживающими русский язык.



Офлайн

#6 Сен. 24, 2007 14:12:09

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

отправка смс

может быть u“привет” ? + в редакторе точно утф-8 юзаешь?

Офлайн

#7 Сен. 24, 2007 16:27:57

Cyxapeff
От:
Зарегистрирован: 2006-08-17
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

отправка смс

а sys.setdefaultencoding('utf-8') точно работает? Просто я всегда делал unicode(), encode()…
Кодировку я думаю стоит попробовать cp1251.

Посмотреть какие кодировки есть можно например так:

def test_encoding():
files=os.listdir("e:\\System\\Libs\\encodings") # Конечно если питон стоит на флэшке.
for name in files:
encodings.append(u""+name[:-3])
return encodings
По крайней мере это работает для 8 симбиана. Добавить кодировки - тупо взять и скопировать из компьютерного питона их. Они точно так же лежат в Libs/encodings.

Кстати я сейчас вспоминаю, раньше sms_send не поддерживал ничего кроме латиницы…. Но это было давно. Очень. А вообще как уже сказали, самый простой вариант переводить в латиницу. Тогда точно всё везде корректно будет.



Офлайн

#8 Сен. 24, 2007 17:11:20

Kass
От:
Зарегистрирован: 2007-09-23
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

отправка смс

slav0nic
может быть u“привет” ? + в редакторе точно утф-8 юзаешь?
Пробую. Если в редакторе не переключиться на утф-8, то при выполнении команды ошибка вылазит аски (128)



Офлайн

#9 Сен. 24, 2007 17:40:46

Kass
От:
Зарегистрирован: 2007-09-23
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

отправка смс

Cyxapeff
а sys.setdefaultencoding('utf-8') точно работает?…….
Попробую, sys.set… работало! Сейчас поставил питона 1.4 версию, в нем посмотрю.



Офлайн

#10 Сен. 24, 2007 20:04:20

Kass
От:
Зарегистрирован: 2007-09-23
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

отправка смс

import sys
sys.setdefaultencode('utf-8')
import messaging sms-send(''12345'',''привет'','UCS2')
из консоли отправить нормально только так получилось… А в файле ругается всё равно… В какой кодировке сохранять скрипт?



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version