В этой статье я хочу рассказать про модули питона telephone и message Модуль telephone создан для использования услуг телефона и имеет следующие функции:
dial(number) # набирает номер телефона, где number - срока вида u' 3809312345678'
hang up() # эта функция удерживает набранный вызов на линии. Если вызов был завершен интерпретатор известит вас об ошибке: SymbianError: KErrNotReady is raised
модуль messaging создан для работы с смс и имеет следующие функции:
sms send(получатель, сообщение, [encoding='7bit' , callback=None ]) # посылает смс сообщение с текстом набраном в юникоде на номер получателя (строка вида '12345678') параметр encoding определяет кодировку сообщения, и может иметь значения: '7bit' , '8bit' , или 'UCS2'''.
Параметр callback, как я понял, можно заменить функцией, которая будет выполняться после попытки отправки смс. Например:
import messaging
def cb(state): if state==messaging.ESent: #.ESent - данные, которые подтверждают, что смс было отправлено print 'message sent' if state==messaging.ESendFailed: # ESendFailed - данные, которые подтверждают, что смс отправить не получилось print 'error' messaging.sms_send('123456789', 'privet', '7bit', cb )
в модуле messaging доступны следующие данные:
ECreated # Сообщение было создано
EMovedToOutBox # сообщение было перемещено в исходящие EScheduledForSend # планируется посылка сообщения ESent # сообщение было отослано EDeleted # сообщение было удалено EScheduleFailed # ошибка при попытке отправки сообщения ESendFailed # ошибка при отправлении сообщения. Время ожидания отправки вышло. ENoServiceCentre # EFatalServerError # в случае, если сообщение отправить не удалось, интерпретатор известит пользователя об этом сообщением 'sms send failed!' , а не обычным исключением