Oppure

Loading
05/03/11 13:02
torenna
Grazie a chi potrà/vorrà aiutarmi !!!

Ho trovato in rete uno script python che funge da sorta di combinatore telefonico. In sostanza, lasciando il cell (nel mio caso nokia 6670) collegato al carica batteria, lo script monitorizza il collegamento alla linea elettrica e nel momento in cui manca la corrente, lo script invia sms ed una telefonata a dei numeri preimpostati. Lo script funziona perfettamente finchè non subentra lo screen saver, che sembra "addormentare/bloccare le azioni dello script.

Ho notato che altri script python (tipo ball.py) impediscono allo screen saver di subentrare, rimanendo attivo lo script stesso.

Ora, confidando nella Vostra sapienza (purtroppo io non mi intendo di programmazione), Vi chiedo gentilemente suggerimenti o consigli per risolvere il problema, per correggere/modificare lo script originale che di seguito riporto:


import e32, messaging, telephone, appuifw
import sysagent, esysagent

recipient1 = appuifw.query(u"telefono 1:", "text")
recipient2 = appuifw.query(u"telefono 2:", "text")
recipient3 = appuifw.query(u"telefono 3:", "text")
recipient4 = appuifw.query(u"telefono 4:", "text")

print "Checking power line..."

status = esysagent.ESAChargerConnected

while True:      
    print "Sleeping..."  
    e32.ao_sleep(10)  
    print "Checking status"  
    new_status = sysagent.charger_status()  
    if new_status != status:
            print "Powerline is change!"
            if sysagent.charger_status() != esysagent.ESAChargerConnected:
                messaging.sms_send(recipient2, u"BLACKOUT LINEA ELETTRICA!")
                if recipient3 > 1: 
                    messaging.sms_send(recipient3, u"BLACKOUT LINEA ELETTRICA!")
                if recipient4 > 1:
                    messaging.sms_send(recipient4, u"BLACKOUT LINEA ELETTRICA!")
                telephone.dial(recipient1)
                timer = e32.Ao_timer()
                timer.after(60)
                telephone.hang_up()
                status = new_status
            if sysagent.charger_status() == esysagent.ESAChargerConnected: 
                messaging.sms_send(recipient2, u"ELETTRICITA' TORNATA!")
                if recipient3 > 1:
                    messaging.sms_send(recipient3, u"ELETTRICITA' TORNATA!")
                if recipient4 > 1:
                    messaging.sms_send(recipient4, u"ELETTRICITA' TORNATA!")
                status = new_status

Immagino che per Voi sarà una perdita di tempo, ma per me sarebbe molto importante riuscire a risolvere. GRAZIE
Ultima modifica effettuata da torenna 05/03/11 13:05
aaa
05/03/11 22:15
The Newbie
la risposta più semplice è quella più efficace: distattiva lo screensever ed il problema è risolto. non conviene impelagarsi nel cercare soluzioni complicate e che non ti sarebbero, tra l'altro, di nessun giovamento (tant'è vero che hai detto che non conosci quasi nulla di programmazione).
aaa