Уведомления

Группа в Telegram: @pythonsu

#1 Июль 5, 2010 06:54:35

Adis
От:
Зарегистрирован: 2010-07-05
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Автозвонилка на pys60

Здравствуйте, питонеры. Начал изучать язык недавно. Нужна была программа - автозвонилка, которая бы постоянно звонила автоматически. Каждый может использовать её как хочет, но у меня отдельное применение.

Мне нужно было: 1. Дозвониться до определенного номера. 2. По происшествии некоторого времени телефон должен был сброситься. 3. Через некоторое время должен повторить эту операцию.

п1. у меня получился без проблем.
п2. “duration” т.е. продолжительность звонка я не смог прикрутить.
п3. цикл while сделал

вот 2 кода:
1-й звонит, через 18 секунд сбрасывает трубку. Что плохо он автоматом сбрасывает, т.е. продолжительность звонка не указывается.
2-й звонит, сбрасывает тогда, когда нужно. Но интервал между операциями не указывается, автоматом. Но когда вызываемый абонент занят, то питон просто-напросто зависает. Приходиться перезагружать.

Помогите доделать скрипт до такого состояния как в ZM Dialer под WM - http://4pda.info/news/6652/
Хотя бы нужно без gui.

1-й код:

import telephone, e32, appuifw
n=appuifw.query(u"Enter number", "number")

while 1:
try:
telephone.dial(str(n))
e32.ao_sleep(5)
telephone.hang_up()
e32.ao_sleep(15)
except:
pass
2-й код:
import telephone, e32, appuifw
n=appuifw.query(u"Enter number", "number")
duration = appuifw.query(u"duration", "number")
def handle_hang_up(status):
try:
if status[0] == telephone.EStatusConnected:
e32.ao_sleep(float(duration), telephone.hang_up)
except:
pass
telephone.call_state(handle_hang_up)

while 1:
try:
telephone.dial(str(n))
e32.ao_sleep(15)
except:
pass



Офлайн

#2 Июль 5, 2010 15:21:05

R.Ll.S.h57
От:
Зарегистрирован: 2010-02-25
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

Автозвонилка на pys60

попробуй это

import telephone, e32, appuifw
number=appuifw.query(u'Enter number','text')
duration=appuifw.query(u'Duration','time')/60
interval=appuifw.query(u'Interval','time')/60

def handle_call_state(state):
if state[0]==telephone.EStatusConnected:
e32.ao_sleep(duration,telephone.hang_up)
elif state[0]==telephone.EStatusIdle:
e32.ao_sleep(interval)
telephone.dial(number)

telephone.call_state(handle_call_state)
telephone.dial(number)



Отредактировано (Июль 5, 2010 15:22:15)

Офлайн

#3 Июль 5, 2010 15:32:00

Adis
От:
Зарегистрирован: 2010-07-05
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Автозвонилка на pys60

R.Ll.S.h57
Спасибо! Щас потестю.



Офлайн

#4 Июль 5, 2010 16:22:34

Adis
От:
Зарегистрирован: 2010-07-05
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Автозвонилка на pys60

Отлично! Работает. Как-нибудь надо гуи сделать и в сис'е cделать



Офлайн

#5 Июль 6, 2010 16:37:08

Adis
От:
Зарегистрирован: 2010-07-05
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Автозвонилка на pys60

Тут одна проблемка есть, когда вызываемый абонент занят/недоступен, то телефон не перезванивает.



Офлайн

#6 Окт. 10, 2011 22:17:32

dndids
От:
Зарегистрирован: 2011-10-10
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Автозвонилка на pys60

R.Ll.S.h57
попробуй это
import telephone, e32, appuifw
number=appuifw.query(u'Enter number','text')
duration=appuifw.query(u'Duration','time')/60
interval=appuifw.query(u'Interval','time')/60

def handle_call_state(state):
if state[0]==telephone.EStatusConnected:
e32.ao_sleep(duration,telephone.hang_up)
elif state[0]==telephone.EStatusIdle:
e32.ao_sleep(interval)
telephone.dial(number)

telephone.call_state(handle_call_state)
telephone.dial(number)
Андрей, очень большая просьба к вам.

Пожалуйста, подкорректируйте эту программку под такую задачу:

1. Вводим номер куда звонить
2. Вводим кол-во циклов (раз) звонков на этот номер
3. Продолжительность звонка: здесь нужно, чтобы это было не постоянное время, чтобы оно менялось автоматически (что-то типа случайного числа). Но мы указываем интервал “от” и “до”. К примеру указываем от 03.00 минут до 15.00 минут, и как-то с применением случайного числа (но в заданном промежутке) выбирается продолжительность звонка.
4. Вводим интервал между звонками.


Заранее очень вам благодарен.



Офлайн

#7 Окт. 12, 2011 00:06:25

R.Ll.S.h57
От:
Зарегистрирован: 2010-02-25
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

Автозвонилка на pys60

Наверно будет лучше отправить по email.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version