Я был на природе, физически не мог ответить. По поводу отправки большой партии -- не знаю. По логам соединение обрубается сервером. В профиле есть контакты -- пишите, будем копать.
При отправке большой партии смс у меня выходит ошибка:
CRITICAL Traceback (most recent call last):
File "/opt/etc/sms/sender.py", line 240, in send_sms
if self.send_sms_part(phone, temp_message[:text_len]):
File "/opt/etc/sms/sender.py", line 102, in send_sms_part
if not agent.connect():
File "/opt/etc/sms/mrim.py", line 153, in connect
return self.connect_single()
File "/opt/etc/sms/mrim.py", line 211, in connect_single
data = s.recv(48)
socket.error: [Errno 131] Connection reset by peer
Обращался к уважаемому xz_kostyan, молчит. Подскажите, с чем это связано? Есть ли ограничение по количеству одновременно отправляемых смс?
Я был на природе, физически не мог ответить. По поводу отправки большой партии -- не знаю. По логам соединение обрубается сервером. В профиле есть контакты -- пишите, будем копать.
wl-500gP v1 (128 MB) + 1.9.2.7-rtn-3300
Как переписать это для питона 2.5?
Code:File "/home/ilya/scripts/sms_sender/sms/mrim.py", line 436 while self.get_bytes_from_packet(packet, 1) == b'0x00':
А что конкретно вас настораживает в этой строке? Написал сейчас для 2.6 следующее:
Вроде работает.Code:def get_bytes_from_packet(packet, num): data = packet[1][:num] packet[1] = packet[1][num:] return data packet = [[], [b'0x00', 0, 3, 4]] a = get_bytes_from_packet(packet, 1) print a if a[0] == b'0x00': print "asd"
wl-500gP v1 (128 MB) + 1.9.2.7-rtn-3300
Подскажите, как реализовать возможность повторной отправки смс при ошибке?
Например: при отсутствии соединения с интернетом пытаться посылать пока инет не появится?
- спасибо, разобрался сам.
Last edited by Texno; 04-08-2010 at 11:52.
Закинул новые файлы
чет ругается
[maxya@maxya_wi_fi root]$ sms 380xxxxxx2x проверка
Traceback (most recent call last):
File "/tmp/harddisk/www/sms/send.py", line 4, in <module>
import sender
File "/tmp/mnt/disc0_3/www/sms/sender.py", line 9, in <module>
from store import *
File "/tmp/mnt/disc0_3/www/sms/store.py", line 1
logins = ["zntu@bk.ru", "zntu@inbox.ru", "zntu@list.ru", "zp2sms@mail.ru", "zp2sms@bk.ru" ,"zp2sms@inbox.ru", "zp2sms@list.ru", "zp-sms@mail.ru", "zp-sms@bk.ru", "zp-sms@inbox.ru", "zp-sms@list.ru", "zp-sms@mail.ru", "zp-sms@bk.ru", "zp-sms@inbox.ru", "zpsms@mail.ru", "zpsms@bk.ru", "zpsms@inbox.ru", "zpsms@list.ru"]
^
IndentationError: unexpected indent
[maxya@maxya_wi_fi root]$
убрал отступы в store.py, начало отправлять
но на МТС Украина не приходят, Beeline UA нормально
Last edited by колбаскин; 05-08-2010 at 09:52.
устройство должно решать проблема - а не создавать их!
WL-500W, WRT610N v2 + WD 250Gb 2.5" Отправка смс + шаринг на openbox x730
TwonkyMedia + dbhub_0.450 + lighttpd+ssl+auth + dlengine + NOD32 update server
Огромный респект Олегу и vectorm
Доброго времени суток.
хочу чтоб при загрузке от роутера приходило смс с его ip.
Вытащить ip не проблема, например так:
ifconfig vlan1|grep inet|awk '{print $2}'|sed s/^.....//
строка работает, проверено.
но как результат в смс передать?
пробовал вот так, загнать результат в переменную чтоб потом питоновский скрипт с ней запустить:
rez=`ifconfig vlan1|grep inet|awk '{print $2}'|sed s/^.....//`
но туда почему-то непопадает ничего после grep, в чем дело непойму, мозг плавится, спасайте. Может будут альтернативные идеи отсылки текущего ip?
Спасибо. Осталось разобраться с кодировкой.
Скрипт на отсылку прописал в post-mount, при перезагрузке рутера он запускается, но смс не уходит. говорит:
При запуске того же скрипта из ssh - русскими буквами смс отправляет.Code:CRITICAL Traceback (most recent call last): File "/opt/etc/sms/sender.py", line 216, in send_sms if (len(message) > (int(text_len / (1 + self.is_utf(message))) - login_len)) or (message_num != 1): File "/opt/etc/sms/sender.py", line 190, in is_utf return len(str) != len(bytes(str, 'UTF-8')) UnicodeEncodeError: 'utf-8' codec can't encode character '\udcd0' in position 0: surrogates not allowed
локаль прописана русская:
export LANG='ru_RU.UTF-8'
export LC_ALL='ru_RU.UTF-8'
export LOGNAME='root'
То же самое со скриптом, отсылающим название скаченного торрента. Если попадается хоть одна русская буква - смс не отсылает (((
Подскажите, где копать?
Сильно не пинать, баш вижу впервые...
Итак, питон мы не знаем, поэтому смысл шаманства создать очередь смс и отправлять родным скриптом их до посинения
1-переименовать оригинальный /opt/etc/sms_py/send.py -> /opt/etc/sms_py/send2.py
2-положить новый файл создания очереди send.py
3-создать папку смс очереди: /opt/var/log/sms_queue
4-положить файл управления очередью в крон: /opt/etc/cron.1min/sms.sh
5- не забыть дать права скриптам: chmod 777 имя_файла.
, а так же добавить пользователя p2p скриптам и папке sms_queue если требуется отправка уведомлений от торрента: chown p2p имя_файла.
Впринципе формат отправки смс для приложений не изменился, но лучше отправлять сообшение в кавычках, иначе придут только первые 10 слов
Отправку по расписанию не делал, и скорее всего работать не будет.
У кого есть желание доделать/передалать - WELCOME.
Last edited by Texno; 17-08-2010 at 14:02. Reason: fix rus sms