20-01-2017, 11:55 AM
Buenas a tod@s:
Estoy mejorando un script que es la suma de dos scripts en una. Los dos, por separado me funcionan, pero al juntarlos hay algo que me falla. Os adjunto el script:
El caso es que con condiciones normales, tendría que entrar en el primer try y escribir los datos obtenidos. Sin embargo me va al primer except y escribe en el documentos de informes que no hay conexión con el exterior, a que es debido?
No me sale ningún comentario de error ni nada.
He hecho la prueba de coger el código y meterlo en un script de prueba para ver qué salida tenía y si me daba algun error:
Y la salida en lugar de darme un upload y otro download me salen varias lineas, no se porqué, ya que la prueba solo te saca una línea por cada uno:
Muchas gracias
Estoy mejorando un script que es la suma de dos scripts en una. Los dos, por separado me funcionan, pero al juntarlos hay algo que me falla. Os adjunto el script:
Código:
#!/usr/bin/env python
#RASPBERRY
import socket
import os
import time
data = (time.strftime("%d_%m_%y"))
hora = (time.strftime("%H:%M:%S"))
def IsInternet():
testConn = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
testConn.connect(('192.168.1.1', 80))
testConn = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
testConn.connect(('8.8.8.8', 80))
os.chdir("/home/pi/Desktop/Scripts/Informes")
os.system("speedtest >> resultat.txt")
download = os.system("grep '^D' resultat.txt")
upload = os.system("grep '^U' resultat.txt")
print ("Resultados obtenidos")
print (download)
print (upload)
os.chdir ("/home/pi/Desktop/Scripts/Informes")
archi=open('informe.txt', 'a') #Grabem els resultats obtinguts en el document
archi.write(data+' '+hora+'\n')
archi.write(' '+'\n')
archi.write(upload+'\n')
archi.write(' '+'\n')
archi.write(download+'\n')
archi.write(' '+'\n')
archi.write(' '+'\n')
archi.write(' '+'\n')
archi.close()
testConn.close()
os.system("rm resultat.txt")
except:
testConn.close()
os.chdir("/home/pi/Desktop/Scripts/Informes")
archi=open('informe.txt', 'a') #Grabem els resultats obtinguts en el document
archi.write(data+' '+hora+'\n')
archi.write(' '+'\n')
archi.write('No se ha podido realizar la prueba debido a que no hay conexion con el ISP\n')
archi.write(' '+'\n')
archi.write(' '+'\n')
archi.write(' '+'\n')
archi.close()
testConn.close()
except:
os.chdir("/home/pi/Desktop/Scripts/Informes")
archi=open('informe.txt', 'a') #Grabem els resultats obtinguts en el document
archi.write(data+' '+hora+'\n')
archi.write(' '+'\n')
archi.write('No se ha podido realizar la prueba debido a que el router esta apagado\n')
archi.write(' '+'\n')
archi.write(' '+'\n')
archi.write(' '+'\n')
archi.close()
testConn.close()
IsInternet()
El caso es que con condiciones normales, tendría que entrar en el primer try y escribir los datos obtenidos. Sin embargo me va al primer except y escribe en el documentos de informes que no hay conexión con el exterior, a que es debido?
No me sale ningún comentario de error ni nada.
He hecho la prueba de coger el código y meterlo en un script de prueba para ver qué salida tenía y si me daba algun error:
Código:
#!/usr/bin/env python
import os
os.system("speedtest >> resultat.txt")
download = os.system("grep '^D' resultat.txt")
upload = os.system("grep '^U' resultat.txt")
print (upload)
print (download)
os.system("rm resultat.txt")
Y la salida en lugar de darme un upload y otro download me salen varias lineas, no se porqué, ya que la prueba solo te saca una línea por cada uno:
Código:
Download: 30.33 Mbit/s
Download: 22.07 Mbit/s
Upload: 30.13 Mbit/s
Upload: 29.51 Mbit/s
0
0
Muchas gracias