Le but de cette fonction est évidement de la mettre dans un timer pour que le robot puisse vérifier sa connexion tous les X temps. Si la connexion est perdu, alors il va dire sans cesse l’erreur. A un moment donnée, ça va soûler. Bon alors, faut faire un poil plus compliquer:
internetConnexionIsOK=0
def checkInternetConnexion(speak):
global internetConnexionIsOK
try:
header = {"pragma" : "no-cache"}
req = urllib2.Request("http://www.google.com", headers=header)
response=urllib2.urlopen(req,timeout=2)
if DEBUG==1:
print "Connexion internet O K"
if internetConnexionIsOK==0:
if speak==1:
talk("Ma connexion internet est correct")
else:
talk("Ma connexion internet est revenu")
internetConnexionIsOK=1
return True
except urllib2.URLError as err:
if DEBUG==1:
print "Erreur avec la connexion internet"
if internetConnexionIsOK==1:
talk("Erreur avec ma connexion internet, je ne peux plus t'écouter")
internetConnexionIsOK=0
return False
Au démarrage vous appeler la fonction comme ça:
checkInternetConnexion(1)
Ainsi il donne le résultat une fois.
Dans le timer comme ceci:
checkInternetConnexion(0)
Ici il donnera le résultat si il y a erreur et si il retrouve la connexion.
-
This reply was modified 7 years, 8 months ago by Dominique.
-
This reply was modified 7 years, 8 months ago by Dominique.