Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Python - Come mantenere aperta la finestra dello script ?
Forum - Python - Come mantenere aperta la finestra dello script ?

Avatar
torenna (Normal User)
Newbie


Messaggi: 1
Iscritto: 05/03/2011

Segnala al moderatore
Postato alle 14:02
Sabato, 05/03/2011
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:

Codice sorgente - presumibilmente Python

  1. import e32, messaging, telephone, appuifw
  2. import sysagent, esysagent
  3.  
  4. recipient1 = appuifw.query(u"telefono 1:", "text")
  5. recipient2 = appuifw.query(u"telefono 2:", "text")
  6. recipient3 = appuifw.query(u"telefono 3:", "text")
  7. recipient4 = appuifw.query(u"telefono 4:", "text")
  8.  
  9. print "Checking power line..."
  10.  
  11. status = esysagent.ESAChargerConnected
  12.  
  13. while True:      
  14.     print "Sleeping..."  
  15.     e32.ao_sleep(10)  
  16.     print "Checking status"  
  17.     new_status = sysagent.charger_status()  
  18.     if new_status != status:
  19.             print "Powerline is change!"
  20.             if sysagent.charger_status() != esysagent.ESAChargerConnected:
  21.                 messaging.sms_send(recipient2, u"BLACKOUT LINEA ELETTRICA!")
  22.                 if recipient3 > 1:
  23.                     messaging.sms_send(recipient3, u"BLACKOUT LINEA ELETTRICA!")
  24.                 if recipient4 > 1:
  25.                     messaging.sms_send(recipient4, u"BLACKOUT LINEA ELETTRICA!")
  26.                 telephone.dial(recipient1)
  27.                 timer = e32.Ao_timer()
  28.                 timer.after(60)
  29.                 telephone.hang_up()
  30.                 status = new_status
  31.             if sysagent.charger_status() == esysagent.ESAChargerConnected:
  32.                 messaging.sms_send(recipient2, u"ELETTRICITA' TORNATA!")
  33.                 if recipient3 > 1:
  34.                     messaging.sms_send(recipient3, u"ELETTRICITA' TORNATA!")
  35.                 if recipient4 > 1:
  36.                     messaging.sms_send(recipient4, u"ELETTRICITA' TORNATA!")
  37.                 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 il 05/03/2011 alle 14:05
PM
Avatar
The Newbie (Member)
Pro


Messaggi: 175
Iscritto: 14/07/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 23:15
Sabato, 05/03/2011
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).

Vero !!! Ma purtroppo non sempre la risposta più efficace è quella più ovvia !!! Non mi intendo di programmazione, ma non avrei chiesto il Vs. aiuto se lo screen saver fosse disattivabile. Si può solo ritardare fino ad un massimo di 30 minuti. - torenna - 06/03/11 10:26
PM